Sublime Text3でCTagsを使用する方法

Ctagsは、ソースのナビゲーションと移動を支援するプログラムです。 Ctagsは、ソースを解析してtagsをあらかじめ作っておきナビゲーションに使用します。 サブライムテキストでもCtagsを利用することができます。

インストール手順は次のとおりです。

  • まず自分のOSにCTagsをインストールする
  • SublimeTextはCTagsプラグインをインストールする必要があります

ローカルにCTagsインストール

Ubuntuの/ Debianユーザであれば、aptでCTagsをインストールすることができます。

$ sudo apt install ctags

MACまたはWindowsでCtagsをインストールする方法は、SublimeText-Ctagsを参照してください。

SublimeTextでCTagsプラグインをインストール

Ctrl + Shift + Pを押してInstall Packageを実行します。そして CTagsを検索してインストールをします。

タグ情報作成

CTagsにソースをナビゲートするには、まず、タグ情報を事前に作成必要があります。 下の画面のようにナビゲートしたいプロジェクトのフォルダを右クリックすると、 CTags: Rebuild Tagsというメニューが出ます。 このメニューをクリックすると、タグ情報が生成され、同じディレクトリの .tagsというファイルに保存されます。このファイルが生成された場合、ソースのナビゲーションを行うことができます。

CTags rebuild tags

ソースナビゲートする(1)

探索したいメソッドにカーソルを位置 ctrl + >を押してみてください。その後、そのメソッドが定義された位置に移動します。 再び戻りたい ctrl + <を押してください。

たとえば、次のコードで"PackageManager.NameNotFoundException"にカーソルを置いて ctrl + >を押すと、定義された位置に移動します。 フィールドまたはメソッドが複数の場所で定義されている場合、以下の画面のようにオプションが表示され、この中に選択することができます。 CTags navigation

ソースナビゲートする(2)

上記の方法は、コードの位置から移動する方法です。ソースファイルを必ず開いて移動をしなければなら方法です。 ソースファイルを開かずに名前を知っているメソッドやクラスに直接移動したいときがあります。 そんな時は ctrl + t + yを使用します。このショートカットを入力すると、下部にウィンドウが表示し移動したいクラスやメソッドを入力することができます。

たとえば、 ctrl + t + yを押してActivityManagerを入力すると、 CTags navigation

以下のようにすぐに定義された場所に移動することができます。複数の場所で定義されている場合に選択できるウィンドウが表示されます。 CTags navigation

ファイル名を検索してソースを開く

ファイル名を検索して、ソースを開くのはSublimeTextで提供される方法です。

ctrl + shift + pを押すと、プロジェクトのすべてのファイルを検索することができるウィンドウが表示されます。検索したいファイルを開くことができます。

ファイル内のシンボルを検索

この機能もSublimeTextで提供されるものであり、ファイル内に定義されたメソッドを見つけるときに使う方法です。

ソースファイルから ctrl + rを押すと、ファイル内に定義されたシンボル(メソッド)を見つけることができるウィンドウが表示されます。 メソッドだけを検索するためのテキストを検索するよりも、メソッドを見つけるのは簡単です。

CTagsプラグインのショートカットまとめ

CTagsプラグインで提供されるショートカットをまとめてみました。

Command Key Binding Alt Binding
rebuild ctags ctrl+t, ctrl+r
navigate to definition ctrl+t, ctrl+t ctrl+>
jump prev ctrl+t, ctrl+b ctrl+<
show symbols alt+s
show symbols (all files) alt+shift+s
show symbols (suffix) ctrl+alt+shift+s

CTagsプラグインのショートカットを変更

SublimeTextメニューから Preferences -> Package Settings -> CTags -> Key Bindings - Defaultに入ります。 ここで、プラグインが提供するショートカットが定義されています。変更したい部分を別々にコピーして、 Key Bindings - Userに上書きします。 Userの内容が最後に上書きされるので、既定の設定に戻りたいUserに定義されてものを削除します。

[
    {
        "command": "navigate_to_definition",
        "keys": ["ctrl+t", "ctrl+t"]
    },
    {
        "command": "navigate_to_definition",
        "keys": ["ctrl+shift+period"]
    },
    {
        "command": "search_for_definition",
        "keys": ["ctrl+t", "ctrl+y"]
    },
    {
        "command": "jump_prev",
        "keys": ["ctrl+t", "ctrl+b"]
    },
    ....
codechachaCopyright ©2019 codechacha