株式会社ホワイトドア -ソフトウェア,開発からホームページ作成まで-
トップ > コメント行削除ツール

コメント行削除ツールα版を公開

C++やPHPのソースコードからコメント行を削除するツールの試作α版です。
動作確認報告や不具合報告をお願いします。

更新した開発環境 Embarcadero C++Builder XE8 Professionalの評価及び勉強を兼ねて作成したものです。

※ 業務には絶対に使用しないでください。
開発途上のデバッグ版につき、業務でのご利用は禁止とさせていただきます。
このソフトを使用したことにより発生した損害は一切保障致しかねます。
ファイルのバックアップは事前に必ずお取りください。


詳細はreadme.txt をお読み下さい。

ダウンロード

============================================================
【ソフト名称】CommentStripper.exe
【登録 名称 】CommentStripper01032.zip
【EXEサイズ 】6,053,888 Bytes
【バージョン】Ver. 0.1.0 build 32
【著作権者名】株式会社ホワイトドア
【開発 言語 】Embarcadero C++Builder XE8 Professional
【対応 環境 】Windows 7/8 32bit/ 64bit
【必要ソフト】もしかしたらVCLランタイムが必要(未確認)
【 公 開 日 】2015/06/01
【解凍/設定】 ZIPで圧縮
【ソフトウェア種別】 メールウェア(公開デバッグ版)
【転載 条件】 転載不可
===========================================================


ダウンロード CommentStripper01032.zip (6MBytes)

Norton Internet Securityにてウイルスチェック済

概要

C++やPHPのソースコードからコメント文やコメントアウトしたプログラムコードを削除するツールです。

更新した開発環境の評価を兼ねて、社内用に内製ツールとして試作したものです。
まだ不具合や機能不足などが多々あります。

動作テストをして動作報告や不具合報告をしていただけると助かります。
特にC++とPHP以外の言語についてはテストを行っていませんので他言語での動作レポートをいただけると助かります。

ターゲットはC++とPHP言語用ですが、オプションで他言語にもある程度対応可能かもしれません。

機能

 複数行及び単一行のコメントの削除
 空行(半角スペース及びタブ記号)の削除
 行頭の半角スペース及びタブ記号の削除
 フォルダ単位での処理(サブフォルダにも対応)
 コメント開始終了文字列などの設定
 除外する文字列の設定
 ファイルの文字コードはSJIS,JIS,EUC,UTF-8Nに対応、自動判別を行います
 改行コード及び最終行の改行の有無を自動判別して保存時に反映します
 日本語を含む単一コメント行を削除しないオプション設定
 改行コードを削除して保存するオプション設定
 ファイル名の左クリックで指定の比較ツールを起動してチェック可能
 ファイル名の右クリックで変更保存したファイルを指定のテキストディタで開きます
 C++BuilderXE8に標準で設定されているWindowスタイルからデザインや配色を任意に変更可能
 オプションチェックボックス以外の設定を終了時に保存、次回起動時に自動読み込みします

インストール方法

ZIPファイルを適当なフォルダへ解凍してください。
(デスクトップやマイドキュメントは避けてください)

インストーラーはありませんのでEXEファイルを直接ダブルクリックして
起動してください。

EXEファイルを同じフォルダに設定が保存されますのでユーザー権限に
制限が掛かるフォルダでの運用は避けてください。

使用方法

(1)
左上のボタンから変換元フォルダを選択します。
または変換元フォルダ欄に直接入力してください。

(2)
同様に保存先フォルダを選択します。

(3)
変換元や変換後のファイルを見るにはテキストエディタのEXEファイルを選択してください。
文字コードや改行コードを判別できるソフトウェアが必要です。
 ( Tepaエディタ、TeraPad、サクラエディタ、EmEditorなど )

  各テキストエディタのサイトURL
   Tepaエディタ http://www.greenspace.info/tepa/
   TeraPad http://www5f.biglobe.ne.jp/~t-susumu/

同様に比較ツールのEXEファイルを選択すると変換前後のファイルの比較検証が簡単に行えます。

  Rekisa http://frozenlib.net/

(4) 除外したい文字列を設定する場合には「除外文字列リスト編集」ボタンから設定画面を開いて入力してください。

(5) 拡張子と言語の設定はファイルの拡張子毎に1つづつ設定・編集可能です。
言語によって単一行のコメント記号が無い場合には使わないような記号を設定してください。
同一の拡張子が複数行設定されている場合には表の上側の設定のみ有効となります。
表の左端の列をドラッグして上下に移動させることができますので優先的に設定したい行を変更可能です。

(6)
オプションのチェックボックスを適当に設定します。

(7)
ファイルチェックボタンを押してコメントを検索します。
結果は表に出力されます。

(8)
表を見ながら削除したくない行の左端2列目のチェックを外してください。
  
(9)
「変換して保存」ボタンを押すと変換が行われます。

完了後に表の4列目のファイル名欄を左クリックすると変換元ファイルと変換後のファイルが指定の比較ツールで開きます。
右クリックをすると変換後のファイルが指定のテキストディタで開きます。

正しく変換されたかの確認はRekisa(作者:Frozen様)などのファイル内容比較ソフトで確認してください。

制限事項

内部にてUnicodeStringからAnsiString(Shift_JIS)に変換しているため、文字コードの存在しない文字列が化ける可能性があります。

変換元フォルダに余りにも多くのソースファイルがあった場合や巨大なファイルの場合にメモリ不足になる可能性があります。
(最大ファイルサイズ: 1Mbytes )

またjQueryの*.min.js などの改行コードのない1行に記述されたファイルは対応できない可能性があります。

単一行のコメント記号(//など)は1種類のみ対応可能です。
PHPの場合は // に対応していますが # には対応していません。
(「言語毎の設定」で単一行の設定を変更することで可能かもしれません)

単純なコメント記述は動作確認を行いましたが、複雑な書き方の場合に誤判定する可能性があります。

1行内に複数のコメント記号がある場合に誤判定が起きる可能性があります。
できるだけ1行には1つのコメント記号のみ記述してください。

ダブルクォーテーションで括られた文字列の中にコメント記号が含まれている場合は無視しますが、シングルクォーテーションは非対応です。

試作版は32bit版のみの公開となります。
(64bit版でもそれほど処理時間には影響がありません)

正式リリースの段階でどういう形態での提供になるかは未定です。
また正式リリースが行われるかも未定ですので保障はありません。


動作報告や不具合報告について

ご協力いただいた報告内容は今後の改良に反映させていただきますが必ず対応するとは限りません。

Twitterでのご報告は文末に @chinyato を付けてお願いします。
仕事の都合で見れない時間もあります。
ダイレクトメッセージは見落としがちです。

メールのタイトルには[コメント行削除ツール レポート]と記載してください。
メールはテキスト形式でお願い致します。HTMLメールはご遠慮ください。
また個別にメールへの返信は行いませんのでご了承ください。

著作権および免責事項

本ソフトはメールウェアです。

動作報告または不具合報告にご協力いただける方のみご使用可能です。
著作権、頒布権は株式会社ホワイトドア及び開発者が保有しています。

このソフトウェアを使用したことによって生じたすべての障害・損害・不具合等に関しては、当社も開発担当者も一切の責任を負いません。

開発途上のデバッグ版につき、業務でのご利用は禁止とさせていただきます。
このソフトを使用したことにより発生した損害は一切保障致しかねます。
ファイルのバックアップは事前に必ずお取りください。

また電話での対応は業務に支障をきたしますのでご遠慮ください。

お問い合わせ先 info@white-door.co.jp

更新履歴

2015/06/01 α版 0.1.0.31 公開
2015/06/01 α版 0.1.0.32 更新
・前のファイルの最終行にコメントがあった場合に保存されず次のファイル先頭に混入してしまう不具合の修正