Недавно я начал использовать облегченную среду разработки под названием Geany. Это действительно эффективно, очень мало ресурсов и имеет все основные функциональные возможности, которые мне нужны. Он имеет встроенную подсветку синтаксиса для многих языков программирования, включая C ++, на котором я пишу код, однако некоторые из них не работают должным образом.
Взглянув на приведенный выше снимок экрана, вы можете заметить, что происходит некоторое выделение синтаксиса, однако к объявленной пользователем функции «добавление» не применена окраска, даже после изменения ее цвета в файлах конфигурации. Я обнаружил, что когда я меняю цвет «оператора» в файле конфигурации, он меняет каждую точку с запятой, скобки и т. Д. На этот цвет, поэтому ясно, что определение там невелико.
Я думаю, что эта проблема связана с тем, как работает подсветка синтаксиса, которая, как мне кажется, является сцинтиллой, смотрящей на исходные файлы Geany GitHub. Вот файл лексера специально для C ++: https://github.com/geany/geany/blob/master/scintilla/lexers/LexCPP.cxx
У меня есть несколько вопросов:
Может ли файл лексера для C ++ быть обновлен на более качественный, чтобы он мог фактически определять определяемые пользователем функции, а также другие части языка?
Есть ли способ просмотра всех различных синтаксисов, которые использует сцинтилла (строка, оператор, препроцессор и т. Д.)?
Есть ли лучшие синтаксические подсветки, которые можно было бы интегрировать в Geany?
Я сделал внешний плагин, который позволяет редактировать хирургический тип файла с помощью селекторов цвета.
https://github.com/webdev23/Geany-editor-dynamic-color-schemes
Это динамически редактировать filetypes.xml
конфигурации.
Думаете сделать возможность импортировать выделенные темы из какого-то другого редактора. Выполнимо с этой базы.
Других решений пока нет …