How to install monodevelop in windows

It’s relatively easy to get started working on MonoDevelop, but this page aims to make it easier to get off the ground.

It’s relatively easy to get started working on MonoDevelop, but this page aims to make it easier to get off the ground.

If you’re on macOS you can also try @dvdsgl’s one step install: https://github.com/dvdsgl/monodevelop-build

Setting up an Environment

MonoDevelop doesn’t require the very latest version of Mono, and we specifically depend on GTK+ features no later that GTK+ 2.8. That said, using a recent release of Mono and Gtk# is likely to improve reliability and performance.

It is strongly recommended to use a packaged release of Mono for your distribution, as it is very easy to mix up conflicting Mono versions if installing from source. If you must install Mono from source, set up a Parallel Mono Environment.

Make sure you have git installed, and check MonoDevelop out from GitHub.

Building and Installing

Open a terminal in the top-level MonoDevelop directory, and run

OS specific instruction

./configure 

It may fail because of missing dependencies; install them, and re-run the command.

There are a number of other profiles that can be used; the command

./configure --help 

explains how they are used.

make 

to build MonoDevelop.

Since you’re working on the development version, it’s best not to install it; instead, you can use

make run 

to run it without installing it.

It is a good idea to keep separate copies for using and developing.

If you do install MonoDevelop, it is best to run the current version uninstalled, to make sure it works, before installing it.

Working on MonoDevelop

Before hacking on MonoDevelop, don’t be afraid to ask questions on monodevelop chat. People will be able to give you pointer about where to start and how best to approach the problems you are trying to solve. There are also number of Articles on the MonoDevelop architecture and on implementing addins.

The MonoDevelop solution can be opened from MonoDevelop, and builds can be preformed from within MonoDevelop. Indeed, some parts of the build (such as Stetic code generation) must be performed within MD. However, the modified MonoDevelop must be run from a terminal with

make run 

You should follow our contribution rules, for code style and licensing.

After you have made your changes, commit them with a descriptive message and open a pull request on GitHub.

Troubleshooting the Build

If the MonoDevelop build fails, there are a number of possible fixes.

If the build commands failed, try a clean rebuild:

make clean; make 

and fix any that are in conflict, or delete any that have changed unnecessarily.

If the build system failed, check for changed files and re-run the configure script.

NOTICE

This project has not been built nor maintained since January 2020 and has been archived

If you are interested in working on the project, even when archived you can still create a fork of it.

MonoDevelop is a full-featured integrated development environment (IDE) for mono using Gtk#.

The MonoDevelop core is also the foundation for Visual Studio for Mac.
Feel free to file bugs against Visual Studio for Mac here as well.

See http://www.monodevelop.com for more info.

Directory organization

There are two main directories:

  • main : The core MonoDevelop assemblies and add-ins (all in a single
    tarball/package).
  • extras : Additional add-ins (each add-in has its own
    tarball/package).

Compiling

If you are building from Git, make sure that you initialize the submodules
that are part of this repository by executing:
git submodule update —init —recursive

If you are running a parallel mono installation, make sure to run all the following steps
while having sourced your mono installation script. (source path/to/my-environment-script)
See: http://www.mono-project.com/Parallel_Mono_Environments

To compile execute:
./configure ; make

There are two variables you can set when running configure :

  • The install prefix: —prefix=/path/to/prefix
    • To install with the rest of the assemblies, use:
      —prefix=»pkg-config —variable=prefix mono»
    • stable : builds the MonoDevelop core and some stable extra add-ins.
    • core : builds the MonoDevelop core only.
    • all : builds everything
    • mac : builds for Mac OS X

    PS: You can also create your own profile by adding a file to the profiles directory containing a list of the directories to build.

    Disclaimer: Please be aware that the ‘extras/JavaBinding’ and ‘extras/ValaBinding’ packages do not currently work. When prompted or by manually selecting them during the ‘./configure —select’ step, make sure they stay deselected. (deselected by default)

    Running

    You can run MonoDevelop from the build directory by executing:
    make run

    Debugging

    You can debug MonoDevelop using Visual Studio (on Windows or macOS) with the
    main/Main.sln solution. Use the DebugWin32 configuration on Windows and the
    DebugMac configuration on macOS.

    Installing (Optional)

    You can install MonoDevelop by running:
    make install

    Bear in mind that if you are installing under a custom prefix, you may need to modify your /etc/ld.so.conf or LD_LIBRARY_PATH to ensure that any required native libraries are found correctly.

    (It’s possible that you need to install for your locale to be
    correctly set.)

    Packaging for OS X

    To package MonoDevelop for OS X in a convenient MonoDevelop.app
    file, just do this after MonoDevelop has finished building (with
    make ): cd main/build/MacOSX ; make app .
    You can run MonoDevelop: open MonoDevelop.app or build dmg package: ./make-dmg-bundle.sh

    Dependencies

    Special Environment Variables

    BUILD_REVISION

    If this environment variable exists we assume we are compiling inside wrench. We use this to enable raygun only for 'release' builds and not for normal developer builds compiled on a dev machine with 'make && make run'. 

    Known Problems

    "The type `GLib.IIcon' is defined in an assembly that is not referenced" 

    This happens when you accidentally installed gtk-sharp3 instead of the 2.12.x branch version.
    Make sure to ‘make uninstall’ or otherwise remove the gtk-sharp3 version and install the older one.

    xbuild may still cache a reference to assemblies that you may have accidentally installed into your mono installation,
    like the gtk-sharp3 as described before. You can delete the cache in $HOME/.config/xbuild/pkgconfig-cache-2.xml

    References

    MonoDevelop website

    Gnome Human Interface Guidelines (HIG)

    freedesktop.org standards

    Discussion, Bugs, Patches

    monodevelop-list@lists.ximian.com (questions and discussion)

    monodevelop-patches-list@lists.ximian.com (track commits to MonoDevelop)

    monodevelop-bugs@lists.ximian.com (track MonoDevelop bugzilla component)

    https://github.com/mono/monodevelop/issues/new (submit bugs and patches here)

    В этой статье речь пойдет опять про настройку 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 , вот только одна проблема: это устаревший пакет, что означает ручное добавление нового репозитория.

    • Для добавления нового репозитория вводим в терминал команду:
    sudo sh -c "echo 'deb http://download.opensuse.org/repositories/home:/tpokorra:/mono/xUbuntu_14.04/ /' >> /etc/apt/sources.list.d/mono.list"
    • После чего выкачиваем публичный ключ для нового репозитория введя следующее:
    wget http://download.opensuse.org/repositories/home:/tpokorra:/mono/xUbuntu_14.04/Release.key
    • Добавляем скачанный ключ:
    sudo apt-key add - < Release.key
    • Обновляем список репозиториев:
    sudo apt-get update
    • После чего ставим кастомный пакет с monodevelop-opt:
    sudo apt-get install 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 элементов стандартной библиотеки и сторонних модулей и будет доступен автоматический анализ шаблонов и микшинов.

    Установки во вкладке 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 я расскажу кое-что ещё более занятное…

    1 Answer

    According to the Installation Guide (https://www.mono-project.com/docs/getting-started/install/windows/), the command prompt is correct.

    The installer creates a “Open Mono Command Prompt” shortcut under the
    Mono program group in the start menu. This shortcut starts a command
    shell with Mono-relevant path information already configured, which
    means all the Mono tools “just work”.

    If you want the MonoDevelop IDE, you should download it from the MonoDevelop IDE website as described in the MonoDevelop IDE section of the link you provided.

    answered Nov 13, 2018 at 13:16

    8,822 1 gold badge 31 silver badges 29 bronze badges

    Mono and MonoDevelop are alternative C# programming compiler and IDE. They are now owned by microsoft, but at one point was independant.

    Contents

    • 1 Windows Install
    • 2 Other downloads required
    • 3 Mac OSX
    • 4 Linux
    • 5 Get the files
      • 5.1 Manual Install

      Windows Install

      You will need to download the windows version from this link, it is now called Xamarin Studio:

      MonoDevelop Download Page

      Below is a screenshot of the files you are looking for:

      Monolink.png

      Make sure you download the .NET Framework 4.5 & GTK# for .NET from the links on the above page before installation.

      Other downloads required

      When you try to install MonoDevelop / Xamarin Studio you will get error messages concerning MSBuildTools, firstly for the 2013 version and then for the 2015 version. In order to successfully install you can download and install the files below first.

      MSBuildTools 2013 — MSBuildTools 2013 Download Page

      MSBuildTools 2015 — MSBuildTools 2015 Download Page

      Mac OSX

      You will need to download the Mac version from this link, it is now called Xamarin Studio:

      MonoDevelop Download Page

      Make sure you also download the GTK+ package listed under Mac.

      Linux

      Get the files

      You will need to download the Linux version from this link, it is now called Xamarin Studio:

      MonoDevelop Download Page

      You will also need to install FlatPak.

      Manual Install

      You could alternatively manually install it using the command:

      sudo apt-get install monodevelop