C# — Компонент Chart для MonoDevelop


Компонент Chart

02.03.2011, 22:04

Как правильно привязать компонент Chart
Программа должна динамически отображать информацию об изменении заданной характеристики.

Компонент Chart, подписывать каждый столбец по оси X
Доброго времени суток. Использую компонент Chart. Прилагаю скрин, как сделать так, что бы по оси Х.

Компонент Chart, как дать значение каждой точке данных?
У меня возникла вот такая проблема: Как видно на скрине не все точки данных имеют текст.

Куда выложить компонент Chart
Я пару лет назад написал свой компонент Chart на C# и активно использовал его в различных заказных.

chart
как добавить горизонтальную полосу прокрутки? Добавлено через 1 час 8 минут надо также как у.

Cross platform IDE for C#, F# and more

MonoDevelop enables developers to quickly write desktop and web applications on Linux, Windows and macOS. It also makes it easy for developers to port .NET applications created with Visual Studio to Linux and macOS maintaining a single code base for all platforms.

Feature Highlights

  • Multi-platform

Supports Linux, Windows and macOS.

Advanced Text Editing

Code completion support for C#, code templates, code folding.

Configurable workbench

Fully customizable window layouts, user defined key bindings, external tools

Multiple language support

C#, F#, Visual Basic .NET, Vala

Integrated Debugger

For debugging Mono and native applications


GTK# Visual Designer

Easily build GTK# applications

ASP.NET

Create web projects with full code completion support and test on XSP, the Mono web server.

Other tools

Source control, makefile integration, unit testing, packaging and deployment, localization

Kornienko Bohdan’s Blog

2011-11-05

MonoDevelop — C# создание простого текстового редактора на Gtk

Разберем некоторые строки.

Шаг 4. Запуск приложен ия.
Вот собственно и все. Жмем на клавиатуре F5, и наслаж даемся плодами наших стараний. Статья переведена и дополнена с сайта MonoDevelop.

К читателю.
Я обратил внимание, что эта страница, самая посещаемая. В видусложившихся обстоятельств буду рад отзывам об этой статье, а что более интересно — Ваши предложения на модификацию и улучшение этого текстового редактора.

WinForms Application in MonoDevelop

I just installed the new MonoDevelop Windows beta, but when trying to create a C# windows application the only option was GTK#. Since Mono supports WinForms, why is this not an option in MonoDevelop. I would like to not have the GTK# dependency in my applications.

3 Answers 3

Althought Winforms is supported in mono since version 2.0, the WinForms designer is not usable yet in MonoDevelop, which could be the reason for the lack of a WinForms project in MonoDevelop

AFAIK, you should think of mono’s support for winforms as a way to port existing winforms aplication to linux. If you want to make a cross-platform app from the ground up, you should use GTK#

Although there is no WinForms project template, you can write WinForms apps in MD on any of the platforms MD runs on.

Just create a new empty C# project and add a reference to System.Windows.Forms, then write your code, and build & run. Although there’s no Winforms designer in MD, you’ll have code completion for the Winforms types.

Sorry for raising the dead, but I tried to do this recently. While MonoDevelop doesn’t provide the GUI designer, you can indeed write Winforms by hand, as mhutch pointed out. It goes like this:

  • Create a new, empty C# project.
  • Add a reference to System.Windows.Forms
  • Create a new, empty C# file:

The contents of the file:

Expand your Form by adding components to MainForm’s constructor.


Где взять шаблоны WinForms для Monodevelop?

Собственно, а где? Есть консольный проект и Gtk, а где Winforms?

OS: Ubuntu 12.10 64-bit Monodevop v. 3.0.3.2

inb4: юзай Gtk#, пиши на С++ (и юзай Qt) и т.д.

Нужно написать приложения используя именно Winforms.

Эту ссылку я уже нагуглил, только там для Monodevelop 2.4,а тут 3.0. Да и хотелось бы просто дебку, что просто поставил и все заработало

Я тоже слышал что для MonoDevelop есть winforms designer.

Кста, winforms на Linux всё такое же кривое и тошнотворное? Или нормально выглядит? Я не говорю нативно, а хотя бы не криво.

К тому же, виндузятники часто расширяют свой виндормс костылями и коммерческими хакнутыми либками и контрольчиками. В Linux/Mono их нет и не будет. Стоит ли связываться с недо-фреймворком без расширеного набора виджетов?

Или тебе просто несколько формочек набыдлокодить, т.е. не серьезный крупный проект?

Я тоже слышал что для MonoDevelop есть winforms designer.

Да хотя бы шаблон, ибо:

вообще никак не собирается. using System.Windows.Forms и мы работать не будем.

К тому же, виндузятники часто расширяют свой виндормс костылями и коммерческими хакнутыми либками и контрольчиками. В Linux/Mono их нет и не будет. Стоит ли связываться с недо-фреймворком без расширеного набора виджетов?

Не просто фиолетово, а ультрафиолетово.

Или тебе просто несколько формочек набыдлокодить, т.е. не серьезный крупный проект?

C# — Компонент Chart для MonoDevelop

БлогNot. Chart, примеры в Studio

Chart, примеры в Studio

Компонента Chart (диаграмма) в Visual Studio довольно удобна, хотя для начинающих обычно сложно выбрать из множества её возможностей самые актуальные. К тому же, задокументировано-то всё лишь на MSDN.

Приведу несколько примеров, анализ которых поможет Вам быстро освоить основные приёмы работы с графиками и диаграммами в Visual C++. Все коды проверены в сборке Express 2010.

Пример 1. Добавим на форму компоненту Chart и выведем туда данные
Пример 2. Сделаем красивый Chart программно, можно по нажатию новой кнопки на той же форме
Пример 3. Вытащим данные из Chart в TextBox
Пример 4. Сделаем парсер выражений на основе чужого класса — это можно применить для создания полноценного «графопостроителя»

Добавим какой-нибудь не очень сложный парсер, например, класс parser.cpp от Chaos Master.

Кинем файлы parser.cpp и parser.h в папку с кодом (Имя_проекта/Имя_проекта, где находится Form1.h ). В меню скажем Проект — Существующий элемент и добавим файл .cpp (он д.б. в «Файлы исходного кода» Обозревателя решений)


Код выбранного нами парсера старый, так что нам придётся кое-что переделывать, например, строки char * в String ^ и обратно.

Добавим на форму компоненты textBox1 и label1 , напишем демо-код для применения парсера (вызывается по нажатию кнопки):

Возможно, понадобится изменить какие-то ещё мелочи, например, я в файле parser.cpp раскомментарил строку

и изменил в коде exp(1) на exp(1.) — иначе не компилировалось в Studio.

Также ясно, что в начале файла form1.h добавлена строка

Теперь в поле ввода можно писать любые допустимые парсером выражения с переменной x , например, cos(x)+1 , текущее значение переменной x из программы подставится в выражение и его результат динамически подсчитается.

На основе показанных кодов легко сделать, например, программу построения графиков с интерпретацией введённой пользователем функции. Скажем, если выражение для функции с аргументом, обозначенным x , вводится в текстовое поле textBox1 , код построения графика функции в пределах от 0 до 3.14 с шагом, равным 0.1 , будет таким:

Заменить фиксированные пределы и шаг на вводимые из формы — элементарно. Вот что вышло для теста:

04.02.2014, 17:03; рейтинг: 34053

C# — Компонент Chart для MonoDevelop

Все наслышаны о своеобразии армейского юмора. Зачем в анекдотах (а порой и в жизни) солдат заставляют чистить унитаз зубной щеткой и подметать аэродром ломом? Чтобы солдат заколебался. Почему до сих пор многие пишут прикладной несистемный софт на С++ или даже на С? А между тем, уже давно есть инструмент более подходящий для прикладного программиста — .NET.

В среде Windows технология .NET давно заняла прочные позиции и уже уверенно теснит классические WinAPI, COM и т.д. Одно из объяснений популярности .NET в том, что эта платформа помогает разрабатывать приложения за меньшее время и меньшими силами. Да и, чего уж греха таить: опыта .NET-программисту тоже нужно значительно меньше. Для того чтобы написать распределенное .NET-приложение, уже совсем не обязательно фанатично владеть сокетами транспортного уровня или DCOM, а для доступа к базе данных не нужно знать тонкостей ODBC, DAO, RDO или ADO; кроме того, платформа .NET прощает практически все ошибки начинающих включая выход за пределы массива и утечку памяти.

Цукерберг рекомендует:  Что читать, чтобы открыть IT-стартап

Конечно, такая технология не могла обойти Linux. Все дело в том, что Microsoft для более широкого распространения .NET зарегистрировала свою платформу как стандарт (ECMA 334 и 335), и, таким образом, у сторонних разработчиков появился шанс сделать свою альтернативную свободную версию .NET. Имена этих разработчиков, дерзнувших бросить вызов аж целой корпорации Microsoft — Miguel de Icaza, Paolo Molaro и Dietmar Maurer, а созданная ими по стандартам .NET платформа называется Mono. Надо сказать, сообщество OpenSource широко поддержало идею создания свободной .NET- реализации для Unix- и Unix-like-систем, и ее разработка идет достаточно бурно. Главные силы разработчиков Mono брошены на реализацию грамотно оптимизированного движка для just-in-time-компиляции, а также библиотек классов для поддержки технологий ASP.NET WebForms, WebServices, ADO.NET, Windows.Forms плюс специфических Mono-, Unix- и Gnome-библиотек. За несколько лет, потраченных на разработку Mono, платформа сильно «повзрослела» и уже пригодна к использованию. Как показатель: на Западе уже вышло несколько печатных книг по Mono, а всем известная фирма Novell позиционирует MonoDevelop чуть ли не как главную среду разработки для своего дистрибутива — SUSE Linux. Тем не менее, популярность Mono среди линуксоидов не так велика — нет разъяснительной работы, как сказали бы лет 30 назад. Зачастую технологии .NET приписывают недостатки других похожих платформ (например, Java), при этом даже не удосужившись хотя бы прочитать ее описание. Поэтому в двух словах о грехах, в которых .NET неповинна. Во-первых, несмотря на то, что .NET — виртуальная машина, это не интерпретатор, как Java. Байт-код программы не интерпретируется, а компилируется в настоящий процессорный код, причем только один раз. То есть, к примеру, циклы в .NET будут выполняться с той же скоростью, что и в C. Во-вторых, сборщик мусора работает достаточно быстро. Например, в .NET от Microsoft сборка мусора в поколении 0 (локальные переменные и служебные объекты, время жизни которых очень мало) происходит с той же скоростью, что и обработка обычной страничной ошибки памяти. В Mono, правда, все не так идеально, но разница сильно не ощущается. И в-третьих, .NET вполне способен корректно взаимодействовать с существующим кодом.

Теперь, чтобы убедить вас в преимуществах C# и Mono перед классическим C++ в разработке пользовательских утилит, я покажу, насколько это просто делается, и расскажу об основных отличиях Microsoft .NET и Mono. Для начала нужно раздобыть Mono. Версии этой платформы в дистрибутивах Linux сильно устаревшие. Например, в SUSE 9.3 поставляется Mono 1.1.4, в то время как уже готов релиз 1.1.8.3. Поэтому советую зайти на сайт и скачать последнюю версию дистрибутива Mono, которая занимает около 50 Мб. Устанавливать Mono лучше в текстовом режиме на случай ошибки графики (бывали прецеденты), и, естественно, под root’ом:

#./mono-1.1.8.3_0-installer.bin –mode text –prefix /usr/

Если у вас уже есть опыт программирования под .NET для Windows, то сообщу хорошую новость: сильно переучиваться не придется. А если переходить на альтернативные технологии совсем уж не хочется — то и не обязательно. Простой пример: в Mono есть поддержка даже пространства имен System.Windows.Forms, что позволяет писать .NET-приложения с интерфейсом пользователя как в Windows. Правда, нормально такое приложение будет работать тоже — только под Windows, потому что в Linux библиотека Windows.Forms написана поверху wineLIB (Wine — эмулятор Windows в Unix- и Unix- like-системах. Вместе с некоторыми дополнениями он неплохо запускает 3D’шные игрушки). Мои тесты в «полевых» условиях показали: не слишком навороченные приложения Windows.Forms, скомпилированные в Mono, работают одинаково хорошо как в Linux в Mono, так и в Windows в MS .NET. Некоторые нарекания вызывает пока компонент TextBox — его, кстати, сейчас очень активно дорабатывают. Вторая хорошая новость: если вы уж слишком привыкли к Microsoft Visual Studio .NET, то вам будет приятно узнать, что IDE есть и для Mono — MonoDevelop.

MonoDevelop во многом настолько похож на Visual Studio .NET, что даже возникают мысли о плагиате. Посудите сами: в MonoDevelop все как в Visual Studio .NET начиная от интерфейса и структуры каталогов и заканчивая ошибками самой вижуалки. Если вам приходилось плотно работать с Visual Studio .NET, вы наверняка знаете о строчке [assembly: AssemblyVersion(«1.0.*»)] в файле AssemblyInfo.cs — ее в каждом новом проекте приходится поправлять руками так, чтобы компилятор автоматически не наращивал номер билда, т.к. перестанут работать ссылки на эту сборку. И эта строчка в наилучшем виде тоже присутствует в аналогичном файле MonoDevelop’а. Список поддерживаемых языков у MonoDevelop’а чуть шире, чем ожидалось. Кроме ставших уже классическими C#, VB.NET, Java и ILAsm, присутствуют еще две вариации на тему «а не написать ли нам свой язык вроде C#, заодно ILAsm выучим»: Boo и Nemerle. Список дополнительных библиотек тоже шире, чем у Visual Studio.NET, если, конечно, не учитывать, что в некоторых стандартных для .NET библиотеках в Mono все еще много «заглушек» и обещаний все доделать. Зато «в нагрузку» к стандартам добавили дополнительные библиотеки Mono для работы с XML, библиотеки математики, алгоритмов аутентификации и криптографии. Вместо чуждых Windows.Forms есть альтернативные библиотеки Gnome: графические компоненты Gtk#, графический движок Gdk и Art на замену GDI+ и еще кое-какие примочки для совместимости с Gnome. Движок для компонента webbrowser’а, естественно, от Mozilla (Gecko). А Novell расщедрилась на поддержку аж целой LDAP, что наверняка непосильным грузом легло на бюджет этого IT-гиганта. Соответствующая реклама по поводу библиотек Novell по всем правилам хорошего бизнеса лежит на сайт кроме того, по этой же тематике организованы платные интернет-курсы, тренинги и семинары:-). Лично для меня пределом мечтаний было узнать, что в Mono уже должным образом работают технологии .NET Remoting (технология работы с распределенными объектами), ADO.NET (доступ к базам данных) и ASP.NET (web-сервисы). Мои впечатления: очень даже юзабильно! Тесты показали, что .NET Remoting работает так же как и в Microsoft .NET(!); ADO.NET поддерживает широкий набор баз данных (Firebird Interbase, IBM DB2, MS SQL, ODBC, SQL Lite, Oracle, MySQl, PostgreSQL, Sybase и др.) и тоже нареканий не вызвал, если не считать того, что мой MySQL 4.1.10a оказался для Mono слишком старым. А ASP.NET прекрасен в своей новой ипостаси и обладает тем же функционалом, что его Microsoft’овский близнец за исключением специфических Win32-вызовов. К слову, ASP.NET особо «заточен» под XSP (легковесный web-server, написанный на C# и идеально работающий даже под MS .NET) и Apache.

Теперь, чтобы не быть голословным, приведу пример разработки простого Mono-приложения с пользовательским интерфейсом. Вместе с Mono для разработки интерфейсов лучше использовать дизайнер Glade — так будет быстрее. Итак, создаем в MonoDevelop новый C#-проект с поддержкой Glade# 2.0 — назовем его test. После того, как мастер solution’ов завершит работу, проект вполне готов и может быть запущен кнопкой F5. Теперь запустим Glade, откроем в нем форму проекта test.glade и вставим туда компоненты GtkFixed, GtkButton и GtkEntry.

Библиотека Gtk, впрочем, как и Qt, немного отличается от стандартных графических компонентов Windows. Одно из таких отличий состоит в использовании специальных невизуальных компонентов — выравнивателей (layout). Их задача — выстроить дочерние объекты в указанных пропорциях. То есть интерфейс будет автоматически подгонять все свои пропорции под изменяющиеся размеры. Если такое поведение интерфейса не годится, то используют фиксированный выравниватель — GtkFixed — который не тронет дочерних компонентов и будет вести себя так, будто его нет и вовсе. А поскольку в Gtk совсем без выравнивателя дочерних компонентов в окно не вставить, то в примере я предложил именно GtkFixed. Что до GtkButton и GtkEntry — эти компоненты ни у кого не вызовут вопросов. Давайте теперь создадим обработчик события clicked для кнопки. Для этого в дизайнере Glade в окне свойств нужно выбрать вкладку Сигналы и в поле Сигнал, воспользовавшись кнопкой обзора, выбрать clicked. В поле Обработчик появится имя будущего метода — on_button1_clicked. Нажмите кнопку Добавить и сохраните проект. Осталось написать код для этого обработчика:

private void on_button1_clicked (object sender, EventArgs a)
<
entry1.Text = «Hello, World!»;
>

Цукерберг рекомендует:  Bot - Бот врач, разработка.

Работает все следующим образом. Созданный нами пользовательский интерфейс Glade сохранил в формате XML, а объект Glade.XML в конструкторе нашего класса загрузил его и проинициализировал. Единственное — для того, чтобы сделать доступными объекты окна, нужно их объявить как члены класса с атрибутом [Glade.WidgetAttribute], именем и типом, как они были в Glade. Обработчики событий тоже подгружаются автоматически, так что достаточно только написать их в стандартном виде с именем, которое было присвоено в дизайнере.

Пример для ASP.NET еще проще. Чтобы захостить любую ASP.NET-страницу, нужно просто запустить xsp в каталоге, где она находится. Если нужна вся мощь Apache — то к вашим услугам mod_mono — правда, с ним придется повозиться.

Теперь о недостатках. Один такой действительно имеется: дебагер mdb. Он выполнен в стиле gdb, и работать с ним просто отвратительно, количество фатальных ошибок в mdb тоже слишком велико.

Осваиваем Monodevelop. Часть I: установка и базовое знакомство с настройками

В этой статье речь пойдет опять про настройку IDE и на этот раз я покажу наилучшее решение из всех найденных мной для D …

Как известно, D – достаточно молодой язык программирования и, соответственно, пока он не имеет собственной интегрированной среды разработки ( Coedit не в счет, его пока сложно назвать средой разработки, да и на полноценный редактор он как-то не тянет), что еще также связано с довольно-таки любопытным мнением разработчиков самого языка, согласно которому для начала работы с языком хватит компилятора и обычного текстового редактора (с учетом того, что у каждого программиста есть свой излюбленный текстовый редактор да и большинство современных программ для редактирования исходного кода, как правило, уже имеют встроенную подсветку синтаксиса D и автодополнение в его зачаточной форме. Кстати, по поводу любимого текстового редактора: Bagomot ’у более симпатичен Sublime Text 3, ну а меня, как ни странно, больше радует gedit ).


Несмотря на это, сейчас активно развиваются сторонние дополнения к универсальным средам разработки, таким как Visual Studio или Eclipse , и которые добавляют некоторую поддержку D в эти монструозные программные пакеты. Как и всегда, без дегтя меда не бывает, и если вы работаете в нескольких операционных системах, а хочется унифицированного и простого вида привычного рабочего пространства, то с этим придется жестоко проститься и придется содержать разные IDE , что нисколько не радует…

Однако, как уже было упомянуто выше, я нашел хорошее решение, которое позволяет не задумываться о том, где и с чем работаешь, и такого рода решением является Monodevelop (под Windows она называется Xamarin Studio , хотя под Linux все то же самое) с расширением MonoD .

Единственным минусом данного продукта является то, что, в основном, это дело писалось под . NET и требует наличия установленного . NET Framework 4.5 (пользователи Windows 7/8/10 могут не париться – он уже по идее предустановлен) или Mono Runtime .

Для того, чтобы воспользоваться всеми прелестями MonoD , нужно сначала поставить Monodevelop (или Xamarin Studio ), причем, установка для разных операционных систем выглядит по-разному и что самое интересное, больше всех повезло пользователям Linux (собственно, как обычно…).

Linux

Установка всего комплекта для Linux (считаем, что у нас Linux , основанный на Debian ) выглядит так:

В стандартном репозитории уже есть пакет monodevelop , вот только одна проблема: это устаревший пакет, что означает ручное добавление нового репозитория.

  • Для добавления нового репозитория вводим в терминал команду:
  • После чего выкачиваем публичный ключ для нового репозитория введя следующее:
  • Добавляем скачанный ключ:
  • Обновляем список репозиториев:
  • После чего ставим кастомный пакет с monodevelop-opt:

На этом установка пакета кончается и я рекомендую установить следующие пакеты, если они у вас по какой-то причине отсутствуют: libgnomeui , xterm (или gnome — terminal , или mate — terminal , или konsole – эмулятор терминала на ваш вкус).

Windows

Установка под Windows гораздо проще, однако, некоторые шаги (особенно при отсутствии .NET Framework на компьютере) могут повергнуть в шок даже опытных пользователей:

  • Заходим на сайт monodevelop.com и нажимаем кнопку Download.
  • После этого, произойдет переход в один из подразделов сайта (сайт на английском, предупреждаю сразу), который обычно соответствует текущей платформе компьютера (отображает соответствующую для текущей операционной системы пакет под загрузку).


Нас интересует тот подраздел, который помечен логотипом Windows.

  • Если не установлен .NET Framework, то устанавливаем его перейдя по ссылке справа от надписи .NET Framework 4.5, действуя по инструкции, на которую должна перенаправить ссылка.
  • Скачиваем в обязательном порядке файл GTK# for .NET 2.12.25, кликнув по надписи Download справа от названия.
  • Устанавливаем GTK#, запустив скачанный установщик.

Внимание! Во время установки несколько раз промелькнет окно командной строки, пожалуйста, не трогайте это окно и ни в коем случае не пытайтесь его закрыть!

  • После этого жмем кнопку Download Xamarin Studio и (если, вам также повезет) заполняем анкету, вводя свои «личные» данные (не волнуйтесь, это никак не отразится на вашем счете, если вы, конечно, не захотите сами стать их клиентом…).
  • Устанавливаем Xamarin Studio, запустив выкачанный установщик.

MonoD

  • После установки самой IDE, ставим дополнение MonoD (установка одинакова для всех платформ):
  • Открываем Monodevelop и переходим в меню Утилиты (или в англоязычной версии Tools):
  • И выбираем пункт Менеджер дополнений (Addin Manager):
  • После чего переходим во вкладку Галерея (Gallery) и открываем выпадающий список, который озаглавлен как Репозиторий (Repository):

Нас интересует пункт списка Управление репозиториями… (Manage Repositories…), который мы и выбираем.

  • Открывается небольшое окно, в котором нужно будет нажать кнопку Добавить (Add):
  • И опять появляется окошко:

в котором мы выбираем переключатель с надписью Зарегистрировать глобальный репозиторий (Register global repository), а в текстовое поле ниже вводим вот этот адрес — http://mono-d.alexanderbothe.com/repo/ .

  • Жмем кнопку Ок, после чего автоматически произойдет обновление списков репозиториев.

Если, по какой-то причине, это не произошло, то в окне управления репозиториями нужно галочкой пометить указанный чуть выше адрес репозитория MonoD, после чего закрыв это окно, перейти во вкладку Галерея и нажать кнопку Обновить, находящуюся справа от списка репозиториев.

  • Далее нас интересует изображенное ниже окно и вкладка Установленные (Installed), в которой в разделе Языковые привязки (Language bindings) выбираем D Language bindings и нажимаем кнопку Установить (Install):


Вот и все, MonoD установлена и можно переходить к настройкам среды.

Обзор возможностей настройки

Заходим в меню Утилиты и ищем пункт Настройки… (Options…), если такого пункта в меню Утилиты не окажется, то в меню Правка (Edit) ищем пункт Настройки… (Preferences…), и начинаем подгонять под себя.

Внимание! Все, что будет показано далее сделано на английской версии среды, так как сама среда еще не до конца русифицирована.

Теперь я покажу некоторые весьма любопытные пункты для настроек, которые сгруппированны по разделам, находящимся внутри окна с настройками.

Раздел Environment

  • Author Information. Заполняется по желанию, можно свое имя, электронный адрес, название организации, информацию о товарных знаках и авторских правах, и на мой взгляд, это самая бесполезная настройка из всех:
  • Language. Ну это пункт понятен… Рекомендую поставить английский:
  • Key bindings. Всевозможные настройки клавиатурных комбинаций, причем есть и такая вещь как схема клавиатурных комбинаций:

Схемы клавиатурных комбинаций позволяют настроить привязки клавиш также, как они настроены, например, в Visual Studio, что может представлять интерес для некоторых программистов. Однако, на мой взгляд, самая интересная вещь – это пункт, который появляется в случае наличия одного и того же действия на разные комбинации, и он называется View Conflicts. Эта своеобразная опция покажет комбинации с конфликтами и поможет их устранить, а полезной она становится из-за того, что очень часто обычные комбинации в Monodevelop начинают по непонятной причине отказывать – и, если вы наблюдаете такое у себя, то стоит воспользоваться View Conflicts и устранить конфликты привязок.

  • Fonts. Настройка шрифтов, как для интерфейса, так и для редактора. Рекомендую поставить какой-нибудь шрифт для программистов, наподобие шрифта monofur, в будущем, это позволит легко отличать некоторые двусмысленно выглядящие символы (такие как 0 и О, например) по минимуму напрягая глаза и мозг:
  • D. Самый увлекательный для нас пункт. Рекомендую выставить все настройки на вкладке Editing & Completion так, как указано на вот этом скриншоте:

Будет включено максимальное автодополнение (дополнение по ключевым словам, именам модулей, автоподхват функций из других модулей, использование автодополнения для dub, автодополнения по текущему контексту и многое-многое другое), а также будет включено автоматическое сокрытие deprecated элементов стандартной библиотеки и сторонних модулей и будет доступен автоматический анализ шаблонов и микшинов.

Цукерберг рекомендует:  Интерактивное меню на CSS3 и jQuery

Установки во вкладке Document Outline:

Такого рода установки приведут к тому, что во время автодополнения будут выскакивать подсказки по параметрам функций, отображаться базовые типы данных и в то же время, серым фоном будут показываться непубличные поля/методы.

Остальные настройки в подпунктах советую не трогать, если вы не изучили опций компилятора dmd (и не знаете, что с ними делать) или не используете какой-то другой компилятор, кроме стандартного (я, например, одно время использовал LDC на Linux, а вот сейчас пакет LDC из стандартного репозитория не поставишь) – во всяком случае, на обеих операционных системах, у меня стоят стандартные опции и этого вполне хватает.

Раздел Projects

  • Build. Общие настройки сборочного процесса, выставляем как на скриншоте:

И получаем следующие возможности: автоматическая сборка перед выполнением/запуском юнит-тестов, автоматическое сохранение изменений во время запуска/сборки, детализированный вывод информации об ошибках, автоматическая подсветка красным строки с ошибкой плюс во всплывающем «пузыре» будет информация о том, что произошло (иными словами, подсветка ошибок с информацией о них из первых рук).

Раздел Text Editor

  • General. Выставляем почти все опции:

В итоге, получаем свертку комментариев по умолчанию, свертку регионов кода и запросы на конвертацию символа строки (если возникнет такая потребность).

  • Markers and Rulers. Настройки всякого рода маркеров, пометок и прочих штук, помогающих ориентироваться в коде. Настроить все это можно примерно так:

В сухом остатке имеем: отображение номеров строк, подчеркивание ошибок (отмечаются прямо на ходу: набрали что-то не то по мнению анализатора – и это сразу же будет подчеркнуто), подсветку совпадения скобок, ссылок на идентификаторы, а кроме того имеем отображение линий индента (т.е. графическое отображение уровня отступа). Самые нижние опции делают жизнь еще приятнее – они отключают визуализацию измененных строк и отображения невидимых символов (пробелы, переводы строк, концы файлов и т.д).

  • Behavior. Настройка поведения редактора, однозначно, один из самых занятных способов упростить себе жизнь при работе со своим и чужим кодом: если вам надоело постоянно форматировать код, то эти настройки предназначены для вас:

Включается бесценная возможность автоформатирования кода при его сохранении, умная расстановка отступов, также можно поставить автодополнение по скобкам и по специфическому регистру.

  • Code Completion. Однозначно интересная возможность настройки. Если выставить все настройки вот так:

То получиться следующее: в автодополнении будут показываться и импорты, члены классов будут показываться в расширенном виде и дополнение по ним также будет расширено.

Кроме того, в списке под автодополнение (список возникающий по нажатию клавиши Tab) будет как минимум 10 строк (т.е. увеличен объем списка).

  • Syntax Highlighting. Пункт для истинных эстетов. Если вы подумали, что тут можно слегка оттюнинговать встроенную подсветку синтаксиса, то вот вам облом – в этом пункте максимум, что вы сможете сделать, это изменение цветовую схему подсветки и все:
  • Source Analysis. Включаем анализ исходного кода на лету:

Остальное вы можете рассмотреть и настроить сами и на этом, собственно говоря, добавление возможностей закончилось и настало время убрать все то, что мешает.

Чистка среды от ненужных элементов

Прежде всего, нас интересует D и только D , соответственно, надо отключить специфические расширения, которые загружают среду, не давая никакого полезного эффекта:

Внимание! Серыми цветом на скриншотах обозначены те расширения, которые необходимо отключить (у меня они уже отключены).


  • Поддержка языков программирования
  • Средства веб-разработки – выключаем все пункты
  • Инструменты самой IDE
  • Импорты/экспорты – выключаем все пункты
  • Средства контроля версий
  • Средства развертки приложений – выключаем все пункты
  • Средства мобильной разработки — выключаем все пункты
  • Средства тестирования

На этом ознакомление со средой окончено, а в следующей статье об освоении MonoD я расскажу кое-что ещё более занятное…

Программное средство – Monodevelop: как установить и запустить систему, а также другие полезные советы

Разработка программ требует много знаний и времени, но при этом широко востребована и неплохо оплачивается. Свободная среда разработки даст возможность попробовать себя в роли программиста или поможет с практикой уже опытным специалистам. MonoDevelop – это один из таких инструментов, позволяющих создавать собственное ПО.

Для чего предназначена система?

Свободная система программных средств MonoDevelop предназначена для написания настольных и веб-приложений C#, C, C++, Vala, CIL, Visual Basic .NET. Nemerie, Boo, Java. Будучи портом SharpDevelop на Mono/GTK+ проект начал активно развиваться и сильно отошёл от своих первых версий.

Основные возможности:

  • подсветка синтаксиса;
  • автоматическое дополнение кода;
  • выделение блоков кода с возможностью сворачивания/разворачивания;
  • поддержка плагинов;
  • браузер классов;
  • встроенный отладчик;
  • визуальный конструктор форм (GTK#);
  • модульное тестирование;
  • множество стандартных шаблонов;
  • автоматическое создание бинарных пакетов и архивов по завершению компиляции.

Как загрузить и установить?

Загружать MonoDevelop рекомендуется с официального сайта разработчика в разделе «Download», где пользователю доступны на выбор три платформы:

Кликаем на нужную нам и следуем инструкции (раздел на английском языке!). Владельцам Linux доступны репозитории Mono для каждой версии операционной системы, которые позволяют установить пакет MonoDevelop. Для работы с macOS достаточно загрузить последнюю доступную Visual Studio.

Установка на Windows

Для работы MonoDevelop необходимо сначала подготовиться:

  1. Устанавливаем свежую версию .NET Framework.
  2. Заходим на официальный сайт MonoDevelop в раздел «Download».
  3. Выбираем ОС.
  4. Нажимаем кнопку скачки и переходим на сайт проекта Mono.
  5. Загружаем и устанавливаем файлы GTK# и Mono на компьютер.
  6. Скачиваем Visual Studio и Xamarin от Microsoft, которые понадобятся для этой среды разработки.

Теперь необходимо вручную собрать MonoDevelop из исходника. Для этого и понадобится как минимум Visual Studio 2020:

  1. git clone https://github.com/mono/monodevelop —recursive -j8;
  2. открываем main/Main.sln;
  3. выбираем конфигурацию DebugWin32 и платформу AnyCPU (это важно!);
  4. получаем готовое ПО.

Как запустить программу?

Запуск программы происходит либо через сторонние универсальные программы для разработки, где MonoDevelop используется в качестве инструмента написания кода, либо из установленного вручную билда. В случае с MSBuild, например, процесс происходит напрямую с помощью скрипта winbuild.bat (запускаем monodevelop\main\build\bin\monodevelop.exe).

Возможные проблемы

Что делать, если система не запускается? Существует множество возможных причин, которые помешают запуску MonoDevelop, и каждая из них требует индивидуального подхода. Если выяснить проблему невозможно, то лучше всего:

  • полностью удалить MonoDevelop и установить на чистую ОС;
  • проверить наличие всех необходимых программ и обновлений;
  • переустановить утилиту, которая связана с MonoDevelop (Unity или Visual Studio, к примеру).

Процесс работы с языком C# сложен и доступен не для многих. Тем не менее, если вам приглянулась идея научиться писать код, то открытая среда разработки MonoDevelop станет отличным решением, особенно для владельцев Linux и macOS.

Приложение WinForms в MonoDevelop

Я только что установил новую бета-версию Windows MonoDevelop, но при попытке создать приложение Windows C# единственным вариантом был GTK #. Поскольку Mono поддерживает WinForms, почему это не вариант в MonoDevelop. Я бы не хотел иметь зависимость GTK # в моих приложениях.

Создан 09 сен. 09 2009-09-09 21:08:49 Adam Haile

Да, но это не главное, я просто хочу использовать MonoDevelop . для целого ряда причин. – Adam Haile 09 сен. 09 2009-09-09 21:46:10

3 ответа

Althought Winforms поддерживается в моно, начиная с версии 2.0, конструктор WinForms не может использоваться еще в MonoDevelop, что может быть причиной отсутствия проекта WinForms в MonoDevelop

AFAIK, вы должен думать о поддержке mono winforms как способе переноса существующих приложений winforms в linux. Если вы хотите сделать кросс-платформенное приложение с нуля, вы должны использовать GTK #

Создан 09 сен. 09 2009-09-09 22:19:48 Ricardo Amores

Несмотря на отсутствие шаблона проекта WinForms, вы можете указать приложения WinForms в MD на любой из платформ MD.

Просто создайте новый пустой проект C# и добавьте ссылку на System.Windows.Forms, затем напишите свой код и запустите команду &. Хотя в MD нет дизайнера Winforms, у вас будет завершение кода для типов Winforms.

Создан 09 сен. 09 2009-09-09 22:27:08 Mikayla Hutchinson

Мы используем пространство имен System.Windows.Forms, поскольку у нас уже есть наши пользовательские интерфейсы. Для дополнительной работы в пользовательском интерфейсе мы используем SharpDevelop, а затем кодируем в MD. – IAbstract 22 фев. 10 2010-02-22 03:38:54

Извините за поднятие мертвых, но я попытался это сделать недавно. Хотя MonoDevelop не предоставляет дизайнера GUI, вы действительно можете написать Winforms вручную, как указал mhutch. Это выглядит так:

  • Создайте новый пустой проект C#.
  • Добавить ссылку на System.Windows.Forms
  • Создать новый пустой C# файл:

Раскрыть вашу форму путем добавления компонентов в MainForm лет конструктор.

Создан 08 июл. 13 2013-07-08 23:44:24 alexchandel

Вы также должны добавить ссылку на Систему – Gabriel Hautclocq 12 сен. 17 2020-09-12 19:15:38

Понравилась статья? Поделиться с друзьями:
Все языки программирования для начинающих