エディタやメモ帳で書かれたテキストは書く人によって見やすさが結構異なることがあり,テキストを整形したいという場面は結構あります.プログラムのソースからHTMLまでさまざまなものがその対象です.
今回は広くテキストに範囲を広げて整形ツールを調べてみました.
C/C++/C#/Java
まず初めにプログラムのソースです.他にもRubyやPHPなどを探したのですが見つかりませんでした.ご存知の方はコメントなりメールでぜひ教えて下さい.
indexコマンド
indexコマンドはUNIXで使用することができるC言語のソース整形ツールです.C++でも簡単なものであれば整形することが可能なようです.今でもC言語を使う場面は多いので役に立つコマンドかと思います.使い方は以下の通りです.
% cat test.c | indent > test_indent.c
これでインデントされたソースファイルを得ることができます.
Artistic Style
Artistic Styleは高性能なソース整形ソフトでC言語だけでなくC++/C#/Javaの整形を行うことができます.使い方は簡単で
% astyle < test.c > test_indent.c
または
% astyle test.c
となります.下の使い方だと元のファイル名が修正されて以前のものはtest.c.origで保存されます.
Eclipseのプラグイン
Eclipseにソースコードの整形プログラムが付属しているそうです.自分はEclipseを使用していないのでちょっと性能はわかりません.普段Eclipseを使っている人は使ってみると良いでしょう.
一括!整形美文C,C++
Googleで上位に来た整形ツールです.こちらも使ってみたことは無いので性能はちょっとわかりません.
SQL
つぎにデータベースを操作するSQLを整形するソフトウェアです.
CSE(Common SQL Environment)
CSEはSQL整形ソフトではなく,SQLの発行も行うことができるGUIソフトです.SQLを記述するエディタ部でCtrl+Qを押すとSQL文の整形を行うことができます.そのままSQL文の実行もできるので便利です.
SQLSplatter
SQLSplatterはSQLの整形を行うための専用ソフトです.作者の方がVisual Basicを使っているようで,Visual Basicで開発を行う際に整形を行うには便利かもしれません.
HTML
HTMLの整形ソフトです.もっといろいろとあるのかと思ったのですが余りありませんでした.HTMLエディタに搭載されていないのでしょうか?
Cross-Talk
ez-HTMLの作者の方が開発されたHTML/X-HTML相互変換ツールです.機能を見てみたところ整形も行うことができるようです.すごく使ってみたかったのですがシェアウェアです.個人利用で3000円,企業で使うには5000円となります.
一括!整形美文HTML
上で紹介した整形美文C,C++と同じ作者が開発したHTML整形ソフトです.こちらはフリーで利用できますがまだ使ったことが無いので性能はちょっとわかりません.
表形式
columnコマンド
テキストファイルに記述された文字列を表形式に変換することができるコマンドです.間に挟む区切り文字も指定できるようなので何か機会があったら使ってみようと思います.