clangFormat使用
准备工作
常用的格式化工具包括:
- Artistic style
- ClangFormat
- uncrustify
下载llvm
本次使用的就是ClangFormat格式化工具。首先需要下载llvm这个工具。
llvm下载地址
我下载的是这个,因为我还要使用clang这个编译器,所以下载一个比较全的,如果不需要clang可以不下载这个,只下载llvm。
安装完即可。如果下载的是免安装版的可以在环境变量中的path中自行指定。这里就不赘述了。
ClangFormat 自定义风格
先导出一个风格模板
clang-format -style=google -dump-config > .clang-format
导出的位置在C盘用户目录下。
我这里以google为例,格式名称可以是llvm,google,chromium,mozilla,webkit
。导出的文件名必须是.clang-format
这样才能被clang-format
识别。
注意:要是命令行出现这个Invalid value for -style说明你的-style=google中的google拼写错了。
打开.clang-format修改自己喜欢的格式
理论上自己新建一个.clang-format
文件自己手写内容也可以。
这里面基本上全部都是英文,如果看不懂可以参考clangFormat格式官网 ,
虽然文档也是英文的,但是结合下面给的实例和网页通过google翻译能看懂个大概。我这样英文水平细碎的人看通过google 翻译都能看明白。
编写好格式文件,需要把它拷贝到你想格式化文件的文件夹中,或者他的父文件夹下。如果未找到就使用默认的风格。
QtCreator 使用 clang-format
clang-format就是第一步安装的llvm的bin目录下找。
.clang-format文件放在项目的根目录下。会自动找到的。
在具体格式化细节可以参考官网。根据clang-format的版本不同里面会有不同的选项。
VScode使用.clang-format
VScode就比较简单了,安装好插件,插件选择可以参考我的另外一篇博客。
VSCode插件
吧.clang-format放到文件夹下就可以了
这样子写代码就可以自动格式化了。尤其是编码规则更具自己公司的代码规范设置,在过代码审核的时候能省不少事。
VS2022使用.clangFormat
和vscode类似把。clang-format文件导入项目根目录下。
这里有点不同就是文件名字要用.clang
。
这里有所区别的就是按下ctrl+S
不会格式化。需要按下ctrl + k ctrl + D
才能触发代码格式化。
参考网站
clangFormat格式官网
一个中文的格式化文档
llvm下载地址
微软官网VS2022的参考文献
在Visual Studio Code和Visual Studio 2022下配置Clang-Format,格式化成Google C++ Style