braintag

公開してしまう備忘録

Sublime Text3でC言語で呼んだり呼ばれたりリストからジャンプする(Windows)

今、C言語にて開発していますが、今使ってるIDEのエディタが非常に使いづらいです。
定義や行番号へのジャンプ後、戻れないゴミエディタ。

Eclipseでのコーディングも考えましたが重いのは嫌なのでSublime Text3を使ってみようと思います。

コードを読むにはタグジャンプが最低限必要です。
デフォルトではgoto_definitionてのはありましたが、関数の定義にしか使用できませんでした。

変数でもジャンプしたいなぁとぐぐってみるとSublimeClangというのもありましたがディスコンとなっており、ST3上では何やっても動作しませんでした。

諦めてCTagsを試したのですが、定義にしかジャンプできない。
どうせなら読んだり呼ばれたりのリストにも飛びたいなあと。
(grepでいいじゃんという話もありますが意外と面倒くさい)

更にググるとCscopeSublimeというのがあるので試したところ、これで実現できました。

以下のFork版の方がSublimeText3のメニューからデータベースを作れるので便利です。


ChinaShrimp/CscopeSublime · GitHub

で、手順なのですが、以下の公式の手順通りやっても動作しませんでした。
Windowsだからなのかな?手順5が追加で必要でした。

1.cscope-win32をインストール
cscope-win32 - Win32 port of cscope utilty - Google Project Hosting

2.cscope-win32へのパスを通す(環境変数)

3.Generate a cscope database (cscope.out) //これは上記版なのでパス

4."Packages"ディレクトリにgit clone

以下の手順5を追加することで動作するようになりました。
5."Setting User"に"CscopeSublime_executable": "C:\\Program Files\\cscope\\cscope",を追加。
"C:\\Program Files\\cscope\\cscope"はcscopeのインストールパス

調べたいものの上でCtrl+\を押すと以下の様なメニューが出るようになりました。
f:id:kiwamaru:20140918093113p:plain
でも、何故かメニューが二重に出てしまう。