最近在做一个C++项目,我们使用了一个叫做AStyle的插件来做代码格式化。
下载方式1:通过Visual Studio下载
- 启动Visual Studio,以下简称VS;
- 英文版VS:VS主菜单 > Tools > Extension Manager…; 中文版VS:VS主菜单 > 工具 > 扩展和更新…;
- 左边选择Online Gallery(联机),输入关键字“AStyle”。
下载方式2:通过页面下载
下载页面:https://visualstudiogallery.msdn.microsoft.com/2f3f04cd-2866-4e47-a671-d1cc9cc3fb02
这个插件的安装和使用,在下载页面的“说明”部分已经讲得很详细了。
设置
按照以下操作可以调出设置界面:
- 英文版VS:VS主菜单 > Tools > Options > 左边目录树 > AStyle Formatter;
- 中文版VS:VS主菜单 > 工具 > 选项 > 左边目录树 > AStyle Formatter。
推荐参数
下面是我们项目在用的设置参数,在设置界面点“Edit”按钮粘贴进去就行:
--style=java --indent=spaces=4 --align-pointer=type --align-reference=type --attach-namespaces --attach-classes --attach-inlines --attach-extern-c --indent-cases --indent-col1-comments --pad-oper --pad-header --unpad-paren --close-templates --remove-brackets --convert-tabs --mode=c
以上参数的主要作用是:
- 排版风格以“Java Style”为基础,在其之上进行细微调整,减少设置的复杂度;
- 关闭掉一些可能会降低代码可读性的设置,比如:
- 不限定每行代码的最大长度,以免因为自动换行而破坏注释的排版;
- 不自动清除代码中的空行,以免破坏代码的段落布局。
- 调整{}的位置;
- 调整缩进,比如:
- 命名空间不缩进;
- 可见性关键字(public、protected和private)不缩进;
- 缩进统一使用4个空格代替制表符(Tab)。
- 调整空格,比如:
- 清理行末位多余的空格;
- 参数类型和名称之间的空格。
格式化代码
打开目标代码文件,通过菜单项来触发格式化:
- 英文版VS:VS主菜单 > Edit > Advanced > Format Document (AStyle);
- 中文版VS:VS主菜单 > 编辑 > 高级 > Format Document(AStyle)。
设置快捷键
VS默认没有给Asyle分配快捷键,需要手工来为Format Document菜单项分配快捷键:
- 英文版VS:VS主菜单 > Tools > Options > 左边目录树 > Environment > Keyboard;
- 中文版VS:VS主菜单 > 工具 > 选项 > 左边目录树 > 环境 > 键盘。