Я хотел бы форматировать свой код, используя clang-format в CLion. Я прошел через настройки и не нашел никаких параметров, которые позволили бы мне запустить внешнюю команду для преобразования кода. Как обычно делаются такие вещи в CLion?
Использование clang-format в CLion
Ответ 1
Вы можете использовать внешние инструменты в CLion.
Перейдите к File->Settings->Tools->External Tools
и щелкните знак плюса.
Должно появиться окно. Используйте имя по вашему выбору.
Для вкладки Tool settings
я использую эту конфигурацию:
-
Программа:
clang-format-3.7
(здесь вы должны использовать имя своего исполняемого файла) -
Параметры:
-i $FileName$
-
Рабочий каталог:
$FileDir$
Теперь, когда ваш файл открыт, вы можете перейти на Tools->External tools
и запустить приведенную выше конфигурацию. Он в основном называет clang-format и делает форматирование inplace.
Вы также можете настроить для него настраиваемую раскладку клавиатуры, просто найдите имя своего внешнего инструмента в меню "Настройки".
Ответ 2
Последняя версия CLion 2019.1 имеет встроенную поддержку ClangFormat.
Для предыдущей версии перейдите в File->Preferences->Plugins
и найдите ClangFormatIJ
. Установите этот плагин.
Он устанавливает контекстное меню для вызова локально установленного clang-format
для файла или для выбора. Он также установил комбинацию клавиш для действия "Переформатировать текущий оператор в формате clang".
Эта опция хорошо работает для меня в CLion 218.3, однако она может быть включена и в более раннюю версию.
Ответ 3
Предыдущие ответы работают хорошо, но не позволяют выполнять формат clang при сохранении без использования обходных путей, которые не работают с плагином эмуляции Vim, который я использую.
Вот решение, которое выполняет clang-формат при сохранении и хорошо работает в любой ситуации, с которой я столкнулся.
- Сначала вам нужно установить плагин
File Watchers
. - Оттуда вам нужно перейти в
File->Settings->Tools->File Watchers
и создать собственный шаблон -
Я использую следующие настройки для выполнения
clang-format
при сохранении одного из открытых файлов. Вы можете настроить эти параметры в соответствии с вашими потребностями- Например, если вы хотите выполнять
clang-format
автоматически при каждом изменении файла (без необходимости сохранения), вы можете включитьAdvanced Options->Auto-save edited files to trigger the watcher
- Например, если вы хотите выполнять
Документация для плагина File Watchers: https://www.jetbrains.com/help/clion/using-File-watchers.html
Ответ 4
Начиная с CLion 191 EAP ClangFormat поддерживается из коробки.