eddy_em: (Костерок)
[personal profile] eddy_em
Geany вполне способен работать с автодополнением — нужно лишь сгенерировать для него файлы с тегами. Его формат не совсем совместим с ctags, но здесь доступно описывается, что geany -g генерирует файлы с тегами, которые затем можно вставить в проект. Можно добавить в Makefile правило для автоматической перезаписи этого файла.

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

Вот так генерируется файл для libopencm3 под F0:
CFLAGS="-DSTM32F0 -DSTM32F042x6 -I/usr/local/arm-none-eabi/include" geany -g opencm3f0.c.tags /usr/local/arm-none-eabi/include/libopencm3/stm32/*.h /usr/local/arm-none-eabi/include/libopencm3/stm32/f0/* /usr/local/arm-none-eabi/include/libopencm3/cm3/*.h  /usr/local/arm-none-eabi/include/libopencmsis/core_cm3.h /usr/local/arm-none-eabi/include/libopencmsis/stm32/f0/irqhandlers.h /usr/local/arm-none-eabi/include/libopencm3/stm32/common/*.h 2>/dev/null


Жаль только, что при щелчке с ctrl по функциям/переменным файл с их определением не открывается. В перечнях плагинов я такой вещи не встречал. Будем ждать реализации...

Date: 2017-01-11 02:39 pm (UTC)
From: [identity profile] dimas.livejournal.com
на что только люди не пойдут чтобы вим или емакс не ставить :)
(шутка)

Date: 2017-01-11 02:41 pm (UTC)
From: [identity profile] eddy-em.livejournal.com
Я до сих пор с содроганием упоминание вима слышу! Да, выходить из него я умею, но не более того. Самый извращенный редактор на мой взгляд.
Ну, а про емакс говорят, что еще чуть-чуть, и он станет операционной системой ☺

Из доступных сишных IDE только geany достаточно легковесный и удобный. Был бы еще не на gtk, а на motif каком-нибудь …

Date: 2017-01-11 02:47 pm (UTC)
From: [identity profile] dimas.livejournal.com
вим - отличный редактор просто таки "на кончиках пальцев", у которого отдельное преимущество, что он везде есть :) мне достаточно взять из гита свой конфиг, конфиг плагинов и скрипт для их развертывания, и через пять минут у меня готовая среда для работы.

на самом деле он нестрашный, достаточно взять vimtutor и честно на него потратить хотя бы два-три раза от получаса до часа, и можно жить :) даже необязательно использовать hjkl и его внутреннюю переключалку, хотя это и удобнее.

если что - до знакомства с vim`ом лет восемь назад я успел попользоваться наверное больше десятка редакторов и IDE ... вордстаровские хоткеи от третьего турбо паскаля наверное до сих пор некоторые помню ...

вот с емаксом у меня ужиться не получилось, хотя и делал несколько подходов, я шучу что у меня щупальца не настолько гибкие :)

а про вим у нас в свое время в .м была шутка, что если кто из новеньких умеет или смог освоить - вольется в коллектив (при том что многие на том же эклипсе с синком сидели), а нет - будут проблемы :)

Date: 2017-01-11 02:53 pm (UTC)
From: [identity profile] mbr.livejournal.com
Пробовал geany. Говно, которое нужно допиливать. Такое же code::blocks. Eclipse тормозное говно на жабе. vim c емаксом оставим упоротым.

Сам пользую Qt Creator. Все работает из коробки. Kate если совсем лайтовое что-то.

Date: 2017-01-11 02:54 pm (UTC)
From: [identity profile] eddy-em.livejournal.com
Я так понял, что идеальных IDE просто не существует.
Мое отношение к культям ты знаешь.

Date: 2017-01-11 03:02 pm (UTC)
From: [identity profile] mbr.livejournal.com
Не существует. Просто не надо использовать тормознутые, замороченные и требующие допила. Это как зубная щетка - утром ты просто чистишь зубы, я не конфигурируешь зубную щетку.

Я бы к моему списку еще студию добавил - под виндой она была весьма удобна в плане кодописания. Вроде как линуксовая вышла, но я не гонял, времени нет.

Date: 2017-01-11 03:06 pm (UTC)
From: [identity profile] eddy-em.livejournal.com
> не надо использовать…
Что, набирать код командой cat (мелочи всякие на 5-10 строк, кстати, я зачастую так и делаю ☺)? Если нормальных нет, то хоть более-менее приличный надо выбрать из всего болота.

Date: 2017-01-11 03:25 pm (UTC)
From: [identity profile] mbr.livejournal.com
Qt Creator работает из коробки совершенно без всяких проблем. Использовать его тебе мешает только твоя персональная упоротость :)

Date: 2017-01-11 03:39 pm (UTC)
From: [identity profile] eddy-em.livejournal.com
Нет уж! Сначала qt creator поставлю, потом кеды, потом на С++ писать начну, а после у меня на ладонях волосы расти будут?
Еще раз нет уж!

Date: 2017-01-11 07:37 pm (UTC)
From: [identity profile] dlinyj.livejournal.com
Я пишу в geany - горя не знаю. Но судя по текущим проектам - qt creator попробую ;))). Кстати, откуда его ставить, и что почитать для быстрого старта?

Date: 2017-01-11 07:42 pm (UTC)
From: [identity profile] eddy-em.livejournal.com
> откуда его ставить
Из реп, вестимо. Откуда ж еще? Во всех дистрах должны быть в базовых репах:
eix qt-creator
* dev-qt/qt-creator
     Доступные версии:      3.6.1 ~4.0.3 ~4.1.0 **9999 {android autotools baremetal bazaar clang clangcodemodel clangstaticanalyzer clearcase cmake cvs doc git glsl ios mercurial modeling nim perforce python qbs qnx subversion systemd test valgrind webengine webkit winrt LINGUAS="cs de fr ja pl ru sl uk zh_CN zh_TW"}
     Домашняя страница:     http://doc.qt.io/qtcreator/
     Описание:              Lightweight IDE for C++/QML development centering around Qt

Date: 2017-01-12 06:05 am (UTC)
From: [identity profile] mbr.livejournal.com
В линуксе он в стандартных репах. В windows - с qt.io. Читать ничего не надо, в том и прелесть :) Хоткеи стандартные.

Date: 2017-01-11 07:35 pm (UTC)
From: [identity profile] dlinyj.livejournal.com
Ты мне темноте объясни - что это?

Date: 2017-01-11 07:41 pm (UTC)
From: [identity profile] eddy-em.livejournal.com
Это автодополнение по переменным/типам/функциям/структурам, объявления которых нет в открытых файлах. Чтобы не открывать 100500 вкладок.

Date: 2017-01-11 07:45 pm (UTC)
From: [identity profile] dlinyj.livejournal.com
эээээээээээээ.... Как это работает? Никак не прояснило суть вопроса.

Date: 2017-01-11 07:47 pm (UTC)
From: [identity profile] eddy-em.livejournal.com
По всем файлам, указанным в аргументах geany -g, создается список тегов. Далее ты его открываешь в geany (теоретически, открытые "проекты" должны эти настройки запоминать), и дальше все работает.
Это аналогично работе команды ctags, но та для вима генерирует список.

Date: 2017-01-11 07:53 pm (UTC)
From: [identity profile] dlinyj.livejournal.com
видимо надо попробовать, так как ты никак не прояснил что это

Date: 2017-01-11 07:58 pm (UTC)
From: [identity profile] eddy-em.livejournal.com
Да чего там пробовать?
Я ж говорю: обычно geany только по открытым файлам (ну и самой-самой базовой части, которая у него по умолчанию в тегах есть) дополняет. А если ты генерируешь теги, затем подключаешь этот файл к проекту, то geany дополняет и по тому, что не открыто.
Есть, кстати, плагин ctags, который это должен делать, но я так и не понял, где его "ручки".

Date: 2017-01-11 08:03 pm (UTC)
From: [identity profile] dlinyj.livejournal.com
Переформулирую вопрос: что означает дополняет?

Date: 2017-01-11 08:12 pm (UTC)
From: [identity profile] eddy-em.livejournal.com
Ну автодополнение же! Ты начинаешь поле структуры писать, а оно тебе — фигакс, и список вываливает. Аналогично с типами, глобальными переменными и функциями. Локальные переменные, к сожалению, geany не автодополняет, а жаль...

Date: 2017-01-11 08:15 pm (UTC)
From: [identity profile] dlinyj.livejournal.com
Аааааааааааа! Я просто никогда такого не видел, и не знал что оно бывает :)))

Date: 2017-01-12 06:06 am (UTC)
From: [identity profile] mbr.livejournal.com
Как можно писать код без автодополнений?! Они же раза в три повышают производительность!

May 2025

S M T W T F S
    123
45678910
11121314151617
1819202122 2324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated May. 23rd, 2025 07:57 am
Powered by Dreamwidth Studios