好看且风格统一的代码更利于维护,看着就有一种美感。但是不同人的习惯和代码缩进风格很难统一,于是神器AStyle就派上了用了,这里简单介绍并分享下Astyle工具的使用和配置。
常用的C/C++代码格式优化工具有两个,一是老牌的indent,再一个就是astyle了。astyle不但可以对C/C++进行格式优化,还可以处理Java和C#。版本一直在保持更新,且开放源代码,可以自行编译或使用自带的发布版本。通过命令““astyle -V”可以查询版本信息,最新版本的源代码和可执行文件可以在此处【下载】
1、Astyle官网下载地址:Artistic Style download | SourceForge.net
1、将压缩包解压到指定目录下。
2、找到Astyle.exe存放目录。
命令行下使用,需把Astyle.exe放在环境变量能找到的位置。astyle是一个命令行工具,命令语法很简单:
- astyle [options] < original > Beautified
- astyle [options] Foo.cpp Bar.cpp [...]
原始文件备份到foo.cpp.orgin。所以你可以安全的使用该软件而不必担心会将代码改得无法回头。
> Astyle --style=allman --indent=spaces=4 --align-pointer=type --attach-closing-while --indent-col1-comments --pad-oper --pad-comma --pad-header --add-brackets --mode=c -i .\mytest.cpp
- //--style=ansi:ANSI 风格格式和缩进
- namespace foospace
- {
- int Foo()
- {
- if (isBar)
- {
- bar();
- return 1;
- }
- else
- return 0;
- }
- }
-
- //--style=kr :Kernighan&Ritchie 风格格式和缩进
- namespace foospace {
- int Foo() {
- if (isBar) {
- bar();
- return 1;
- } else
- return 0;
- }
- }
-
- //--style=linux :Linux 风格格式和缩进
- namespace foospace
- {
- int Foo()
- {
- if (isBar) {
- bar();
- return 1;
- } else
- return 0;
- }
- }
-
- //--style=gnu :GNU 风格格式和缩进
- namespace foospace
- {
- int Foo()
- {
- if (isBar)
- {
- bar();
- return 1;
- }
- else
- return 0;
- }
- }
-
- //--style=java :Java 风格格式和缩进
- class foospace {
- int Foo() {
- if (isBar) {
- bar();
- return 1;
- } else
- return 0;
- }
- }
clion已经很强大了,其实也可以不用astyle。 clion里已经有了一个叫clang-format的工具,直接启用即可,在fileWaters里配置下可以保存时触发格式化。这里还是简单介绍下如何配置astyle吧。
下载插件File Watchers插件
配置插件File Watchers
按照图中一摸一样填写即可
Name:用户自己取个名字
File type:选C/C++
Scope:选择Open Files
Program:找到目录并选择Astyle.exe
Argument(附:博主最满意格式):
-i $FileName$ --style=allman --indent=spaces=4 --align-pointer=type --attach-closing-while --indent-col1-comments --pad-oper --pad-comma --pad-header --add-brackets --mode=c
Output paths to refresh:$FileName$
Working Directory:$FileDir$
最后发现,clion中原来就支持代码格式化的,快捷键为:
CTRL+ALT+L 自 动缩进,但这好像不够强大。
Clion相关快捷键:
CTRL+ALT+I 自 动缩进
CTRL+ALT+L 自 动缩进(我主要是找这个功能,其他的没有试过)
查询快捷键CTRL+N 查找类
CTRL+SHIFT+N 查找文件
CTRL+SHIFT+ALT+N 查 找类中的方法或变量
CIRL+B 找变量的来源
CTRL+ALT+B 找所有的子类
CTRL+SHIFT+B 找变量的 类
CTRL+G 定位行
CTRL+F 在当前窗口查找文本
CTRL+SHIFT+F 在指定窗口查找文本
CTRL+R 在 当前窗口替换文本
CTRL+SHIFT+R 在指定窗口替换文本
ALT+SHIFT+C 查找修改的文件
CTRL+E 最 近打开的文件
F3 向下查找关键字出现位置
SHIFT+F3 向上一个关键字出现位置
F4 查找变量来源
CTRL+ALT+F7 选 中的字符 查找工程出现的地方
CTRL+SHIFT+O 弹出显示查找内容
自动代码ALT+回车 导入包
CTRL+ALT+T 把选中的代码放在 TRY{} IF{} ELSE{} 里
复制快捷方式F5 拷贝文件快捷方式
CTRL+D 复制行
CTRL+X 剪 切,删除行
在VS 2008中使用astyle代码格式化工具 - 狼哥2 - 博客园