English / 日本語
目次:
VS Codeの「エディター内のシンボルへ移動…」を簡素化し、整理されたインデント付きの関数、メソッド、構造(JSON/YAMLを含む)のリストを表示することで、プレビューと移動を助ける機能拡張です。

プログラミング言語以外にも HTML でのタグ構造表示、JSON や YAML での gron ライクな表示機能をサポートしています。

VSCode 標準の「Go to Symbol in Editor…」は多くの不要なシンボルを表示します。SublimeText の「Goto Symbol…」のようにシンプルで有用なシンボルリストの表示を目標としました。
似た様な機能を提供するメジャーな機能拡張 Go To Method もありますがプログラミング言語に限定されています。
本機能拡張では SublimeText で cmd + r を使った時のようにどの様なファイルにおいても有用なシンボルリストを「それなりに」表示することを目的としています。
以下は動作確認済みの言語およびファイルタイプです。
ここに列挙されていない言語・ファイルタイプの場合でも、適切な言語サポート機能拡張がインストールされていれば共用のリスト表示を行います。具体的には言語サポート機能拡張が提供するシンボルプロバイダーが関数等を返すならば「関数・メソッドリスト」として、そうでなければ「構造リスト」として表示を行います。
Goto Symbols+: list functions明示的にサポートしている言語・ファイル書式についてはそれぞれカスタマイズされたリストを表示します。
例えばプログラミング言語であればクラスとメソッド、関数のリストを表示し、JSON であれば gron ライクなリスト、Docker ファイルであれば絞り込み易いように Instruction(命令)に加え引数の内容を含めて列挙します。
コマンドID: tettekete.list-functions
Goto Symbols+: list structuresこちらは VSCode 標準の「Go to Symbol in Editor…」と同じように全てのシンボルを列挙しますが、コンフィグの「インデント」設定を行っていれば、その構造を見やすく表示します。
例えば JSON で gron ライクな表示をしたくない場合、こちらのコマンドを実行すればその構造をインデントで見ることが出来ます。
コマンドID: tettekete.list-structures
ctrl + k,ctrl + s / mac:cmd+k,cmd+s)を開くtettekete.list-functions または Goto Symbols+: list functionstettekete.list-structures または Goto Symbols+: list structuresIndentationネストしたシンボルについてのインデント方法を指定します。
無し: インデントなし指定した文字列をインデントに使う: インデント文字 で設定された文字列をインデントに使用すツリー表示: 罫線でツリー構造を表現しますデフォルトは 指定した文字列をインデントに使う です。
無し
指定した文字列をインデントに使う(デフォルト半角スペース×2)
ツリー表示
Indent Stringインデント設定で 指定した文字列をインデントに使う を選択した場合にインデントに使用される文字列です
デフォルトは半角スペース 2 文字です。
Prefix Stringシンボル名付与するプリフィックス文字を指定出来ます。
デフォルトは空の文字列です。
Show Symbol Kind関数・メソッド表示モード時、シンボルプロバイダーが返したシンボルの種類を表す文字を description として表示するかどうかのオプションです。
デフォルトは false です。
Makefile: Show Dependencies As Labelファイルタイプが Makefile の時、ターゲットの依存情報をラベルとして表示するかどうかのオプションです。
ラベルとして表示した場合、ターゲットと一緒に依存ターゲットも表示します。ターゲットの視認性が悪くなる代わりに依存ターゲットもテキスト入力により絞り込み対象となります。
ラベルとして表示しない場合、依存ターゲットの情報は description として表示されターゲット自体は見やすくなりますが、絞り込みの対象にならなくなります。
デフォルトは true でターゲットの依存情報をラベルとして表示します。
VSCode が標準でサポートしていない言語についてはその言語の言語サポート機能拡張をインストールする必要があります。
VSCode のメニュー Go > Go to Symbol in Editor... を実行して、何も列挙されない場合、言語サポート機能拡張が必要である事を意味します。
以下は本機能拡張の動作テストに用いた言語サポート機能拡張の一覧です。s
Note: 提供される Range が正確では無く、あるセクションのレンジに次のセクションが含まれる問題を持っている。
この拡張機能に関するバグの報告や要望がある場合は、GitHub の Issue ページを通じてご連絡ください。