Geany интегрированная среда разработки

On: 18 октября 2010 г.

IDE — Integrated Development Environment, «интегрированная среда разработки»

С 2010 года я снова вернулся к программированию и так как мой выбор пал на Python. Вопрос в чем писать текст программ встал ребром.

Критика IDLE

Первое время меня в цело устраивал стандартный IDLE, но со временем я понял что для моих задач он не удобен. На тот момент у меня стоял Debian lenny и в стандартных репозиториях была проблема с отображением текста в IDLE (так как он использует Tk то с русским текстом были сплошные проблемы). IDLE написан на питоне и мне может по незнанию или неумению не удавалась при написании программ с выходом делать так что бы процедура выхода не вырубала и сам IDLE.



Время шло и я начал перебирать кучу программ интегрированной среды разработки. Основной критикой многочисленных проектов была их громоздкость. Вспоминается "Война текстовых редакторов" в ходе которой известный emacs называли целой операционной системой. Увы это так. В гонке за место под солнцем текстовые редакторы прям обвешиваются горой различной функциональности. Это для профессионалов наверное и полезно, а меня начинало запутывать. Те цели которые ставились перед моим ПО не требовали многофункциональности текстового редактора. Что же для меня требовалось так это "спокойный" текстовый редактор. Поиски по сети не помогли. А IDLE начинал бесить так как мои потребности росли как и рас объем текста программ. копаясь по дискам с репозиториями Debian lenny я в один прекрасный день установил Geany.

Принцип KISS (Keep It Simple, Stupid)

Буквально сразу Geany расположил меня к себе. Это оказался простенький (и еще довольно скромный к ресурсам) проект. Минуту, две поколдовав над настройками я получил минималистский, не отвлекающий интерфейс. Вскоре оказалось что его возможности не таки и минималистский:
 
  • подсветка синтаксиса множества языков программирования, скриптинга, разметки и даже запросов: ASM, C, C++, CAML, CSS, D, Diff, Fortran, Haskell, X(HTML), Java(Script), LaTeX, Lua, Make, Pascal, Perl, PHP, Python, Ruby, Sh, SQL, TCL, XML и др.;
  • автоматическое определение конструкций кода, которые можно сворачивать (code folding);
  • автодополнение известных конструкций, таких как if, for, while и т.д.;
  • автодополнение тегов XML и HTML;
  • автоматическое определение и создание отступов;
  • списки символов функций, классов, объектов;
  • поддержка построения проекта (compile, link, run);
  • встроенный эмулятор терминала посредством VTE;
  • дополнительные возможности: диалоговое окно выбора цвета, поиск, настройка «горячих» клавиш, поиск;
  • поддержка встроенных и созданных пользователем шаблонов;
  • менеджер проектов (обеспечивает лёгкую работу с несколькими работами);
  • интерфейс для написания модулей к Geany.

Когда то в рассылках Debian один человек сказал что Geany для людей которые еще не отошли от виндовса. Мне кажитья это не так. Geany удобен и прост. Я не создаю сверхсложного ПО. Мои потребности не велики и мне не к чему использовать перегружённые функциональностью текстовые редакторы.

Подсветка синтаксиса

Основное что нужно для программиста это подсветка синтаксиса. У Geany она не родная а основана на движке Scintilla. Для изминения цветов подсветки синтаксисса, как и для мого чего друго необходимо править текстовые файлы.

Файлы настроек:
подробнее о файлах настроек и их формате смотрите здесь

filetypes.common - Содержит настройку подсветки синтаксиса для всех не описаных форматов.
filetypes.* - Содержит настройку для определенного типа файла (где * это название типа файла. Например python, php, ruby)
filetype_extensions.conf - Проводит связь между типом файла и его расширением
snippets.conf - содержит описание логических конструкций (таких как условия, исключения, циклы) для различных языков.

Формат файлов с описанием подсветки синтаксиса очень простой:

например default=0xC5CAB7;0x242424;false;false

Сначала задается вид текста, а потом после равно описывается цвет переднего плана, цвет заднего плана. После этих цветов идут два булевых значения, которые в различных ситуациях могут выполнять различные функции. Например:

По умолчанию в Geany текущая строка имеет свой цвет заднего фона. Для меня это неудобно. Что бы выключить ее отображение я в файле 
filetypes.common поправил такую строчку:

current_line=0x0;0x2D2D2D;true,false

Собственно я установил значение последнего логического параметра false. Что позволило скрыть текущую строку. В других вариантах эти два параметра могут указывать на включение/выключение полужирного шрифта и курсива.

На официальном сайте достаточно хорошо описано как правильно редактировать файлы конфигураций. Хоть и на английском языке но достаточно понятно.
Еще хочу сказать то что Geany существует и на Windows платформах. Этот факт для меня оказался очень приятным так как на работе я работаю за Windows машиной (политика компании). И что еще больше привязало меня к Geany так это наличие переносной (Portable) версии программы.
Недавно наткнулся на статью в интернете о Geany и решил здесть обзор и у себя в блоге. Возможно читая эти строки вы все еще не определились с средой разработки либо вас не устраивает ваша текущая. Я рекомендую посмотреть в сторону Geany. Вы не пожелеете.

P.S. Моя тема подсветки синтаксиса Мох

3 коммент. on "Geany интегрированная среда разработки"

Анонимный комментирует...

Полезный мануал. Большое спасибо! А на оф. сайте нихрена непонял- было бы на Эмперанто... ;)

CryptSpirit комментирует...

Да нормально там все. Есть расово верный "0.19 Manual in HTML format (Russian)" http://www.geany.org/manual/0.19_ru/index.html. Там все по полочкам))) За отзыв спасибо.

Анонимный комментирует...

А как на Windows установить эту тему Mox?