Допилить свой Gedit

Вот так получилось, что мне вновь понадобилось слепить среду разработки (IDE == Integrated Development Environment). Только на этот раз я решил помучить текстовый редактор Gedit.

И вот, что у меня получилось сотвроить:

gedit

Теперь расскажу что тут и зачем. На первый взгляд получившееся IDE походит на другие IDE. Здесь так же имеется файловая структура проекта — левая часть окна; само окно редактирования и в нижней части окна расположена консоль. Меню и строку состояния — как элементы, присущие любой более менее сложной программе, — я просто не упоминаю (и без моих упоминаний понятно что к чему).

Линукс силен своей консолью. Огромное количество консольных команд с модифицирующими их опциями, параметрами и ключами представляет собой мощнейший инструмент управления системой. кроме того, этот набор имеет свойство со временем только увеличиваться. С одной строны этот инструмент реально мощный и чрезвычайно гибкий. А с другой стороны — он пугает и одновременно восхищает своей силой и сложностью, точно так же как приборная панель современного самолета. (Я, правда, видел их только на фотографиях!)

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

Если нужно какое-то действие (или функция), то для него нужно завести соответствующий пункт меню. Некторые программы предоставляют эту возможность, некоторые — нет. Даже, если программа пердоставляет такую возможность, то все равно новый (пользовательский) пункт меню — это какое-то фиксированное действие — оно не позволит гибкую модификцию при кликании мышкой. Да и просто невозможно завести 100500 пунктов меню!

Другое дело — командная строка в консоли! Единственным ограничителем в ваших действиях является ваш личный мозг! Да, не возможно запомнить 100500 разных действий. Но те действия, который вам нужны, их можно положить в скрипт или записать в обычный текстовый файл. А можно еще проще — на бумажку. Не важно как. Важно, что ваш выбор ничем не ограничен.

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

Фокус с редактором Gedit заключается в том, что после небольшой его «доработки» у него появится в нижней части консольное окно.

Понятно, что теперь можно давать в этом окне консольные команды и добиваться результатов. Вопрос — а, собственно, какие команды можно там задвать? Ответ поражает своей хамовитостью — любые!

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

Что еще? — А еще: работа с системой версионного контроля Git проекта — выполнение коммитов, слияние веток и т.д. Еще? — Получение помощи по хэдерным файлам и библиотекам, которые идут в составе компилятора.

Можно еще дальше перечислять, но и без того понятно, что все те действия или та функциональность, которая нужна для работы в проекте — это все осуществляется с помощью консоли. Самое забавное то, что люди неправильно понимают эту возможность. Они обычно думают, что все эти команды нужно помнить и каждый раз вводить ручками заново. Нет! Для этого существует Makefile.

Ваша задача сводится к тому, что вам нужно записать в Makefile ваши команды. Потом вам достаточно из консоли вызывать ваши команды простым действием. Вот несколько примеров вызовов команд:

$ make
$ make clean
$ make load
$ make set-fuse
$ make commit
$ make help

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

Кроме того, вы не ограничены выполнением только своих команд, которые прописаны в Makefile. Вы можете выполнять вообще любые команды!

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

Мне остается только рассказать, что нужно сделать чтобы изменить конфигурацию Gedit. Опять же, сложного ничего нет. Вам нужно установить пакет gedit-plugins:

# apt-get install gedit-plugins

После чего нужно запустить Gedit, в меню выбрать пункт Правка / Параметры. Откроется окно «Параметры gedit». В этом окне выбрать вкладку «Модули»:

gedit-modules

И наконец отметь пункты «Быстрое открытие» и «Встроенный терминал».

Вот и всё! Ваш любимый текстовый редактор превратился в мощную IDE, которая по своей силе и гибкости ничуть не уступает Microsoft Visual Studio. Но при этом полученнная IDE обходится вам совершенно бесплатно, вы не нарушаете никаких соглашений, и поэтому с точки зрения Закона вы никому не интересны. Ваша совесть чиста, а карма неподпорчена. Вы полностью контролируете все процессы, а сама IDE не жркт ресурсы (память, процессорное время) как знаменитая лошадь AVR Studio.

Неумение управлять истребителем говорит только о необразованности юзера, но никак не о возможностях крылатой машины. Изучайте правильные (открытые) технологии, и всё у вас будет! Не надейтесь на готовые решения. Задача готовых решений — сначала ограничить ваши взможности, а потом поиметь с вас денег, прямо или косвенно.

Реклама

2 responses to “Допилить свой Gedit

  1. Я раньше тоже использовал прокачанный плагинами gedit, потом узнал о быстром, но более навороченном редакторе geany, в котором есть всё то же самое, только в большем количестве (и плагины, и встроенная консоль, и отладчик), и большее количество настроек. Мне нужно было как-то работать с большим XSLT (XML) файлом, и нужно было, чтобы редактор умел сворачивать блоки, иначе запутался бы в куче вложенных структур, в gedit с этим туговато, а в geany в самый раз.

    Сейчас работаю только в geany, который, кстати, есть и под другие платформы, т.е. можно работать в нём же, если придётся по какой-то причине поработать в той же windows (не дай бог).

    • Так точно! Geany — тоже из этой же области: текстовый редактор + оболочка управления проектами.

      Я так и думал, что если я не упомяну Geany, то обязательно кто-нибудь скажет про него. Годный инструмент, да. Я тоже его иногда юзаю.

      Некоторые одиозные личности умудряются еще использовать классику — Vi/Vim и emacs. Я их до сих пор не осилил.
      Я в основном вояю свои проекты на базе Makefile-ов, плюс псевдо консоль и Gedit. Об этом я писал в пердыдущих постах.

      Прелесть Линкса как раз в том и состоит, что каждый пользователь волен выбирать тот инструментарий, который ему больше подходит. А при необходимости (, умении и желании) еще больше допилить программу под свои нужды. Ограничений никаких нет! Никто никому не угрожает судебными преследованиями.

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

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s