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

  • Для добавления нового репозитория вводим в терминал команду:
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 (или gnometerminal, или mateterminal, или 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 я расскажу кое-что ещё более занятное…

Добавить комментарий