首页 > 其他分享 >QT 使用 QtCreator 格式化代码

QT 使用 QtCreator 格式化代码

时间:2024-02-02 16:55:54浏览次数:36  
标签:插件 格式化 QT format 配置 QtCreator Beautifier uncrustify

  Qt Creator 本身默认支持代码格式化,具体格式化快捷键为:Ctrl+i 。可以选择部分或全部选择后执行  Ctrl+i 操作完成代码格式化。但只限于缩进格式化,不会对大括号位置、小括号前后空格、运算符前后空格等进行格式化操作,显然使用起来并不是那么的舒心。

  那么如何优雅的实现全面的代码风格格式化?这就需要利用 Qt Creator 内置的 Beautifier 插件。

Beautifier 插件

  借助 Beautifier 插件,我们可以通过以下外部工具来格式化源代码:

  • Artistic Style

  • ClangFormat

  • Uncrustify

  Beautifier 可以对代码的赋值语句、if块、循环等,按照 Beautifier 选项中指定的格式对其进行格式化。可以使用预定义的样式,也可以定义我们自己的样式。

如何使用 Beautifier ?

  要使用Beautifier插件:

  下载并安装用于格式化源代码的工具(三者选其一):

  • Artistic Style

  • ClangFormat

  • Uncrustify

  选择 帮助 > 关于插件 > C ++ > Beautifier 以启用该插件。

  选择 立即重新启动 以重新启动 Qt Creator 并加载插件。

  选择工具 > 选项 > Beautifier 以指定美化文件的设置。

  勾选“Enable auto format on file save”复选框,以使用在“工具”字段中选择的工具保存文件时自动格式化文件。

配置 ArtisiticStyle 方式

  首选需要下载 Artisitic 。



// 下载地址
http://astyle.sourceforge.net/

  根据个人所使用的系统版本选择对应的下载文件,无论编译器是 vs 还是 mingw 均可用;如果是linux需要自行编译。

下载完成后,在 Qt Creator 中配置如下:

  • 在 Beautifier 配置选择为 Artisitic Style ;

  • 在 Artisitic 配置页面设置 Artisitic的exe文件路径。

自定义编码风格

Astyle 提供了一系列现成的风格,具体参见:

http://astyle.sourceforge.net/astyle.html

//google 风格样式
http://astyle.sourceforge.net/astyle.html#_style=google

  除此以外还可以进行自定义,需要在Artisitic style的use custom style中通过Add添加。

使用

  通过过工具 -> Beautifier -> Artisitic style -> Fomat 即可对当前文档格式化。或者在文档修改保存时会自动格式化。

配置 Clang-format 方式

  首选需要下载 clang-format 可执行文件。同样需要根据个人所使用的系统版本选择对应的下载文件。



// Pre-Built Binaries:
https://releases.llvm.org/download.html

下载安装完成后,在 Qt Creator 中配置如下:

  • 在 Beautifier 配置选择为 Clang-format ;

  • 在 Clang-format 配置页面设置 Clang-format 的exe文件路径。

自定义编码风格

Clang-format 提供了一系列现成的风格,如Google C++ 风格,具体参见:

// Clang-format 官方文档
https://clang.llvm.org/docs/ClangFormatStyleOptions.html

除此以外还可以进行自定义,点击配置页最下方 Use customized style -> Add ,在弹出窗口中写入你想要的代码格式化样式,可以通过Github上在搜索自定义配置。

使用

  通过过工具 -> Beautifier -> ClangFormat -> Format Current File 即可对当前文档格式化,当然默认快捷键依然可以。

配置 uncrustify 方式

  首选需要下载 uncrustify 。

// 下载最新版本即可,下载完成后解压到一个指定目录
https://sourceforge.net/projects/uncrustify/files/uncrustify/

下载解压完成后,在 Qt Creator 中配置如下:

  • 在 Beautifier 配置选择为 uncrustify ;

  • 在 uncrustify 配置页面设置 uncrustify 的可执行文件路径。

  配置方式基本与上两种工具类似,这里节省篇幅就不贴图了。

自定义编码风格

  与上两种方式配置基本相同,也支持Goolge的代码风格。大家也可以在Github搜索自己喜欢的风格应用。

使用

  通过过工具 -> Beautifier -> uncrustify -> Format 即可对当前文档格式化,当然默认快捷键依然可以。

  三种代码格式化工具,大家可根据自身喜好任选其一使用。

标签:插件,格式化,QT,format,配置,QtCreator,Beautifier,uncrustify
From: https://www.cnblogs.com/ybqjymy/p/18003463

相关文章

  • Qt Creator配置clang-format格式化代码插件
    clang-format是一种格式化代码的插件,可用于格式化C/C++/Java/JavaScript/Objective-C/Protobuf/C#代码。而QtCreator的格式化代码的功能只支持非常简单的缩进纠正,本博客主要讲述如何在QtCreator上配置clang-format插件。打开Beautifier插件打开帮助->关于插件......
  • Qt Creator使用clang-format实现源代码格式化排版(Windows/macOS)
    本篇先针对Windows系统来描述,末尾再补充macOS1、clang官网下载clang-format.exeLLVMDownloadPage 下载最新版本Releases·llvm/llvm-project·GitHub方法1:完整版我们需要从官网下载完整的LLVM编译器,Pre-BuiltBinaries,Windows(64-bit),LLVM-9.0.0-win64.exe。安装时,请......
  • Qt 解决中报错xxx.h:4:10: ‘QMainWindow‘ file not found
    前言qt中这个报错非常无语,在一个目录下打开是正常的,然后copy项目到其他文件夹就找不到报错,大家的原因都不太相同,这里列出以下几种可能及解决方法。可能1.中文路径很有可能copy到了一个中文路径下的目录,然后导致出现问题。解决方式就是换到英文目录可能2.将.pr......
  • Qt按钮字体旋转
    #include"mainwindow.h"#include"ui_mainwindow.h"classRotatedButton:publicQPushButton{public:explicitRotatedButton(constQString&text,QWidget*parent=nullptr):QPushButton(text,parent){}b......
  • Qt 调试器常见异常
    1.变量无提示信息,解决办法:工具->选项->调试器->概要->选中《当调试时在主编辑器中启用工具提示》2.CDB断点调试,解决无法查看QString值。运行至断点时,程序卡死。解决办法:打开“工具->选项->调试器->CDB”,把“UsePythondumper”选项勾选去掉,保存即可。3.CDB调试速度慢,解决办法如......
  • Qt Access violation - code c0000005 debug write access violation
    WhentryingtodebugmyQtapplication,theappthrowaexceptionas"Exceptionat0x77da2073,code:0xc0000005:writeaccessviolationat:0x1,flags=0x0"IamusingQtcreatorandvs2005compileranddebugger. Iloadtheprojectonvs2005a......
  • PyQt5+python AttributeError: 'QMainWindow' object has no attribute 'slot1'解决办
    Step1.原因分析因为以前写过pyqt5,所以还是有一定的基础的,但是最近重新写上位机的时候,突然发现以前的办法不好用了,以前就是直接从Qtdesigner创建完成后,使用指令生成一个py文件,从main文件中调用就可以了,这次发现,直接使用槽函数,会报错AttributeError:'QMainWindow'objec......
  • OPC/MQTT工业通信软件OPLink
    OPLink是上海泗博自主研发的基于OPC数据采集及转发,OPC数据到MQTT通信的产品。它是基于上海泗博多年的OPC应用经验和工业通信产品的开发背景,推出的OPC/MQTT工业通信软件。软件设计简洁、实用、稳定。同时,OPLink还具备与KepwareLinkMaster相似的数据转发功能,可实现PLC设备间的自主......
  • 关于Qt MySQL有QMYSQL驱动,但是Driver not loaded问题。
    首先,说一下我当时的问题,控制台显示有QMYSQL驱动,但是就是检测不到报错没有驱动,数据库连接不成功。 一开始是一直在复制粘贴.dll和.lib,但是还是不行,一直试一直拖好久都没解决这个问题。因为我sqlite可以用,所以也不着急搞MySQL,但是每次一有时间,看到MySQL不能使就不舒服,就像再调......
  • WPF创建一个类似聊天框的MQTT报文收发界面
    界面的xaml代码如下<ListViewx:Name="LvmqttMsg"Background="Transparent"ItemsSource="{BindingMqttMsgItems}"ScrollViewer.CanContentScroll="False"><ListView.ItemContainerStyle><......