使用astyle格式化代码
astyle是一款代码格式化工具,它的下载地址是:http://sourceforge.net/projects/astyle
一。基本命令
astyle --style=ansi main.cs (ansi/linux:使用ansi/linux风格格式化main.cs)
了解上面的命令就可以格式化一个文件了,下面来看如何格式化目录下的文件
二。格式化目录
for /R %f in (*.cpp;*.cs;) do astyle --style=ansi "%f" (使用ansi风格格式下当前目录下的所有cpp,cs文件,注意:批处理文件时,"%f" 要改为"%%f")
三。参数说明:
(1) -f
在两行不相关的代码之间插入空行,如import和public class之间、public class和成员之间等;
(2) -p
在操作符两边插入空格,如=、+、-等。
如:int a=10*60;
处理后变成int a = 10 * 60;
(3) -P
在括号两边插入空格。另,-d只在括号外面插入空格,-D只在里面插入。
如:System.out.println(1);
处理后变成System.out.println( 1 );
(4) -U
移除括号两边不必要的空格。
如:System.out.println( 1 );
处理后变成System.out.println(1);
(5) -V
将Tab替换为空格。
(6) -N
本条主要针对namespaces,如果没有此参数,效果如下:
namespace foospace
{
class Foo
{
public:
Foo();
virtual ~Foo();
};
}
有此参数就会变成这样:
namespace foospace
{
class Foo
{
public:
Foo();
virtual ~Foo();
};
}
(7) -n
不生成备份文件,即默认的 .orig文件。
C#的默认方式为第二种,所以如果你是用来格式化C#代码的话,这个参数就有用了。
四:加入到VS2008,VS2005中
估计加入到VS2005中也是一样,不过我这里没有VS2005,就说一下VS2008的做法。
工具——>外部工具——>添加
标题:astyle
命令:AStyle.exe (填好astyle.exe的路径)
参数:--style=allman -N $(ItemDir)$(ItemFileName)$(ItemExt)
初始目录:$(TargetDir)
勾上“使用初始目录”
点击确定完成。以后就可以在工具菜单中找到“astyle“这一项了,点击它,就可以对当前文件进行格式化操作。
五:加入到VS6中
Tools——>Customize——>Tools
标题:astyle
命令:AStyle.exe (填好astyle.exe的路径)
参数:--style=ansi -s4 --suffix=.orig $(FileName)$(FileExt)
初始目录:$(FileDir)
勾上“Using Output Window”
点击确定完成。以后就可以在工具菜单中找到“astyle“这一项了,点击它,就可以对当前文件进行格式化操作。
六:加入到Ultraedit和UltraStudio
高级-->工具配置——>外部工具——>添加
命令:AStyle.exe -v --style=ansi -s4 --suffix=.orig "%f"(填好astyle.exe的路径)
Optiones:选择 Windows program和Save Active File.
Output: 选择output to list box,show dos box 和no replace。
点击确定完成。以后就可以在工具菜单中找到“astyle“这一项了,点击它,就可以对当前文件进行格式化操作。
七:加入到Source insight
Options-->Custom Command-->Add
Command:astyle
Run "D:\soft\astyle\astyle.exe" --style=ansi -f -p -P -U -v -n -N %f(填好astyle.exe的路径)
Output:不选.
Control: 选择pause when done和exit to window.
source links in output:file, then line
-->menu
add to work menu.
点击确定完成。以后就可以在Work菜单中找到“astyle“这一项了,点击它,就可以对当前文件进行格式化操作。
八:控制台目录批处理(Astyle.bat)
REM bygreencn@gmail.com
REM 批量将本目录中的所有C++文件用Astyle进行代码美化操作
REM 2009-01-05
REM 设置Astyle命令位置和参数
@echo off
set astyle="astyle.exe"
REM 循环遍历目录
for /r . %%a in (*.cpp;*.c) do %astyle% --style=ansi --pad=oper --unpad=paren -s4 -n "%%a"
for /r . %%a in (*.hpp;*.h) do %astyle% --style=ansi --pad=oper --unpad=paren -s4 -n "%%a"
REM 删除所有的astyle生成文件
for /r . %%a in (*.orig) do del "%%a"
pause
使用astyle格式化代码的更多相关文章
- Ultraedit中使用Astyle格式化代码
方法: 使用UE的自定义工具栏并借助开源工具astyle.exe来完成. 1. 首先下载最新的astyle,因为ue自带的astyle版本太老,不支持空格.中文名等. http://astyle.so ...
- 使用astyle格式化代码【脚本】
astyle使用基础教程 http://cppblog.com/jokes000/articles/158838.html steps: (1) apt-get install astyle 或者去主 ...
- MDK(KEIL)使用Astyle格式化代码
关于Astyle Astyle 的全称是Artistic Style的简称,是一个开源的源代码格式化工具,可以对C,C++,C#以及Java等编程语言的源代码进行缩进.格式化.美化. Home Pag ...
- VS2012配置astyle格式化代码
1.工具->扩展和更新,搜astyle插件,下载安装重启,当前是2.0版本. 2.工具->选项->AStyle Formatter->Edit,填入下面的,点击save,确定. ...
- 使用AStyle进行代码格式化
转自:http://www.cnblogs.com/JerryTian/archive/2012/09/20/AStyle.html 在日常的编码当中,大家经常要遵照一些设计规范,如命名规则.代码格式 ...
- UE编辑器加载格式化代码插件astyle
UE 的格式化功能不强,自带的astyle版本陈旧,一般采用开源工具astyle来实现代码格式化. 1. 首先下载最新的astyle,因为ue自带的astyle版本太老,不支持空格.中文名等. 2. ...
- 在keil中使用Astyle格式化你的代码的方法
一个好的程序,不仅要有好的算法,同时也需要有良好的书写风格.写出好的算法不容易,但是好的代码风格却并不困难.提到格式化代码,Astyle是一个不能错过的工具,它可以方便的将程序代码格式化成自己想要的样 ...
- keil中使用Astyle格式化你的代码的方法2篇合
关于Astyle Astyle 的全称是Artistic Style的简称,是一个开源的源代码格式化工具,可以对C,C++,C#以及Java等编程语言的源代码进行缩进.格式化.美化.Home Page ...
- keil中使用Astyle格式化你的代码的方法-keil4 keil5通用
简介:在给RTT 提交代码,需要符合RT-Thread 的代码规范,本文简单介绍如何使用Astyle 格式化为符合RTT要求的代码风格. 关于Astyle Astyle 的全称是Artistic St ...
随机推荐
- LAMP环境部署总结
linux+apche+mysql+php 此次用到的工具有:/etc/init.d/iptables , selinux, useradd, yum,chkconfig,sshd,visudo,cr ...
- android自定义控件之模仿优酷菜单
去年的优酷HD版有过这样一种菜单,如下图: 应用打开之后,先是三个弧形的三级菜单,点击实体键menu之后,这三个菜单依次旋转退出,再点击实体键menu之后,一级菜单会旋转进入,点击一级菜单,二级菜单旋 ...
- JDK自带方法实现消息摘要运算
啊,有点小注释,懒得介绍了,就贴个代码吧,大意理解就可以了. package jdbc.pro.lin; import java.security.InvalidKeyException; impor ...
- 什么是JavaScript?
- C#缓存处理
第一种方式: 在ASP.NET中页面缓存的使用方法非常的简单,只需要在aspx页的顶部加这样一句声明即可: <%@ OutputCache Duration="60" Var ...
- Undefined symbols for architecture armv7: "_OBJC_METACLASS_$_ _OBJC_CLASS_$_ ld: symbol(s) not found for architecture armv7错误
Undefined symbols for architecture armv7: "_OBJC_METACLASS_$_MWPhotoBrowser", referenced ...
- xcode 7种使用coredata遇到 Class not found, using default NSManagedObject instead.问题
CoreData: warning: Unable to load class named 'CoreDataSwift2_2.Bowtie' for entity 'Bowtie'. Class n ...
- 用3种方法在 operator= 中处理“自我赋值”
假设你建立一个class 用来保存一个指针指向一块动态分配的位图. class Bitmap {......}; class Widget{ ... private: Bitmap* pb ; }; ...
- ACM YTU 十进制与八进制的转换 (栈和队列) STL栈调用
十进制与八进制的转换(栈和队列) Description 对于输入的任意一个非负十进制整数,利用栈打印输出与其等值的八进制数. Input 111 Output 157 Sample Input 14 ...
- npm install express -g出错
npm ERR! Windows_NT npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program ...