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系统:

相关推荐
剪一朵云爱着12 分钟前
PAT 1164 Good in C
c语言·开发语言
LNN202228 分钟前
Qt 5.8.0 下实现触摸屏热插拔功能的探索与实践(3)
开发语言·qt
移远通信31 分钟前
配网-复杂场景
服务器·开发语言·php
一只小bit1 小时前
Qt 快速开始:安装配置并创建简单标签展示
开发语言·前端·c++·qt·cpp
wadesir1 小时前
深入理解Rust静态生命周期(从零开始掌握‘static的奥秘)
开发语言·后端·rust
是有头发的程序猿1 小时前
Python爬虫实战:面向对象编程在淘宝商品数据抓取中的应用
开发语言·爬虫·python
Query*1 小时前
杭州2024.08 Java开发岗面试题分类整理【附面试技巧】
java·开发语言·面试
Onebound_Ed1 小时前
Python爬虫进阶:面向对象设计构建高可维护的1688商品数据采集系统
开发语言·爬虫·python
foxsen_xia2 小时前
Go安装、配置和vsCode配置Go
开发语言·vscode·golang