Visual Studio CodeでToDoコメントを一覧で表示する拡張機能「Todo Tree」

コーディング時に、あとで行うタスクやリファクタリングしたい箇所には「TODO」などを付けてコメントを入れておくと、あとから見たときに把握しやすくなります。
今回はそんなタスク用のコメントを一覧表示できる「Todo Tree」についてまとめておきます。
Todo Tree
Todo Treeはコメントの始めに「TODO」などのタグを付けておくと、一覧で表示して、クリックすると該当箇所まで移動できるVisual Studio Codeの拡張機能です。
「あとでやろう」と思ったことをコメントとして残していけば、あとで一覧から探し出せますし、残りのタスク数も確認できます。
単純に「TODO」で文字列検索してもいいのですが、「TODO」以外のすべてのタグを一気に把握できたり、見やすくなります。
Better Commentsとの併用
コメント関連の似た拡張機能に「Better Comments」があります。
これは特定の文字列からはじまるコメントを装飾して見やすくしてくれます。
「TODO」などはBetter Commentsと被っていますし、一覧表示はTodo Treeを使って、装飾はBetter Commentsで管理するとコメントがかなり見やすくなります。
サイドバーのアイコンを増やしたくない場合は「Todo Highlight」
似たような機能の拡張機能に「Todo Highlight」があります。
こちらも「TODO」などのコメントにハイライトが付きますが、コメント全体ではなく「TODO」部分のみがハイライトされます。
また、Todo Treeはサイドバーに一覧表示のアイコンが追加されてしまいますが、こちらはサイドバーには追加されません。
代わりに、コマンドパレットで「List highlighted annotations」を実行すると画面下に一覧が表示されます。
サイドバーにいっぱいアイコンが追加されて並んでいくのがイヤな人は、Todo Highlightの方が合っているかもしれません。
基本的な使い方
コメントの最初に下記のようなテキストを入力すると、ハイライトされます。
- BUG
- TODO
- FIXME
- HACK

これだけだとかなり味気ないので、先ほども紹介した「Better Comments」を使うと下記のように色も付いてかなり見やすくなります。

一覧の表示
Todo Treeをインストールすると、Visual Studio Codeの左サイドバーにアイコンが追加されます。
ここでプロジェクト内にあるタスクが一覧で表示されます。

上のリストアイコンをクリックすれば表示を変えられて、表示方法は全部で3種類あります。

詳細な設定
タグの追加
「”todo-tree.general.tags”」でタスクとして認識されるタグを追加できます。
配列にして、認識されるテキストを追加していくだけです。
"todo-tree.general.tags": [
"BUG",
"bug",
"BUGS",
"bugs",
"TODO",
"ToDo",
"todo",
"TODOS",
"ToDos",
"todos",
"FIXME",
"fixme",
"FIX",
"fix",
"NOTE",
"note"
],タグのグループ化(表記揺れ対策)
「”todo-tree.general.tagGroups”」で、それぞれのタグをグループ化できます。
ファイル検索だと単数形か複数形かを合わせておかないと、検索に引っかからなくて見落とす可能性がありますが、あらかじめ使いそうな表記を書いておくことで、Todo Treeの一覧にすべて表示させられます。
"todo-tree.general.tagGroups": {
"BUG":["bug", "BUGS", "bugs"],
"TODO":["ToDo", "todo", "TODOS", "ToDos", "todos"],
"FIXME": ["fixme","FIX", "fix"],
"NOTE":["note"]
}上記のように設定すると、「bug」や「BUGS」コメントも「BUG」と同じ扱いにしてくれます。
細かい表記を気にしなくてもよくなるので便利ですが、とは言っても表記は揃えておくに超したことはないので、最初に決めてちゃんと統一するようにしておいた方が安全です。
デフォルトの装飾を変更
「”todo-tree.highlights.defaultHighlight”」でデフォルトの装飾を変えられます。
ただ、できることに限りもあるので基本的にはアイコンを設定するくらいにして、細かい装飾は「Better Comments」に任せた方が管理もしやすく、使い分けとして良いのではないかと思います。
"todo-tree.highlights.defaultHighlight": {
"foreground": "white",
"background": "red",
"icon": "check",
"type": "text"
}各タグ個別の装飾を変更
「”todo-tree.highlights.customHighlight”」で各タグの装飾を変更できます。
できることは「”todo-tree.highlights.defaultHighlight”」と同じです。
"todo-tree.highlights.customHighlight": {
"TODO": {
"foreground": "white",
"type": "text"
}
}



Movable Typeでコメントアウトして出力時に無視する方法
効率的にHTMLを生成できるPugの特徴や記述方法
iOSシミュレーターを使ってWebサイトを開発者ツールを見ながら実機表示で開発する方法
Visual Studio CodeからFTPソフトのTransmitを使用する拡張機能「Transmit」
WordPressのメディアライブラリで画像を追加するときに表示される「HTTP エラー」の解消方法
様々な作業を自動化するgulpの基礎と導入方法
「EWWW Image Optimizer」を使ってWordPressをWebPに対応する方法
MAMPでローカル開発環境にWordPressをインストールする手順
ターミナルでGitを使う時に最低限覚えておきたいコマンド
スマホやPCにプッシュ通知をしてくれる「Push7」をブログに追加する方法
iTerm2で「Use System Window Restoration Setting」を設定しているとアラートが表示されて機能しない
Google Chromeのサイト内検索(カスタム検索)機能を別のプロファイルに移行する方法
iPadで入力モードを切り替えずに数字や記号をすばやく入力する方法
iPhoneやiPadでYouTubeの再生速度を3倍速や4倍速にする方法
Keynoteで有効にしているはずのフォントが表示されない現象
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
AirPodsで片耳を外しても再生が止まらないようにする方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
無料版でも高機能なランチャーアプリ「Raycast」の基本機能と環境設定
OnyXでターミナルを使わずにmacOSの詳細設定を行う
軽量で高速なターミナルエミュレーター「Ghostty」の設定方法
Eagleで実現するクリエイティブ素材の簡単管理
かゆいところに手が届く「Supercharge」でMac環境を便利にカスタマイズする
超軽量なコードエディタ 「Zed」をサブエディタとして活用する
Bartender 6で追加されたWidgets機能で自作メニューバーアイテムを簡単に作成する
Googleカレンダーを便利に活用するための小技集(祝日だけを表示・月末の繰り返しイベントを追加)
Obsidianを使った「自己流PKM」で行う知識トレーニング
テキストエディタ・ノートアプリ関連のショートカットキーをKeyboard Maestroで統一する