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

相关推荐
yuechuji0014 小时前
四、MPR多平面重建(采用VTK方法代码示例)
qt
十五年专注C++开发4 小时前
QHttp: 一个开源的轻量级、异步、高性能 HTTP 库
c++·qt·网络协议·http·qhttp
宏笋4 小时前
QT 实现文件资源浏览器
qt
輕華4 小时前
YOLOv10轮毂缺陷检测(下)——模型推理与PyQt5可视化应用
开发语言·qt·yolo
小短腿的代码世界17 小时前
Qt进程间通信全体系深度解析:从QSharedMemory到本地Socket的七层武器
开发语言·qt
学习,学习,在学习18 小时前
Qt工控仪器程序框架设计详解(工控多仪器控制版本)
开发语言·c++·qt
mengzhi啊21 小时前
qt程序release版在Windows运行崩溃。使用dump文件+vs2022进行解析+豆包
qt
sycmancia1 天前
Qt——拖放事件深度剖析
开发语言·qt
长沙红胖子Qt1 天前
项目实战:Qt圆形百分比进度控件基础设计构架Demo
qt·圆形进行百分比控件