astyle进行源文件格式化的扩展

astyle是一个对源文件进行格式化的不错工具,它可以嵌入到编辑、编译工具中,也可能直接在命令行运行;可以针对单个文件,也可以针对目录。本文所描述的方法,是指在window下的命令行方式,通过鼠标拖动文件夹到批处理上进行格式化的简易方法,使用的版本是2.0.1。批处理内容如下:

@echo off

::批量将指定目录中的所有C文件用Astyle进行代码美化操作,支持鼠标拖动操作
::参考http://blog.chinaunix.net/uid-23381466-id-58917.html
::参考http://blog.csdn.net/windcao/article/details/12319225

::设置astyle.exe执行路径
set astyle=%~dp0\astyle.exe

::循环遍历目录查找指定文件进行处理
for /r %~dp1%~nx1 %%a in (.) do %astyle% %%a\*.cpp --style=linux -s4 -S -N -L -m0 -M40 --recursive --convert-tabs %f
for /r %~dp1%~nx1 %%a in (.) do %astyle% %%a\*.c   --style=linux -s4 -S -N -L -m0 -M40 --recursive --convert-tabs %f
for /r %~dp1%~nx1 %%a in (.) do %astyle% %%a\*.hpp --style=linux -s4 -S -N -L -m0 -M40 --recursive --convert-tabs %f
for /r %~dp1%~nx1 %%a in (.) do %astyle% %%a\*.h   --style=linux -s4 -S -N -L -m0 -M40 --recursive --convert-tabs %f
for /r %~dp1%~nx1 %%a in (.) do %astyle% %%a\*.s   --style=linux -s4 -S -N -L -m0 -M40 --recursive --convert-tabs %f

::删除astyle生成的所有中间文件
for /r %~dp1%~nx1 %%a in (*.orig) do del %%a

pause

说明:

1、批处理存放位置同astyle.exe,这样在运行的时候可通过“%~dp0”定位到执行程序位置;

2、“%~dp1%~nx1”即拖动的文件夹对应的绝对路径,通过for循环遍历处于它下面的所有子目录

包含源代码,需要的可以自行下载。 把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、付费专栏及课程。

余额充值