在 CLion 中使用 clang 格式

Using clang-format in CLion

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

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

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

一个 window 应该弹出。使用您选择的名称。

对于 Tool settings 选项卡,我使用此配置:

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

  • 参数:-i $FileName$

  • 工作目录:$FileDir$

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

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

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

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

它安装上下文菜单以调用本地安装的 clang-format 文件或选择。它还为 'Reformat current Statement with clang-format' 操作设置快捷键。

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

前面的答案很好用,但不允许在不使用不适用于我正在使用的 Vim 仿真插件的变通方法的情况下在保存时执行 clang-format。

这是一个在保存时执行 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.