Qt Creator使用Clang Format方法

Qt Creator使用Clang Format

习惯性的想格式化代码,发现Qt Creator默认居然是没有代码格式化的,只有一个缩进。

Qt Creater中有个插件:beautifier,在"帮助->关于"插件中,开启"Beautifier"即可(会提醒需要重启Qt creator)。

注:Qt Creator安装包中不包含这个格式化工具,它的作用是调用格式化工具进行格式化。

windows系统:

安装:

官方的说支持三种外部格式化工具:Artistic Style、ClangFormat、Uncrustify 。

这里仅以 ClangFormat 来说明:

ClangFormat 是LLVM的一个子功能,LLVM是类似GCC的东西。

https://github.com/llvm/llvm-project/releases/

所以,想用 ClangFormat ,就需要下载LLVM,根据上面的地址,搜索适合自己的版本即可。

安装LLVM的时候PATH选项无所谓,因为Qt Creater的beautifier的Clang Format选项中,既可以根据PATH搜索,也可以自行指定路径。

配置:

安装好LLVM之后,就可以设置 Clang Format 选项。

"编辑->preferences"; "Beautifier->Clang Format": Configure: Clang Format command:

先配置路径(如:C:\Program Files\LLVM\bin\clang-format.exe );

选择代码样式

默认样式和自定义样式。

默认样式:LLVM、Google、Chromium、Mozilla、WebKit、File

需要重点说一下File样式:

因为其他的样式都是给定的样式,而 File 则不是。

File 是 clang-format.exe -style=file 的意思,意味着 clang-format.exe 会去搜索样式文件( *.clang-format 文件)。

需要注意的是,它的搜索路径是当前文件所在的文件夹或者当前项目。

自定义样式:Options -> Use customized style -> Add
bash 复制代码
AccessModifierOffset: 0
AlignEscapedNewlinesLeft: false
AlignTrailingComments: true
AllowAllParametersOfDeclarationOnNextLine: false
AllowShortFunctionsOnASingleLine: false
AllowShortIfStatementsOnASingleLine: false
AllowShortLoopsOnASingleLine: false
AlwaysBreakBeforeMultilineStrings: false
AlwaysBreakTemplateDeclarations: false
BinPackParameters: false
BreakBeforeBinaryOperators: false
BreakBeforeTernaryOperators: false
BreakConstructorInitializersBeforeComma: false
ColumnLimit: 128
BreakBeforeBraces: Attach
CommentPragmas: ''
ConstructorInitializerAllOnOneLineOrOnePerLine: false
ConstructorInitializerIndentWidth: 0
ContinuationIndentWidth: 0
Cpp11BracedListStyle: false
DerivePointerBinding: false
IndentCaseLabels: true
IndentFunctionDeclarationAfterType: false
IndentWidth: 4
Language: Cpp
MaxEmptyLinesToKeep: 1
NamespaceIndentation: None
ObjCSpaceAfterProperty: true
ObjCSpaceBeforeProtocolList: true
ObjCBlockIndentWidth: 4
PenaltyBreakBeforeFirstCallParameter: 100
PenaltyBreakComment: 100
PenaltyBreakFirstLessLess: 0
PenaltyBreakString: 100
PenaltyExcessCharacter: 1
PenaltyReturnTypeOnItsOwnLine: 20
SpaceBeforeAssignmentOperators: true
SpaceBeforeParens: ControlStatements
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 1
SpacesInAngles: false
SpacesInCStyleCastParentheses: false
SpacesInContainerLiterals: false
SpacesInParentheses: false
TabWidth: 4
UseTab: Never

使用:

工具->Beautifier->ClangFormat 里面有两个选项,分别是格式化当前文件、格式化选定内容。

注:也可使用快捷方式进行操作,"编辑->preferences->环境->键盘->ClangFormat": ***

linux系统:

macOS系统:

相关推荐
侃侃_天下3 天前
最终的信号类
开发语言·c++·算法
echoarts3 天前
Rayon Rust中的数据并行库入门教程
开发语言·其他·算法·rust
Aomnitrix3 天前
知识管理新范式——cpolar+Wiki.js打造企业级分布式知识库
开发语言·javascript·分布式
每天回答3个问题3 天前
UE5C++编译遇到MSB3073
开发语言·c++·ue5
伍哥的传说3 天前
Vite Plugin PWA – 零配置构建现代渐进式Web应用
开发语言·前端·javascript·web app·pwa·service worker·workbox
小莞尔3 天前
【51单片机】【protues仿真】 基于51单片机八路抢答器系统
c语言·开发语言·单片机·嵌入式硬件·51单片机
我是菜鸟0713号3 天前
Qt 中 OPC UA 通讯实战
开发语言·qt
JCBP_3 天前
QT(4)
开发语言·汇编·c++·qt·算法
Brookty3 天前
【JavaEE】线程安全-内存可见性、指令全排序
java·开发语言·后端·java-ee·线程安全·内存可见性·指令重排序
百锦再3 天前
[特殊字符] Python在CentOS系统执行深度指南
开发语言·python·plotly·django·centos·virtualenv·pygame