⏱ 更新于2018年3月14日,讨论我们在产品中提供的clang-format.exe版本。
Visual Studio 2017 15.7 Preview 1内置 宗族格式 支持C++开发人员。具体来说,我们提供5.0版的clang-format.exe。ClangFormat是一个实用工具,它可以根据一组可以在.clang格式或u clang-format文件中配置的规则轻松地设置代码的样式和格式。此文件应存在于源代码目录树中,并将格式约定应用于同一级别或任何子文件夹中的所有代码文件。它很容易通过源代码管理共享,因此您可以在整个开发团队中强制执行编码约定。
请注意,VisualStudio还支持 编辑器配置 ,其工作原理与此类似。然而,ClangFormat有一个 更多款式可供选择 比EdgRealCOnFIG,包括一些非常特定的C++规则,它已经被C++开发人员使用了。
如果需要,可以使用多个ClangFormat文件将文件放置在不同的文件夹中,从而在代码库的不同位置应用不同的样式规则。任何给定的代码文件都将由目录树中最接近它的ClangFormat文件设置样式。我们在后台运行ClangFormat实用程序来进行格式化,因此您可以立即获得ClangFormat的所有特性。
我们还提供了一种方法来执行ClangFormat附带的内置格式约定(LLVM、Google、Chromium、Mozilla或WebKit),而不需要单独的ClangFormat文件。这与将文件与 -风格 切换到这些约定之一。这可以在“工具”>“选项”中配置。
使用上面屏幕截图中的.clang格式文件,这里是一个代码示例的前后表示 格式化文档 在其上调用:
这里一些值得注意的变化包括最大列宽(现在设置为50),以及前面的标题所在的行上出现了左大括号。
如何开始
如果您的代码库中已经有一个.clang格式或u clang-format文件,那么只要您在代码中进行一次触发格式化操作的编辑,您就会注意到VisualStudio会立即使用它进行格式化。如果运行 格式化文档 (Ctrl+K、Ctrl+D)或 格式选择 (Ctrl+K,Ctrl+F)在VisualStudio中手动从“编辑”菜单或键盘快捷键执行命令。
如果您还没有开始使用的示例文件,那么有一个方便的 网站 它的特点是一个交互式的.clang格式文件生成器和ClangFormat样式选项指南。有关ClangFormat样式选项的完整列表,请访问 正式文件 .
工具>选项配置
您可以在“工具”>“选项”中进行多种配置,以控制您的ClangFormat体验。你可以在 工具>选项>文本编辑器> C/C++ >格式 .
默认情况下,VisualStudio将使用源代码树中任何现有的ClangFormat文件进行格式化操作。要关闭此功能,可以取消选中 启用ClangFormat支持 . 默认情况下,ClangFormat还将模拟visualstudio格式,在键入时对大括号({})和分号等字符进行格式化。您可以将其更改为仅对显式使用ClangFormat 格式化文档 和 格式选择 通过选择 仅对手动调用的格式化命令运行ClangFormat .
如果源代码树中没有.clang格式或u clang-format文件,则默认格式样式允许您控制格式体验。如果该文件存在,我们将始终首选它,但是如果找不到它,我们将使用该选项中选择的格式约定。默认情况下,visualstudio处于选中状态,这意味着我们执行visualstudio通常用于格式化的操作,而根本不运行ClangFormat。但是,您也可以指定LLVM、Google、Chromium、Mozilla或WebKit编码约定。这些函数与将样式属性设置为这些选项之一的ClangFormat文件的功能相同,没有其他更改,因此在本例中,我们仅使用该设置运行ClangFormat。因此,如果您正在使用这些默认样式之一,并且不打算偏离其规则,请在“工具”>“选项”中进行选择,这样就可以不用ClangFormat文件了。
给我们反馈
此功能当前正在预览中。请尝试一下,让我们知道如果您遇到任何问题,通过报告他们通过 帮助>发送反馈>报告问题 从VisualStudioIDE内部。您可以查看活动的问题,对其进行评论和投票 开发者社区 .
更改后日志 –2018年3月14日:添加了说明我们发布的clang-format.exe版本的注释。