Подтвердить что ты не робот

Использование clang-format в CLion

Я хотел бы форматировать свой код, используя clang-format в CLion. Я прошел через настройки и не нашел никаких параметров, которые позволили бы мне запустить внешнюю команду для преобразования кода. Как обычно делаются такие вещи в CLion?

4b9b3361

Ответ 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 и создать собственный шаблон Creating a new file watcher in the clion settings panel
  • Я использую следующие настройки для выполнения clang-format при сохранении одного из открытых файлов. Вы можете настроить эти параметры в соответствии с вашими потребностями My clang-format file watcher settings

    • Например, если вы хотите выполнять clang-format автоматически при каждом изменении файла (без необходимости сохранения), вы можете включить Advanced Options->Auto-save edited files to trigger the watcher

Документация для плагина File Watchers: https://www.jetbrains.com/help/clion/using-File-watchers.html