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

相关推荐
咩咩大主教几秒前
C++基于select和epoll的TCP服务器
linux·服务器·c语言·开发语言·c++·tcp/ip·io多路复用
FuLLovers31 分钟前
2024-09-13 冯诺依曼体系结构 OS管理 进程
linux·开发语言
everyStudy1 小时前
JS中判断字符串中是否包含指定字符
开发语言·前端·javascript
luthane1 小时前
python 实现average mean平均数算法
开发语言·python·算法
凡人的AI工具箱2 小时前
AI教你学Python 第11天 : 局部变量与全局变量
开发语言·人工智能·后端·python
sleP4o2 小时前
Python操作MySQL
开发语言·python·mysql
是店小二呀2 小时前
【C++】C++ STL探索:Priority Queue与仿函数的深入解析
开发语言·c++·后端
洛寒瑜2 小时前
【读书笔记-《30天自制操作系统》-23】Day24
开发语言·汇编·笔记·操作系统·应用程序
ephemerals__2 小时前
【c++】动态内存管理
开发语言·c++
咩咩觉主2 小时前
en造数据结构与算法C# 群组行为优化 和 头鸟控制
开发语言·c#