在 CLion 中使用 clang 格式
Posted
技术标签:
【中文标题】在 CLion 中使用 clang 格式【英文标题】:Using clang-format in CLion 【发布时间】:2016-04-11 10:28:28 【问题描述】:我想在 CLion 中使用 clang-format 格式化我的代码。我已经完成了设置,但没有找到任何允许我运行外部命令来转换代码的设置。这些事情在 CLion 中通常是如何完成的?
【问题讨论】:
相关CLion问题youtrack.jetbrains.com/issue/CPP-4805 【参考方案1】:您可以在 CLion 中使用外部工具。
转到File->Settings->Tools->External Tools
并点击加号。
应该会弹出一个窗口。使用您选择的名称。
对于Tool settings
选项卡,我正在使用此配置:
程序:clang-format-3.7
(您应该在此处使用可执行文件的名称)
参数:-i $FileName$
工作目录:$FileDir$
现在,打开文件后,您可以转到 Tools->External tools
并运行上面的配置。它基本上调用 clang-format 并进行就地格式化。
您也可以为其设置自定义键盘映射,只需在“设置”菜单的“键盘映射”中搜索您的外部工具的名称即可。
【讨论】:
谢谢,这正是我想要的! 是否可以将其应用于所有文件? Clion 格式化选项指南是否有任何 clang 格式? @DuckQueen:clang-format 默认使用 LLVM 样式,但也可以使用其他样式。 CLion 支持大多数(如果不是全部)这些样式,您可以这样设置:twitter.com/clion_ide/status/758203475704635392 每当您保存文件时,我都在努力让 clang-format 运行。这些说明很有帮助:marcesher.com/2014/03/30/…【参考方案2】:CLion 2019.1 的最新版本已原生支持 ClangFormat。
对于以前的版本,请转到 File->Preferences->Plugins
并搜索 ClangFormatIJ
。安装这个插件。
它安装上下文菜单以调用本地安装的clang-format
来获取文件或选择。它还为“使用 clang-format 重新格式化当前语句”操作设置了快捷键。
这个选项在 CLion 218.3 中非常适合我,但是它也可能包含在早期版本中。
【讨论】:
ClangFormatIJ 超级慢...我的意思是当我按下代码格式的快捷方式时,有时需要 1-3 秒来更新代码...如果您在格式化过程中保存文件,它将破坏您的代码(剪切一些零件或其他奇怪的东西)。当您多次按下它时,它也会挂起 clion ......我认为是某种僵局。 Check for issues 可能取决于。我从来没有遇到过这个问题。好消息是每个人都可以期待在下一个版本中对 clang 格式的原生支持。这是一个已经计划好的任务CPP-4809【参考方案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
【讨论】:
【参考方案4】:由于 CLion 191 EAP ClangFormat 是 supported from the box.
【讨论】:
感谢您的链接以上是关于在 CLion 中使用 clang 格式的主要内容,如果未能解决你的问题,请参考以下文章