2012年8月18日土曜日

sublime text 2プラグインのctags設定。

sublime text 2にはctagsと連携を取れるプラグインがあります。
これはIDEではだいたい実装されている機能で、プログラム中に使用している関数名を定義している箇所にジャンプすることが出来ます。

インストールとかは普通なので割愛。
自分の環境の場合何が悪いのかCtagsをsublimeから動作させるとCtagsがCPU100%まで上がって一向にctagsファイルが出来なかった。

Ctagsはプログラムを解析して専用の形式で保存しておき、そこを検索してジャンプする方式です。
そのためこのCtags専用ファイルの生成が出来ないとお話にならない。

というわけで、jenkinsでwindowsバッチ形式でコマンドラインを登録して毎時叩けば不都合は無いだろうと考えて下記のようなバッチファイルを作って問題解決。
解析はPHPファイルを行っています。
ちなみこれで解析しているPHPファイル数は650くらい。解析は数十秒ってところなのでプログラムしてても大して気にならない程度の負荷です。

--excludeは除外ディレクトリ。SVNとNetbeansを使っているのでそれぞれのディレクトリを省く設定です。
--regex-phpはconstも検索対象に加える設定(だったはず。どなたかのブログに掲載されていました…)

また、ctagsを指定している行から.tagsの行までは改行無しです。

最後の行のif not...はコマンドラインがエラーを返してjenkinsで処理失敗にならないように常に成功を返す条件です。無いと常にエラーが返ってしまいます(jenkins的にもエラーになる)。
今回は成功失敗はあまり気にならないので固定値を返しています。

cd C:\foo

"C:\インストールDir\sublimetext2\Data\Packages\User\ctags"
--jcode=utf8 --exclude=.svn --exclude=nbproject
--regex-php="/^[ \t]*const[ \t]+([a-z0-9_]+)/\1/d/i" -R -f .tags

if not %ERRORLEVEL% == 0 ( exit /b 0 )

0 件のコメント:

コメントを投稿