QtCreator代码格式化
QtCreator支持多种格式化工具, 我使用的是clang-format,这个工具能够自动化格式C/C++/Obj-C代码,支持多种代码风格(Google, Chromium, LLVM, Mozilla, WebKit),同时也支持自定义风格。
前置条件
如果使用其他插件想要看怎么设置的话可以看Qt的官方文档,我这里就说下clang-format需要做的步骤。
下载llvm并安装,如果除了格式化以外不用的话,安装的时候最好不要加到环境变量
在Qt Creator的关于插件中启用Beautifier插件,启用插件需要重启下Creator。
使用配置
关于插件的配置在工具->选项->Beautifier中设置, 设置好clang-format的路径 C:\Program Files\LLVM\bin\clang-format.exe。
通过.clang-format文件使用
1、在插件的配置中Options选择Use predefined style,下拉选择File。
2、写一个.clang-format文件放到项目中和最外层的.pro同一级目录,下面是带中文注释的.code-format,也可以去clang-format官方说明中查看。
# 语言: None, Cpp, Java, JavaScript, ObjC, Proto, TableGen, TextProto
Language: Cpp
# 未在配置中专门设置的所有选项所使用的样式
BasedOnStyle: Google
# 访问说明符(public、private等)的偏移
AccessModifierOffset: -4
# 开括号(开圆括号、开尖括号、开方括号)后的对齐: Align, DontAlign, AlwaysBreak(总是在开括号后换行)
AlignAfterOpenBracket: AlwaysBreak
# 连续赋值时,对齐所有等号
AlignConsecutiveAssignments: true
# 连续声明时,对齐所有声明的变量名
AlignConsecutiveDeclarations: true
# 左对齐逃脱换行(使用反斜杠换行)的反斜杠
AlignEscapedNewlines: Right
# 水平对齐二元和三元表达式的操作数
AlignOperands: true
# 对齐连续的尾随的注释
AlignTrailingComments: true
# 允许函数声明的所有参数在放在下一行
AllowAllParametersOfDeclarationOnNextLine: true
# 允许短的块放在同一行
AllowShortBlocksOnASingleLine: false
# 允许短的case标签放在同一行
AllowShortCaseLabelsOnASingleLine: false
# 允许短的函数放在同一行: None, InlineOnly(定义在类中), Empty(空函数), Inline(定义在类中,空函数), All
AllowShortFunctionsOnASingleLine: Empty
# 允许短的lambda放在同一行
AllowShortLambdasOnASingleLine: Empty
# 允许短的if语句保持在同一行
AllowShortIfStatementsOnASingleLine: true
# 允许短的循环保持在同一行
AllowShortLoopsOnASingleLine: false
# 总是在定义返回类型后换行(