抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

对于习惯使用VsCodeSublimeTextJetBrains 全家桶等编译器的开发人员来说,一键格式化代码是必不可少的功能。最近,我在进行Qt C++开发时发现,Qt Creator默认没有一键格式化代码相关的配置。经过几小时的面向搜索引擎解决问题后,我发现了一个可行的解决方案,今天在这里分享给大家。

大致的思路是可以以简单描述为:配置Beautifier:arrow_right:下载Artistic Style:arrow_right:配置 Artistic Style:arrow_right:设置快捷键

下面我详细展开每个步骤,一一讲解。

本文只针对Windows操作系统下的配置进行验证,其他操作系统请自行搜索相关教程。

1.配置 Beautifier

打开Qt Creator,依次点击菜单栏的帮助关于插件

展开C++选项卡,找到Beautifier(experimental),勾选Load打开Beautifier。

image-20200811112412501

此时,系统会提示重启Qt Creator后生效,我们立刻重启编辑器。

重启后,我们需要检查是否已开启 Beautifier,依次点击菜单栏的工具选项

如下图所示,在左侧有Beautifier选项卡时,说明开启成功。

image-20200811112751997

2.下载 Artistic Style

这里有两个下载源,

1)https://sourceforge.net/projects/astyle/files/ –来自官方(不推荐,下载速度较慢)

2)https://amos.lanzous.com/iXURDfi7zgb –本人上传(推荐,解压密码:as2020

3.配置 Artistic Style

下载完成并解压,将解压后的文件夹放到非中文路径下,接着打开上一张图片所示的选项窗口,点击Beautifier

  • 点击General选项卡,可根据自己的需求决定是否勾选 Enable auto format on file save(当文件被保存时自动格式化)。

  • Tool栏选择Artistic Style,下面两项:Restrict to MIME TypesRestrict to files contained in current project可以根据自己的需要自由选择。

  • 点击 Artistic Style选项卡,在 Artistic Style command 选项中,点击浏览选择打开刚刚下载并解压好的 Artistic Style文件夹,再打开bin文件夹,找到AStyle.exe,点击打开,看到显示字色变成白色,说明打开成功。

  • 继续给AStyle增加格式化代码的配置,这里提供了四个选项,

    • .astylerc defined in project files 表示使用在项目文件 pro 中,定义 DISTFILES 中的任意 .astylerc 文件选项;
    • Use specific config file 表示使用特定的某个配置选项文件;
    • Use file .astylerc or astylerc in HOME或APPDATA 表示使用环境变量HOME(Linux)目录中的 .astylerc 选项文件,或者APPDATA(Windows)目录中的 astylerc 选项文件;
    • Use customized style 表示使用用户自定义的选项配置(内容与astylerc文件相同)。

这里我选用的是第四个选项,自定义配置。这种配置方式相对简单,因为Artistic Style 本身提供了一些代码格式化的风格。

image-20200811115754063

依次点击Add、输入自定义的一个名称、输入配置值,我这里选用的是GNU风格,Artistic Style 自带了15种配置风格。

这里介绍几种常见的代码风格,更多的代码风格请参考官方帮助文档

allman风格

1
2
3
4
5
6
7
8
9
10
int Foo(bool isBar)
{
if (isBar)
{
bar();
return 1;
}
else
return 0;
}

java风格

1
2
3
4
5
6
7
int Foo(bool isBar){
if (isBar){
bar();
return 1;
}else
return 0;
}

kr风格

1
2
3
4
5
6
7
8
int Foo(bool isBar)
{
if (isBar){
bar();
return 1;
}else
return 0;
}

gnu风格

1
2
3
4
5
6
7
8
9
10
int Foo(bool isBar)
{
if (isBar)
{
bar();
return 1;
}
else
return 0;
}

linux风格

1
2
3
4
5
6
7
8
int Foo(bool isBar)
{
if (isFoo) {
bar();
return 1;
} else
return 0;
}

google风格

1
2
3
4
5
6
7
int Foo(bool isBar) {
if (isBar) {
bar();
return 1;
} else
return 0;
}

4.设置快捷键

依次点击菜单栏工具环境键盘,找到FormatFile,然后点击Record录制自己的快捷键,最后点击Appply

image-20200811133917824

到这儿,我们Qt 环境配置的教程就结束了,后续我会继续带来Qt学习的相关笔记、想法和其他干货~

评论