看源代码的时候免不了要格式化一下代码,Java 当然是用 Eclipse 了,但是 C/C++ 就一直没有一个合适好用的工具来格式化(Format)/风格化(Style)代码,虽然Visual Studio 6.0 - Visual Studio 2005都提供了代码格式化功能,但是,实在是 --- 太简单了,根本不够用!!!
后来在网上搜索了一把,发现一个很不错的工具Artistic Style ,功能很强大,支持 C/C++/C# 和 Java,而且开源,目前最后版本是 1.17.0。此版本需要用 CVS 下载并编译,其中还是有些小 Bug, 估计是作者没空改,呵呵。
Project Overview http://astyle.sourceforge.net Sources, Binaries, Bug Tracker, Mailinglists http://www.sourceforge.net/projects/astyle/ Original Author Tal Davidson, Israel ([email protected]) Maintainer Martin Baute, Germany ([email protected])
Artistic Style is a reindenter and reformatter for C, C++, C#, and Java source code.
When indenting source code, we as programmers have a tendency to use both spaces and tab characters to create the wanted indentation. Moreover, some editors by default insert spaces instead of tabs when pressing the tab key, and other editors (Emacs for example) have the ability to "pretty up" lines by automatically setting up the white space before the code on the line, possibly inserting spaces in a code that up to now used only tabs for indentation.
Since the number of space characters showed on screen for each tab character in the source code changes between editors (unless the user sets up the number to his liking...), one of the standard problems programmers are facing when moving from one editor to another is that code containing both spaces and tabs that was up to now perfectly indented, suddently becomes a mess to look at when changing to another editor. Even if you as a programmer take care to only use spaces or tabs, looking at other peoples source code can still be problematic.
To address this problem, Artistic Style was created - a filter written in C++, that automatically reindents & reformats C / C++ / C# / Java source files. It can be used from a command line, or it can be incorporated in another C++ program.
The AStyle executable is distributed under the terms of the GNU General Public License (GPL); you may incorporate the core classes (ASBeautifier and ASFormatter) in other projects subject to the GNU Lesser General Public License (LGPL). You may want to read the Release Notes.
本文地址:http://com.8s8s.com/it/it23368.htm