最近在做一个C++项目,我们使用了一个叫做AStyle的插件来做代码格式化。

下载方式1:通过Visual Studio下载

  1. 启动Visual Studio,以下简称VS;
  2. 英文版VS:VS主菜单 > Tools > Extension Manager…; 中文版VS:VS主菜单 > 工具 > 扩展和更新…;
  3. 左边选择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

以上参数的主要作用是:

1、排版风格以“Java Style”为基础,在其之上进行细微调整,减少设置的复杂度;

2、关闭掉一些可能会降低代码可读性的设置,比如:

  • 不限定每行代码的最大长度,以免因为自动换行而破坏注释的排版;
  • 不自动清除代码中的空行,以免破坏代码的段落布局。

3、调整{}的位置;

4、调整缩进,比如:

  • 命名空间不缩进;
  • 可见性关键字(public、protected和private)不缩进;
  • 缩进统一使用4个空格代替制表符(Tab)。

5、调整空格,比如:

  • 清理行末位多余的空格;
  • 参数类型和名称之间的空格。

格式化代码

打开目标代码文件,通过菜单项来触发格式化:

  • 英文版VS:VS主菜单 > Edit > Advanced  > Format Document (AStyle);
  • 中文版VS:VS主菜单 > 编辑 > 高级 > Format Document(AStyle)。

设置快捷键

VS默认没有给Asyle分配快捷键,需要手工来为Format Document菜单项分配快捷键:

  • 英文版VS:VS主菜单 > Tools > Options > 左边目录树 > Environment > Keyboard;
  • 中文版VS:VS主菜单 > 工具  > 选项 > 左边目录树 > 环境 > 键盘。

在Visual Studio中使用AStyle的更多相关文章

  1. 如何在 Visual Studio 中使用 Git 同步代码到 CodePlex

    开源社区不管在国内还是国外都很火热,微软也曾因为没有开源而倍受指责,但是随着 .Net framework.ASP.Net MVC等框架的逐渐开源,也让大家看到了微软开源的步伐.CodePlex 则是 ...

  2. Visual Studio 中 Build 和 Rebuild 的区别

    因为之前写的程序比较小,编译起来比较快,所以一直都没有太在意 Build 和 Rebuild 之间的区别,后来发现两个还是有很大不同. Build 只针对在上次编译之后更改过的文件进行编译,在项目比较 ...

  3. [No0000AE]在 Visual Studio 中调试 XAML 设计时异常

    在 Visual Studio 中进行 WPF, UWP, Silverlight 开发时,经常会遇到 XAML 设计器由于遭遇异常而无法正常显示设计器视图的情况.很多时候由于最终生成的项目在运行时并 ...

  4. Visual Studio中创建混合移动应用程序解决方案Xamarin Portable Razor

    在Visual Studio中创建混合移动应用程序的一个解决方案是使用Xamarin Portable Razor工具,这是ASP.NET MVC API针对移动设备的一个轻量级实现.Xamarin编 ...

  5. 对 Visual Studio 中的Resharper禁用对某种文件的检测

    原因:在Visual Studio中安装Reshaper后,就会对各种文件进行代码检测,但是因为Reshaper更新的速度不是很及时,所以有时会对Visual Studio中某些新功能误断,导致Cod ...

  6. 在Chrome+Visual Studio中调试asp.net程序很慢的问题(Firefox也有类似问题)

    在Chrome+Visual Studio中调试asp.net程序很慢的问题(Firefox也有类似问题) 今天开始起在Chrome中调试,发现问题主要出在菜单栏(layout文件)中,google了 ...

  7. 在Visual Studio中使用正则表达式匹配换行和批量替换

    系统环境:Windows 8.1 Enterprise Update 2 x64 开发环境:Mircosoft Visual Studio Ultimate 2013 Update 2 RC 问题:如 ...

  8. 利用Visual GDB在Visual Studio中进行Android开发

    转载请注明http://www.cnblogs.com/adong7639/p/4119467.html 无意中发现了Visual GDB这个工具,可以再Visual Studio中进行Android ...

  9. [Xamarin.iOS] Visual Studio中Xamarin.iOS项目,无法加入PCL项目参考、NuGet组件参考

    [Xamarin.iOS] Visual Studio中Xamarin.iOS项目,无法加入PCL项目参考.NuGet组件参考 解决方案 目前Visual Studio中最新版本的Xamarin.iO ...

随机推荐

  1. 解决XCode 4.x SVN无法连接的问题

    XCode升级到4.X版本后,确实好用了不少.但普通都存在SVN无法连接的问题.XCode4.x Source Control功能迁移到了File - Source Control目录下,也出现了一些 ...

  2. Android(java)学习笔记239:多媒体之撕衣服的案例

    1.撕衣服的案例逻辑:       是两者图片重叠在一起,上面我们看到的是美女穿衣服的图片,下面重叠(看不到的)是美女没有穿衣服的图片.当我们用手滑动画面,上面美女穿衣服的图片就会变成透明,这样的话下 ...

  3. Android(java)学习笔记232:Android进程间通讯(IPC)之AIDL

    一.IPC inter process communication  进程间通讯 二.AIDL android  interface  defination  language  安卓接口定义语言 满 ...

  4. 鼠标滑动判断与y轴的距离

     $(window).scroll(function(){                        var y = window.scrollY;//754到达                  ...

  5. jQuery 表单验证插件——Validation(基础)

    这个插件不错,是用jquery写的.能进行表单验证.我喜欢它的原因是因为 1.他有自带的验证规则 2.你可以自己写验证规则 3.可以通过ajax与后台交互,与后台数据比较.最后返回结果!我在表单中要验 ...

  6. RESTful Web Services简单介绍

    近几年,RESTful Web Services渐渐开始流行,大量用于解决异构系统间的通信问题.很多网站和应用提供的API,都是基于RESTful风格的Web Services,比较著名的包括Twit ...

  7. 关于WCF一些基础。

    关于WCF Windows Communication Foundation(WCF)是由微软发展的一组数据通信的应用程序开发接口,可以翻译为Windows通讯接口,它是.NET框架的一部分.由 .N ...

  8. (转)dedecms [field:array runphp='yes']标签使用技巧

    field支持用array获取任意字段的值:(支持标记:文章内容模板的 {dede:field name=’array’ /}.arclist.arclistsg.loop.sql 标签) 我们平时常 ...

  9. SQL利用临时表实现动态列、动态添加列

    --方法一--------------------------------------------------------------------- declare @sql as varchar(1 ...

  10. <q>标签,短文本引用

    想在你的html中加一段引用吗?比如在你的网页的文章里想引用某个作家的一句诗,这样会使你的文章更加出彩,那么<q>标签是你所需要的. 语法: <q>引用文本</q> ...