使用AStyle进行代码格式化
在日常的编码当中,大家经常要遵照一些设计规范,如命名规则、代码格式规范等等。或者大家在看一些别人写的代码时,若代码格式不是很规范时,看起来是比较麻烦的。
今天就给大家介绍一款名为AStyle的代码格式化工具,Astyle是一个开源代码格式化工具,可以使大家在日常开发中非常方便的调整大家的代吗格式。支持多种开发语言,
支持多种格式化风格,本文主要简单介绍下怎样通过简单的几个步骤同Visual Studio的IDE进行集成,进行代码格式化。好了,入题:
第一步。下载最新版本的Astyle.
当前最新版本是Artistic Style 2.02.
可以使用以下连接下载最新版本:
http://sourceforge.net/projects/astyle/files/
第二步。把AStyle.exe复制到Visual Studio安装目录下的外部工具目录
下载后加压AStyle_2.02.1_windows.zip,把其中Bin目录下的AStyle.exe复制到Visual Studio的安装目录下的外部工具目录,我使用的是VS2008,就是以下路径:
C:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools,其它版本的路径基本相似。
压缩包中包含源代码,你也可以自行编译生成AStyle.exe.
第三步。集成Astyle.exe到IDE.
打开Tools->External Tools菜单,见下图:
如下图,Add按钮添加外部工具。
Title:
显示的工具名字,保存后会显示在Tools菜单。
Command输入:
C:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools\AStyle.exe
Arguments参数:
输入:--style=ansi $(ItemFileName)$(ItemExt)
其中ansi可以修改成其它风格的参数,具体可参考AStyle的说明文档。
具体可参见以下链接http://astyle.sourceforge.net/
Initial directory:初始化目录:
输入:$(ItemDir)
勾选Use Output windows使用IDE的输出窗口。
OK保存后,可在Tools菜单见到以下按钮。
大功告成,现在,你可以使用它来轻松的格式化你的代码了。是不是简单方便呀?
下次再介绍下怎样使用StyleCop进行代码审查,今天先到这儿。
以下是相关连接:
Home Page: http://astyle.sourceforge.net/
Project Page: http://sourceforge.net/projects/astyle/
转载请保留以下链接,谢谢!
http://www.cnblogs.com/JerryTian/archive/2012/09/20/AStyle.html
使用StyleCop进行代码审查
工欲善其事,必先利其器,上篇简单介绍了怎样使用Astyle进行代码格式化,使编写的代码具有一致的风格。今天简单介绍下怎样使用StyleCop对原代码进行审查,看编写的代码是否遵循设计规范、.Net约定和一些贯用法等。保证代码的一致性,可读性等等。
在此之前,先简单介绍下FxCop(起初只是微软内部使用的工具),一个分析托管程序集,检测代码的总体正确性的工具,告诉用户哪些地方不符合设计规范。他使用的评估规则已经发展了多年,凝聚了顶尖.Net框架开发人员的知识和技术。但是FxCop是基于托管代码分析的,即编译后的程序集。今天我们介绍的StyleCop同样是用来检查代码是否符合设计规范的,它是基于原代码验证的,仅支持C#语言,就是在开发期间进行代码验证的工具,相信在日常开发中,会帮助到大家,在使用工具的同时,逐渐改善和提高大家的编码规范和意识,另外,相关内容推荐大家读下《.Net设计规范-.Net约定、贯用法与模式》这本书。好了,入题:
首先,还是先下载最新版的StyleCop.
下载地址:http://stylecop.codeplex.com/
当前最新版本是StyleCop-4.7.37.0.msi,版本4.7,下载完成后,开始安装,安装过程非常简单,这里就不上图了。安装完成后,好像没什么反应,在开始菜单也不会出现相关菜单。没关系,现在打开Visual Studio,我以Visual Studio2010为例,见下图:
在项目菜单上会出现StyleCop相关菜单。
点击“Run StyleCop”,呵,警告一大堆,见下图:
StyleCop已经把不符合规范的相关警告全部列出,并且已经定位到行和列,双击任一条项目即可定位到问题点。
也可以基于单个文件进行检查,只要在当前代码页右键点击“Run StyleCop”即可,见下图:
其中检验的规则可在项目名称的右键菜单“StyleCop Settings”中设定,见下图,使用中发现对中文支持的不是很好。其中一些不适用的校验规则可以不勾选即可。
下面主要对一些常见的警告简单说明:
SA1633 : CSharp.Documentation : The file has no header, the header Xml is invalid, or the header is not located at the top of the file.
代码不包含文件头说明,格式如下。
//-----------------------------------------------------------------------
// <copyright file="Widget.cs" company="Sprocket Enterprises">
// Copyright (c) Sprocket Enterprises. All rights reserved.
// </copyright>
// <author>John Doe</author>
//-----------------------------------------------------------------------
SA1507 : CSharp.Layout : The code must not contain multiple blank lines in a row.
代码部分存在多个空格
SA1600 : CSharp.Documentation : The method must have a documentation header.
方法必须要头部说明,只要在方法前键入3个斜杠,IDE自动会根据该方法生成相关头文档说明。
SA1400 : CSharp.Maintainability : The class must have an access modifier.
类必须要有一个访问修饰符,如:public、private等。
SA1513 : CSharp.Layout : Statements or elements wrapped in curly brackets must be followed by a blank line.
语句之间要有空行。
SA1202 : CSharp.Ordering : All private methods must be placed after all public methods.
私有方法要放在公有方法子后。
SA1650 : CSharp.Documentation : The documentation text within the summary tag contains incorrectly spelled words: 异常测试
这个是对中文支持的不够好。拼写检查识别不到。
其他还有常见的变量首字母小,常量首字母大写,等等常规检查,其它规则请参见StyleCop使用说明。