QT5 - 添加Astyle外部格式化工具

文章目录

QT5 - 添加Astyle外部格式化工具

概述

QT5自带格式化插件,但是设置参数不好设置。看控制台提示信息,没生效。

自己添加外部工具Astyle方便一些,直观。

笔记

添加外部工具

添加工具

将最新下载的Astyle-3.6.16-x64放到自己的工具目录

为了参数配置方便,只填写exe名称和配置文件名称。参数都写在配置文件中。

bash 复制代码
D:\AStyle\bin\AStyle.exe
--options=D:\AStyle\bin\my_style.cfg %{CurrentDocument:FilePath}

在配置文件中,按照Astyle语法写上规则就行了。

bash 复制代码
# @file my_style.cfg
# @brief 
# on qt 外部工具配置 --options=D:\AStyle\bin\my_style.cfg %{CurrentDocument:FilePath}

--style=1tbs
--indent=spaces=4

设置快捷键

QtCreator没有简单方法将配置的外部工具放到顶层菜单或者顶层工具条上,折中来说,设置快捷键就是最简单的了。

快捷键冲突的解决。

我用的CTRL + I 原来是自动缩进的快捷键。

可以搜索 "CTRL + I", 将变红的这个快捷键都找出来,删掉自己不用的快捷键就好了。

备注

剩下的事情,就是看ASytle新版文档,将需要的格式化参数加入D:\AStyle\bin\my_style.cfg

整理后的Astyle规则文件如下:

bash 复制代码
# @file my_style.cfg
# @brief 
# on qt 外部工具配置 --options=D:\AStyle\bin\my_style.cfg %{CurrentDocument:FilePath}

--style=1tbs
--indent=spaces=4
--attach-namespaces
--attach-classes
--attach-inlines
--attach-extern-c
--attach-closing-while
--indent-switches
--indent-cases
--indent-namespaces
--indent-labels
--indent-preproc-block
--indent-preproc-define
--indent-col1-comments
--min-conditional-indent=0 # 一行过长需要折成多行时,折行的行和第一个关键字对齐,不要缩进
--max-continuation-indent=40
--indent-lambda
--break-blocks
--pad-comma
--pad-include
--unpad-paren
--unpad-brackets
--delete-empty-lines
--squeeze-lines=1
--align-pointer=type
--align-reference=type
--break-one-line-headers
--add-braces
--attach-return-type
# --keep-one-line-blocks # 保留单行块
--close-templates
--remove-comment-prefix
--max-code-length=80
--break-after-logical
--squeeze-ws    # 用于压缩参数列表中多余的空格

备注

自己添加的外部工具会自动存为一个.xml, QtCreator启动时会自动载入这个.xml.

在QtCreator中不好改外部工具的命名,可以自己找到这个xml进行修改。

文件位置如下:

bash 复制代码
C:\Users\chenx>echo %APPDATA%\QtProject\qtcreator\externaltools\
C:\Users\chenx\AppData\Roaming\QtProject\qtcreator\externaltools\

END

相关推荐
Quz11 小时前
Qt Quick 粒子系统(二):系统控制与生命周期管理
qt·qml·粒子系统
Quz11 小时前
Qt Quick 粒子系统(三):发射器深度解析
qt·qml·粒子系统
San813_LDD1 天前
[QT]《Qt 开发避坑指南:随机数、容器操作与 VS 环境配置》
开发语言·qt
稷下元歌1 天前
七天学会plc加机器视觉之AI 接入 外设模块开发全详细操作文档(全程配套视频按文档实操)
python·sql·qt·贪心算法·r语言·wpf·时序数据库
艾莉丝努力练剑1 天前
【QT】界面优化:QSS
linux·运维·开发语言·网络·qt·计算机网络·udp
雪的季节1 天前
Qt 自定义表头
开发语言·qt
艾莉丝努力练剑1 天前
【QT】系统相关:QT文件
linux·服务器·开发语言·网络·qt·tcp/ip·计算机网络
爱思考的小伙2 天前
Qt-03:串口助手
qt
864记忆2 天前
远程执行指令-常用指令集
qt
郝学胜_神的一滴2 天前
Qt 高级开发 026:QTabWidget御道,从筑基到化境
c++·qt