AStyle代码格式工具

使用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使用说明。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
包含源代码,需要的可以自行下载。 把astyle.exe 复制到 C:\WINDOWS 目录里,省的指定路径 VC6++ 设置方法 菜单->工具->定制->工具菜单内容->新建菜单,参数如下 命令行:astyle.exe 变量: --style=k&r --brackets=break --indent=spaces --indent-cases --indent-preprocessor --pad-header --pad-oper --unpad-paren --keep-one-line-statements --keep-one-line-blocks --convert-tabs $(FileName)$(FileExt) 初始目录: $(FileDir) VC2008 外部工具里设置,还可以添加快捷键 命令:astyle.exe 参数: --style=k&r --brackets=break --indent=spaces --indent-cases --indent-preprocessor --pad-header --pad-oper --unpad-paren --keep-one-line-statements --keep-one-line-blocks --convert-tabs $(ItemFileName)$(ItemExt) 初始目录: $(ItemDir) CodeBlocks 设置差不多,很多绿色版的已经设置好了 AStyle_2.02_windows.zip bin 目录里有官方编译好的 Artistic Style 2.01 Maintained by: Jim Pattee Original Author: Tal Davidson Usage : astyle [options] Source1.cpp Source2.cpp [...] astyle [options] Beautified When indenting a specific file, the resulting indented file RETAINS the original file-name. The original pre-indented file is renamed, with a suffix of ".orig" added to the original filename. Wildcards (* and ?) may be used in the filename. A 'recursive' option can process directories recursively. By default, astyle is set up to indent C/C++/C#/Java files, with four spaces per indent, a maximal indentation of 40 spaces inside continuous statements, a minimum indentation of eight spaces inside conditional statements, and NO formatting options.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值