Автодополнение в JEdit

Последнее время пользуюсь текстовым редактором JEdit в качестве IDE для небольших программок на Си++.  Все очень удобно, однако возникла небольшая проблемка при попытке включить автодополнение в Linux.  К счастью, проблему удалось решить.

 

Автодополнение в JEdit

Автодополнение в JEdit

 

Проблема с автодополнением в JEdit заключается в следующем: для автодополнения Си++ используется связка из плагинов Completion и ClangCompletion. Как видно из названия, последний зависит от компилятора Clang.  После его установки я обнаружил что clang не может найти в моей системе стандартные заголовочные файлы.  Чтобы корректно решить эту проблему, надо запустить компиляцию любого файла с ключом -###, например:

clang -### -c button.cpp

В результате на экране напечатаются все опции, которые передаются компилятору для сборки Си++, в том числе и корректные пути к заголовочным файлам.  Все что остается — это скопировать их в настройки clang в JEdit.  Это удобнее делать не через графический интерфейс, а напрямую отредактировав файл настроек проекта.  Его можно найти в каталоге ~/.jedit/plugins/projectviewer.ProjectPlugin/projects. За пути к заголовочным файлам отвечает свойство с именем CLANG_INCLUDESx, где вместо x надо подставить порядковый номер пути начиная с 0.  В моей системе (lubuntu 13.10) пути получились такими:

<property name=»CLANG_INCLUDES0″ value=»/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8″ />
<property name=»CLANG_INCLUDES1″ value=»/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/x86_64-linux-gnu» />
<property name=»CLANG_INCLUDES2″ value=»/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/backward» />
<property name=»CLANG_INCLUDES3″ value=»/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/x86_64-linux-gnu/c++/4.8″ />
<property name=»CLANG_INCLUDES4″ value=»/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/x86_64-linux-gnu/c++/4.8/x86_64-linux-gnu» />
<property name=»CLANG_INCLUDES5″ value=»/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/x86_64-linux-gnu/c++/4.8/backward» />
<property name=»CLANG_INCLUDES6″ value=»/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++» />
<property name=»CLANG_INCLUDES7″ value=»/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/x86_64-linux-gnu» />
<property name=»CLANG_INCLUDES8″ value=»/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/backward» />
<property name=»CLANG_INCLUDES9″ value=»/usr/local/include» />
<property name=»CLANG_INCLUDES10″ value=»/usr/bin/../lib/clang/3.2/include» />
<property name=»CLANG_INCLUDES11″ value=»/usr/include/clang/3.2/include/» />
<property name=»CLANG_INCLUDES12″ value=»/usr/include/x86_64-linux-gnu» />
<property name=»CLANG_INCLUDES13″ value=»/usr/include» />

Последний штрих — это настройка кнопки окна автодополнения.  Для этого нужно перейти в меню Utilities -> Options, выбрать закладку Shortcuts и найти кнопку Completion.  Я предпочитаю использовать Ctrl+пробел:

 

Настройка кнопки автодополнения в JEdit

Настройка кнопки автодополнения в JEdit

 

Даже на маломощном моноблоке JEdit работает потрясающе быстро.  По-моему это отличная альтернатива «тяжелым» IDE на слабых компьютерах.

Теги: , , , , .

Оставить комментарий