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 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. 25th, 2025 03:59 pm
Powered by Dreamwidth Studios