44

我想在 CLion 中使用 clang-format 格式化我的代码。我已经完成了设置,但没有找到任何允许我运行外部命令来转换代码的设置。在 CLion 中这些事情通常是如何完成的?

4

4 回答 4

64

您可以在 CLion中使用外部工具。

转到File->Settings->Tools->External Tools并单击加号。

应该会弹出一个窗口。使用您选择的名称。

对于Tool settings我正在使用此配置的选项卡:

  • 程序:(clang-format-3.7您应该在此处使用可执行文件的名称)

  • 参数:-i $FileName$

  • 工作目录:$FileDir$

现在,打开文件后,您可以转到Tools->External tools并运行上面的配置。它基本上调用clang-format并进行就地格式化。

您也可以为其设置自定义键盘映射,只需在“设置”菜单的“键盘映射”中搜索外部工具的名称即可。

于 2016-01-07T17:22:09.407 回答
11

最新版本的CLion 2019.1原生支持 ClangFormat。

对于以前的版本,请转到File->Preferences->Plugins并搜索ClangFormatIJ. 安装这个插件。

它安装上下文菜单以调用本地安装clang-format的文件或选择。它还设置了“使用 clang-format 重新格式化当前语句”操作的快捷键。

这个选项在CLion 218.3中对我来说效果很好,但是它也可能包含在早期版本中。

于 2018-09-24T15:22:48.543 回答
8

以前的答案效果很好,但不允许在保存时执行 clang-format 而不使用不适用于我正在使用的 Vim 仿真插件的变通办法。

这是一个在保存时执行 clang-format 的解决方案,并且在我遇到的每种情况下都能很好地工作。

  • 首先你需要安装File Watchers插件。
  • 从那里你需要去File->Settings->Tools->File Watchers并创建一个自定义模板 在 clion 设置面板中创建一个新的文件观察器
  • clang-format当保存当前打开的文件之一时,我使用以下设置执行。您可以调整这些设置以满足您的需求 我的 clang 格式文件观察器设置

    • 例如,如果您希望clang-format在文件更改时自动执行(无需保存),您可以启用Advanced Options->Auto-save edited files to trigger the watcher

File Watchers 插件的文档:https ://www.jetbrains.com/help/clion/using-file-watchers.html

于 2018-12-10T06:58:45.553 回答
7

因为 CLion 191 EAP ClangFormat 是从盒子里得到支持的。

于 2019-03-10T09:39:51.240 回答