Статьи

Працюємо з Mono: Частина 2. Можливості середовища програмування MonoDevelop

  1. Серія контенту:
  2. Цей контент є частиною серії: Працюємо з Mono
  3. Установка MonoDevelop 2.4
  4. Малюнок 1. Додавання сховища зі MonoDevelop
  5. Зовнішній вигляд середовища розробки
  6. Малюнок 2. GUI Вікно MonoDevelop 2.4
  7. Малюнок 3. Вказівка ​​на місце розташування панелі інструментів
  8. Малюнок 4. Перший етап створення проекту в MonoDevelop
  9. Малюнок 5. Другий етап створення проекту в MonoDevelop
  10. Лістинг 1. Шаблон коду, згенерований MonoDevelop
  11. налаштування проекту
  12. Малюнок 6. Основні настройки рішення
  13. Малюнок 7. Вказівка ​​інформації про автора
  14. Малюнок 8. Налаштування конфігурації для збірки
  15. Малюнок 9. Налаштування параметрів запуску рішення
  16. Малюнок 10. Налаштування стилю форматування вихідного коду
  17. Малюнок 11. Вибір заголовка для файлів вихідного коду
  18. Малюнок 12. Вікно для настройки властивостей проекту
  19. Малюнок 13. Налаштування команд, що викликаються по ходу роботи над проектом
  20. Малюнок 15. Налаштування параметрів збірки проекту
  21. Малюнок 16. Налаштування компілятора в MonoDevelop IDE
  22. Малюнок 17. Вказівка ​​параметрів виконуваного модуля проекту
  23. Малюнок 18. Налаштування параметрів запуску проекту
  24. Малюнок 19. Результат запуску додатка
  25. Малюнок 20. Контекстне меню для складання пакетів додатки
  26. Налагодження c MonoDevelop IDE
  27. Лістинг 2. Приклад програми з помилкою
  28. Малюнок 21. Режим налагодження в MonoDevelop
  29. Малюнок 22. Кнопка Step Over
  30. Інтеграція MonoDevelop з Subversion
  31. Малюнок 24. Контекстне меню системи контролю версій
  32. Малюнок 25. Вікно налаштувань сховища
  33. Малюнок 26. Сховище успішно доданий в MonoDevelop IDE
  34. Малюнок 27. Повний список команд для роботи з SVN
  35. Малюнок 28. Відмінності в локальному коді і в репозиторії
  36. Малюнок 29. Робота зі змінами в середовищі MonoDevelop
  37. Ресурси для скачування

Працюємо з Mono

Серія контенту:

Цей контент є частиною # з серії # статей: Працюємо з Mono

https://www.ibm.com/developerworks/ru/library/?series_title_by=**auto**

Слідкуйте за виходом нових статей цієї серії.

Цей контент є частиною серії: Працюємо з Mono

Слідкуйте за виходом нових статей цієї серії.

MonoDevelop IDE ( http://monodevelop.com ) - вільна мультиплатформенна середовище розробки, призначена для створення додатків на мовах C #, C, C ++, Java, Visual Basic.NET, CIL, Nemerle, Boo. На даний момент середовище є частиною проекту Mono ( http://mono-project.com ) І є однією з найкращих IDE для розробки проектів на базі Mono.

MonoDevelop володіє всіма основними можливостями, необхідними для сучасної інтегрованої середовища розробки:

  • настроюється підсвічування синтаксису;
  • автоматичне доповнення коду;
  • виділення блоків коду з можливістю їх згортання / розгортання;
  • інтелектуальна робота з відступами в коді;
  • можливості рефакторинга (перейменування класів і методів, автоматична реалізація інтерфейсів в похідних класах);
  • зручна навігація по коду (навігація по класах, методам, властивостям);
  • візуальний редактор форм для проектів на Gtk #;
  • створення кількох розкладок інтерфейсу і перемикання між ними;
  • безліч стандартних шаблонів проектів;
  • можливість автоматичного створення бінарних пакетів і архівів після компіляції вихідного коду;
  • робота з базами даних;
  • створення додатків з GUI, що підтримує кілька мов;
  • інтеграція з Subversion для управління вихідним кодом;
  • підтримка NUnit для створення Unit-тестів;
  • автоматичне створення документації;
  • розширення можливостей за рахунок доповнень і зовнішніх інструментів;
  • можливість інтеграції з Microsoft Visual Studio і .NET Framework (в середовищі Microsoft Windows).

Установка MonoDevelop 2.4

Так як недавно MonoDevelop була оновлена ​​до версії 2.4, в штатних репозиторіях більшості дистрибутивів міститься попередня версія середовища. Рекомендації по установці нової версії можна знайти на сторінці завантаження офіційного сайту . У цій статті буде розглянуто варіант установки (або поновлення попередньої версії) середовища програмування MonoDevelop 2.4 з стороннього сховища на Ubuntu 10.04.

Необхідно відкрити менеджер пакетів (Система -> Адміністрування -> Менеджер пакетів Synaptic) і вибрати в його меню Налаштування опцію Репозиторії ... Потім на вкладці Інше ПЗ в вікні натиснути кнопку Додати ... та ввести в якості джерела наступну адресу:

deb http://badgerports.org lucid main

Малюнок 1. Додавання сховища зі MonoDevelop
Працюємо з Mono   Серія контенту:   Цей контент є частиною # з серії # статей: Працюємо з Mono   https://www

Для підтвердження автентичності сховища необхідно завантажити GPG-ключ (його можна знайти за цією адресою http://badgerports.org/directhex.ppa.asc ), Потім на вкладці Аутентификация натиснути кнопку Імпортувати файл ключа ... і вибрати завантажений ключ. Після цього можна оновити вміст репозиторіїв в Synaptic і встановити (або оновити, якщо вже був встановлений) пакет monodevelop. Також рекомендується оновити пакет mono-runtime до версії 2.6.7 за допомогою цього ж сховища.

Зовнішній вигляд середовища розробки

GUI MonoDevelop схожий на GUI інших середовищ розробки, тому для програміста зазвичай не складає труднощів освоїтися в ньому.

Малюнок 2. GUI Вікно MonoDevelop 2.4

У вікні Solution (Рішення) відображається список проектів, що відносяться до активного вирішення (solution - в термінології Mono позначає групу проектів). У вікні Classes (Класи) можна виконувати пошук по класах і подвійним клацанням по імені класу чи методу переходити до фрагменту коду, де цей клас або метод описується. Вікно Files (Файли) використовується для навігації по файлам проектів. У вікні Properties (Властивості) налаштовуються властивості активного в даний момент елемента (клас, вікно, метод, проект). У вікно Message Log (Журнал Повідомлень) виводяться повідомлення, попередження і помилки, що виникають в процесі розробки і компіляції проекту.

Програміст може налаштувати кількість, розташування і поведінку вікон під конкретну задачу або стиль розробки. Для збільшення робочого простору можна розмістити вікна зліва і праворуч від вікна текстового редактора у вигляді вертикальних вкладок, що випливають при наведенні миші.

На малюнку 3 показаний механізм підсвічування нового місця розташування панелі інструментів при її переміщенні.

Малюнок 3. Вказівка ​​на місце розташування панелі інструментів

Створення нового проекту

Процес створення нового проекту досить простий і складається з декількох дій. Для створення проекту потрібно вибрати пункт меню File (Файл) -> New (Новий) -> Solution ... (Рішення) або натиснути клавіші Ctrl + Shift + N.

Малюнок 4. Перший етап створення проекту в MonoDevelop

На першому етапі встановлюється мову і тип проекту. У статті створюється простий консольний проект (Console Project) на мові C #. При створенні проекту необхідно вказати його ім'я і каталог для зберігання файлів проекту.

Наступні дії можуть відрізнятися в залежності від обраного типу проекту.

Малюнок 5. Другий етап створення проекту в MonoDevelop

На другому етапі необхідно встановити додаткові параметри проекту:

  1. Packaging (компоновка). Ця опція додає в проект можливість створення бінарних пакетів для поширення програми. На малюнку 5 обрані всі можливі варіанти - tar-архів і бінарні архіви для Linux і Microsoft Windows.
  2. Unix Integration (інтеграція з Unix-системами). Дана опція створює сценарії запуску і файли .desktop для інтеграції в системи меню та панелі запуску середовищ GNOME і KDE.
  3. GTK # Support (підтримка GTK #). Ця опція додає в додаток підтримку GTK # та дозволяє вибрати версію GTK #, яка буде використовуватися для створення вікон. Для консольного застосування ця функціональність не потрібно.

За замовчуванням MonoDevelop створює шаблон коду, що відповідає обраній конфігурації проекту. Для консольного проекту це буде код, що виводить в консоль фразу "Hello World!", Як показано в лістингу 1.

Лістинг 1. Шаблон коду, згенерований MonoDevelop

using System; namespace MonoDevHello {class MainClass {public static void Main (string [] args) {Console.WriteLine ( "Hello World!"); }}}

налаштування проекту

Після створення проекту можна переходити до детальної налаштування його властивостей. Також можна налаштувати глобальні властивості всього рішення, вибравши в меню пункт Project (Проект) -> Solution Properties ... (Налаштування Рішення ...)

На вкладці General (Загальні) -> Main Settings (Головні Налаштування) у вікні налаштувань рішення встановлюються версія, опис і кореневої каталог рішення.

Малюнок 6. Основні настройки рішення

На вкладці General (Загальні) -> Author Information (Інформація про автора) вказується інформація про автора програми.

Малюнок 7. Вказівка ​​інформації про автора

На вкладці Build (Збірка) -> Configurations (Зміни) описуються різні варіанти конфігурацій для збірки рішення.

Малюнок 8. Налаштування конфігурації для збірки

Вкладка Run (Виконання) -> Startup Project (запускається Проект) дозволяє вибрати проект, який буде запускатися при виклику команди Run (Виконати). Це властивість потрібно, коли рішення буде складатися з декількох проектів, серед яких буде основний проект і кілька бібліотек.

Малюнок 9. Налаштування параметрів запуску рішення

На вкладці Source Code (Початковий Код) -> Code formatting (Форматування коду) -> C # source code (вихідний код C #) ... налаштовується стиль форматування вихідного коду, включаючи автоматичне формування відступів або розстановку дужок. Доступні правила форматування представлені у вигляді дерева, і при виборі правила можна не тільки включити / вимкнути його, але і подивитися результат його застосування.

Малюнок 10. Налаштування стилю форматування вихідного коду

На вкладці Source Code (Початковий Код) -> Standard Header (Стандартний Заголовок) можна ввести текст заголовка або вибрати тип ліцензії, які будуть додаватися в початок файлу вихідного коду при його створенні.

Малюнок 11. Вибір заголовка для файлів вихідного коду

Поряд з настройками, що відносяться до вирішення, існують настройки для окремих проектів, що входять в рішення. Для роботи з цими настройками в меню Project (Project) необхідно вибрати <Ім'я проекту> Properties (властивості проекту <Ім'я проекту>).

На вкладці General -> Main Settings у вікні дублюється інформація відповідної вкладки з налаштуваннями рішення. Тут можна ввести номер версії і опис проекту, причому номер версії можна імпортувати з налаштувань рішення.

Малюнок 12. Вікно для настройки властивостей проекту

На вкладці General -> Custom Commands (Спеціальні Команди) задаються команди, які викликаються на певних етапах життєвого циклу проекту (збірка (Build), виконання (Execute) і т.д.). Команди, можуть викликатися як при настанні події, так і до або після події. Також в MonoDevelop передбачені призначені для користувача команди (Custom Commands), які викликаються розробником в певні моменти. Момент, коли необхідно викликати команду, можна вибрати зі списку, зображеного на малюнку 14.

Малюнок 13. Налаштування команд, що викликаються по ходу роботи над проектом
Малюнок 14. Події, для яких можна встановити виклик команди

Вкладка Build (Збірка) -> General (Загальні) використовується, щоб встановити версію середовища виконання, для якої розробляється проект, спосіб збирання (виконуваний файл, бібліотека і т.д.) і основний клас проекту (Main Class). Там же можна вказати шлях до піктограми проекту для Win32-додатків (Win32 Icon), кодування для компілятора (Compiler Code Page), версію мови C # і можливість використання небезпечного (unsafe) коду.

Малюнок 15. Налаштування параметрів збірки проекту

На вкладці Build -> Compiler (Компілятор) задаються параметри компіляції для кожної з певних конфігурацій проекту. Нижче наведено опис доступних параметрів компілятора:

  • Generate overflow checks - генерація додаткового коду для перевірки на переповнення.
  • Enable optimizations - включення оптимізації коду (рекомендується для конфігурацій, які використовуються для випуску остаточної версії проекту).
  • Emit Debug Information - додавання в код налагоджувальної інформації (рекомендується для налагоджувальних конфігурацій).
  • Generate XML Documentation - генерація XML-документації з коду.
  • Define Symbols - визначення директив. Використовується для умовної компіляції.
  • Platform Target - платформа, для якої буде генеруватися код.
  • Warning Level - настройка рівня виведених попереджень, щоб ігнорувати незначні відхилення і звертати увагу тільки на серйозні.
  • Ignore Warnings - список попереджень, які слід ігнорувати.
  • Threat warnings as errors - розглядати попередження як помилки, щоб заборонити збірку виконуваного модуля при наявності попереджень в коді.
  • Additional arguments - додаткові опції компілятора.
Малюнок 16. Налаштування компілятора в MonoDevelop IDE

На вкладці Build -> Output (вихідні артефакти) задається шлях і ім'я файлу, що виконується, одержуваного після складання.

Малюнок 17. Вказівка ​​параметрів виконуваного модуля проекту

Вкладка Run -> General відповідає за настройку параметрів для запуску проекту безпосередньо в середовищі MonoDevelop. В цьому вікні можна встановити для проекту параметри командного рядка і додаткові змінні оточення, а також дозволити запуск проекту в окремому вікні консолі.

Малюнок 18. Налаштування параметрів запуску проекту

Збірка і запуск програми

Збірка додатки здійснюється за допомогою команди меню Build (збірка) -> Rebuild All (пересобран все), а запуск зібраного застосування командою меню Run -> Run.

Малюнок 19. Результат запуску додатка

Для створення вихідних файлів проекту у вікні Solution Explorer необхідно натиснути правою кнопкою миші по проекту Packages (Пакети) і вибрати пункт Build, як показано на малюнку 20.

Малюнок 20. Контекстне меню для складання пакетів додатки

У разі успішної збірки буду створені такі файли:

  • MonoDevHello-linux.tar.gz - містить виконувані файли і сценарій запуску для Linux.
  • MonoDevHello-windows.tar.gz - містить виконувані файли для Microsoft Windows.
  • monodevhello-0.1.tar.gz - містить вихідний код і configure-сценарії для збірки за допомогою make.

У разі виникнення помилок при складанні пакетів слід проаналізувати висновок у вікні Package Output.

Налагодження c MonoDevelop IDE

Налагодження додатків в MonoDevelop IDE мало чим відрізняється від налагодження в будь-який інший середовищі розробки. Для знайомства з процесом налагодження можна використовувати програму з лістингу 2, в яку навмисно внесена помилка.

Лістинг 2. Приклад програми з помилкою

using System; namespace MonoDevHello {class MainClass {public static void Main (string [] args) {int [] a; a = new int [5]; for (int i = 0; i <= 5; i ++) {a [i] = i; }}}}

Як видно, цикл for реалізований так, що на останній ітерації проводиться запис за межі масиву a. Для налагодження необхідно поставити крапку зупинки на рядку a [i] = i і запустити програму командою Run -> Debug. Точка зупину спрацює, а середовище Mono Develop автоматично переведе інтерфейс користувача в режим налагодження.

Малюнок 21. Режим налагодження в MonoDevelop

У вікні Locals можна побачити вміст локальних змінних. На момент початку налагодження значення i дорівнює 0. Якщо за допомогою кнопки Step Over (переступити) виконати кілька ітерацій циклу, то значення змінної i буде змінюватися. Коли воно досягне 5, буде викинуто виключення.

Малюнок 22. Кнопка Step Over
Малюнок 23. Висновок виключення в режимі налагодження

Середа MonoDevelop дозволяє використовувати практично всі прийоми, що застосовуються в процесі налагодження, наприклад, відслідковувати значення в осередках пам'яті. Також в MonoDevelop є підтримка умовних точок зупину і можливість записувати відео у журнал виведення замість зупинки програми. Додатково можна налаштувати відладчик так, щоб він повідомляв про винятки певного типу, навіть якщо вони вже були оброблені за допомогою конструкції try-catch.

Інтеграція MonoDevelop з Subversion

Для інтеграції MonoDevelop з Subversion необхідно розширення monodevelop-versioncontrol. Якщо це розширення не встановлено, то можна завантажити його за допомогою команди:

apt-get install monodevelop-versioncontrol

Тепер в контекстному меню, що викликається при натисканні правою кнопкою миші по вирішенню у вікні Solution, повинен з'явитися пункт Version Control (Система контролю версій) -> Publish (опублікувати).

Малюнок 24. Контекстне меню системи контролю версій

При виборі цього пункту відкриється вікно з вкладкою Registered Repositories (зареєстровані репозиторії). Для підключення до локального сховища, розташованого в каталозі / home / heaven / subversion, необхідно натиснути кнопку Add (Додати) і налаштувати параметри сховища, як показано на малюнку 25.

Малюнок 25. Вікно налаштувань сховища

Для додавання сховища необхідно вказати ім'я (Name), протокол (Protocol) і шлях (Path) до сховища з урахуванням використовуваного протоколу. Після цього необхідно натиснути кнопку OK, щоб переглянути, що репозиторій додався без помилок.

Малюнок 26. Сховище успішно доданий в MonoDevelop IDE

Ще одне натискання на кнопку OK завантажить рішення в репозиторій і після цього в контекстному меню з'являться нові команди для операцій над вихідним кодом.

Малюнок 27. Повний список команд для роботи з SVN

Для перевірки інтеграції з системою контролю версій можна виправити помилку в коді з лістингу 2. Для цього рядок:

for (int i = 0; i <= 5; i ++)

необхідно замінити на рядок

for (int i = 0; i <= 4; i ++)

Тепер при виборі в контекстному меню пункту Version Control -> Review Changes (Перегляд Змін) на екран будуть виведені відмінності в коді.

Малюнок 28. Відмінності в локальному коді і в репозиторії

За допомогою кнопок угорі вікна або команд контекстного меню Version Control можна завантажити зміни в репозиторій, відкотити їх назад або зробити патч (Create Patch) для попередньої версії коду.

Малюнок 29. Робота зі змінами в середовищі MonoDevelop

висновок

Середа MonoDevelop володіє величезними можливостями, і для того, щоб розглянути їх усі, буде потрібно не серія з декількох статей, а повноцінна книга. Однак навіть такий невеликий огляд дозволяє зробити висновок, що знайомство з MonoDevelop IDE буде вкрай корисно для будь-якого розробника мультиплатформенного ПО. А саме середовище розробки MonoDevelop зможе допомогти програмісту в виконанні всіх стандартних операцій, що входять в цикл розробки ПЗ.

Ресурси для скачування

Схожі теми

Підпишіть мене на повідомлення до коментарів

Com/developerworks/ru/library/?

Новости