设置 | 编辑器 | 代码风格

默认情况下:禁用

如果检测到 .clang-format,则会自动启用

基于 Clangd 引擎

ClangFormat 是一个流行的代码格式化工具,有助于在团队成员和 IDE 之间保持统一的代码风格。它提供了在特殊的 YAML 文件中存储格式设置的选项,文件名为 .clang-format_clang-format。在 CLion 中,您可以将 ClangFormat 用作内置代码格式化工具的替代方案。

.clang-format 配置文件

.clang-format 文件包含了格式约定,应放置在项目树中。每个文件都适用于同一级别和子目录中的代码文件。在单个项目中拥有多个 .clang-format 文件可以让您在需要时为不同的代码文件夹使用不同的样式。

ClangFormat 提供了许多样式选项,您可以将它们组合以创建最适合您团队的一组规则。它还为 C/C++ 提供了几种内置样式:LLVM、Google、WebKit、Chromium 和 Mozilla。这些预定义样式可以直接使用,或者作为自定义样式定义的基准。

要生成一个带有 LLVM 代码风格的 .clang-format 文件,运行以下命令(确保已经安装了ClangTools):

clang-format -style=llvm -dump-config > .clang-format

为帮助您创建 .clang-format 文件,有一些方便的交互式构建工具:clangformat.com 和另一种选择是 clang-format configurator

在 CLion 中使用 ClangFormat

当项目根目录下存在 .clang-format 文件时,CLion 会自动启用 ClangFormat 并应用设置。您还可以通过以下选项之一来启用/禁用 ClangFormat:

  • .h.c.cpp 文件中,从状态栏中的代码格式化切换器中单击“Enable ClangFormat”:
    1.png
  • 或者,在设置 | 编辑器 | 代码风格中,选择“Enable ClangFormat”复选框:
    2.png

如果项目根目录下没有 .clang-format 文件,CLion 会建议根据当前 IDE 代码风格设置创建它。如果您拒绝,则会启用默认的 LLVM 样式的 ClangFormat。

3.png

在启用 ClangFormat 后,当您:

  • 在编辑器中输入(包括在按 Enter 或 Backspace 之后进行缩进、自动完成、代码生成、重构和快速修复等操作)时,会应用适当的格式化。
  • 调用 Code | Reformat Code CtrlAlt0L - 此操作还允许您重新格式化代码的选择,而不是整个文件。
  • 提交更改并选择在提交之前操作中的 Reformat Code:
    4.png

查看文件的 ClangFormat 设置

  • 在编辑器中打开文件,然后从工具栏切换器中单击“View ClangFormat options for ...”:
    5.png

    • CLion 将显示从相应的 .clang-format 文件中获取的设置列表:
      6.png

此列表目前是只读的。要编辑设置,请直接在 .clang-format 文件中更改。

编辑 .clang-format 文件

  1. 在编辑器中打开所需的源文件,然后从工具栏切换器中单击“Edit '.clang-format' for...”:
    7.png
  2. 为帮助您编辑 .clang-format 配置,CLion 提供了代码辅助功能,通过针对 ClangFormat 专门构建的 JSON Schema 对文件内容进行验证。代码辅助功能包括:

    • 选项和值的自动完成,选项说明显示在弹出窗口中:
      8.png
    • 检查选项值与允许的值集的一致性:
      9.png
    • 快速文档弹出窗口CtrlQ,帮助您探索选项详细信息:
      10.png

将格式化器设置导出到 .clang-format 文件

当您需要保存或共享内置代码格式化器的设置时,可以将其导出到 .clang-format 文件中:

  1. 转到 设置 | 编辑器 | 代码风格 | C/C++。
  2. 单击方案字段旁边的 应用通用齿轮纯,然后选择导出 | .clang-format 文件:
    11.png
  3. 在打开的对话框中,指定文件名和位置。默认情况下,CLion 建议使用 .clang-format 和当前项目根目录。

标签: clion破解, clion破解教程, clion教程, clion基础教程, clion高级教程, clion核心教程, clion免费激活码, clion免费注册码, clion注册码在线生成, clion激活