Автодополнение в 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 на слабых компьютерах.

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