在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
给大伙介绍一个开源工具 AStyle,支持C/C++、C#、JAVA等语言,按照不同的风格格式化代码,也可以称为美化代码。
效果如下, 格式化前的代码: DWORD dwThreadId; HANDLE hThread=CreateThread(NULL, 0, MyThreadFunction, 0, 0, &dwThreadId); if (hThread!=NULL){ WaitForSingleObject(hThread, INFINITE); } else { _tprintf(_T("CreateThread error %d\n"), GetLastError()); } 格式化后的代码: DWORD dwThreadId; HANDLE hThread = CreateThread( NULL, 0, MyThreadFunction, 0, 0, &dwThreadId ); if ( hThread != NULL ) { WaitForSingleObject( hThread, INFINITE ); } else { _tprintf( _T( "CreateThread error %d\n" ), GetLastError() ); }
如果你不喜欢格式化后的代码风格,也可以选择其它的风格,不一一举例说明了。
参数的含义: AStyle.exe -A1 -s4 -M80 -p -j -D -H -c -w test.cpp -A1/--style=ansi ansi C风格代码 我个人喜欢用这个风格 void Foo(bool isFoo) { if (isFoo) { bar(); } else { anotherBar(); } }
--indent=spaces / --indent=spaces=# / -s# 强制使用空格作为缩进 #代表要缩进的空格的个数如-s4 代表要缩进4个空格,强烈建议使用这个参数
-p 在运算符号左右加上空格 视个人喜好 if (foo==2) a=bar((b-c)*a,d--); becomes: if (foo == 2) a = bar((b - c) * a, d—); -j 给每个if增加大括号 视个人喜好 if (isFoo) isFoo = false; becomes: if (isFoo) { isFoo = false; } -D 在小括号边上增加上一个空格 视个人喜好 if (isFoo(a, b)) bar(a, b); becomes: if ( isFoo( a, b ) ) bar( a, b ); -H 在c/c++ 关键字的后面增加一个空格 建议使用 if(isFoo(a, b)) bar(a, b); becomes: if (isFoo(a, b)) bar(a, b); -M# 对定义的参数和变量进行对齐 ,这个参数很有用,可以将零乱的参数对齐 fooArray[] = { red, green, blue }; fooFunction(barArg1, barArg2, barArg3); becomes (with larger value): fooArray[] = { red, green, blue }; fooFunction(barArg1, barArg2, barArg3);
-c 把TAB字符替换成空格 强烈建议使用这个参数 为什么要把TAB替换成空格? 主要是因为各种不同的编辑器对TAB的解释不一样造成的。有的编辑器把TAB解释成4个空格,有的是8个,还有的是2个。 这样会破坏原有的代码的对齐的结构,因此最好把TAB替换成空格,这样不管在任何编辑器下面代码都是以对齐的风格来显示。
-w 对宏进行对齐处理 建议使用 #define Is_Bar(arg,a,b) \ (Is_Foo((arg), (a)) \ || Is_Foo((arg), (b))) becomes: #define Is_Bar(arg,a,b) \ (Is_Foo((arg), (a)) \ || Is_Foo((arg), (b))) 看到上面这么多的美化代码的参数,真的很hi。
AStyle.exe –A1 -s4 -M80 -p -j -D -H -c -w $(ItemFileName)$(ItemExt)
如果集成到VS当中呢? 1. 把AStyle.exe 拷到 “C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\”目录下
在Tools菜单下面会多出一个Beautify点击它就可以来美化当前的文件 如下图:
总体来说这个工具美化的效果还是很不错的,喜欢的人大家都可以试试。 官方网站: http://astyle.sourceforge.net/ 官方下载:http://nchc.dl.sourceforge.net/project/astyle/astyle/astyle%202.02/AStyle_2.02_windows.zip |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论