【发布时间】:2016-04-11 10:28:28
【问题描述】:
我想在 CLion 中使用 clang-format 格式化我的代码。我已经完成了设置,但没有找到任何允许我运行外部命令来转换代码的设置。这些事情在 CLion 中通常是如何完成的?
【问题讨论】:
标签: c++ clang clion clang-format
我想在 CLion 中使用 clang-format 格式化我的代码。我已经完成了设置,但没有找到任何允许我运行外部命令来转换代码的设置。这些事情在 CLion 中通常是如何完成的?
【问题讨论】:
标签: c++ clang clion clang-format
您可以在 CLion 中使用外部工具。
转到File->Settings->Tools->External Tools 并点击加号。
应该会弹出一个窗口。使用您选择的名称。
对于Tool settings 选项卡,我正在使用此配置:
程序:clang-format-3.7(您应该在此处使用可执行文件的名称)
参数:-i $FileName$
工作目录:$FileDir$
现在,打开文件后,您可以转到 Tools->External tools 并运行上面的配置。它基本上调用 clang-format 并进行就地格式化。
您也可以为其设置自定义键盘映射,只需在“设置”菜单的“键盘映射”中搜索您的外部工具的名称即可。
【讨论】:
CLion 2019.1 的最新版本已原生支持 ClangFormat。
对于以前的版本,请转到 File->Preferences->Plugins 并搜索 ClangFormatIJ。安装这个插件。
它安装上下文菜单以调用本地安装的clang-format 来获取文件或选择。它还为“使用 clang-format 重新格式化当前语句”操作设置了快捷键。
这个选项在 CLion 218.3 中非常适合我,但是它也可能包含在早期版本中。
【讨论】:
之前的答案效果很好,但不允许在保存时执行 clang-format 而不使用不适用于我正在使用的 Vim 仿真插件的解决方法。
这是一个在保存时执行 clang-format 的解决方案,并且在我遇到的每种情况下都能正常工作。
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
【讨论】:
由于 CLion 191 EAP ClangFormat 是 supported from the box.
【讨论】: