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"
}
}



SourceTreeを開くと「’git status’ failed with code 69:’」というポップアップが出てくる場合の解決方法
WordPressのカスタム投稿タイプを追加後、ページは存在しているはずなのに404になる場合の解決方法
Vue Routerでページ遷移後にトーストを表示させる方法
MAMPでローカル開発環境にWordPressをインストールする手順
CSSのz-indexの確認や管理を便利にする方法
選択テキストをHTMLタグですぐ囲めるようになるVisual Studio Code拡張機能「htmltagwrap」
Google Chromeでinput要素の補完機能を使うと背景に色がついてしまう問題
pointer-eventsプロパティでクリックイベントを無効化にする|気になるCSSプロパティ
JavaScriptで簡単にCookie操作ができるライブラリ「js-cookie」
Vue CLIでGA4を導入する方法
AirPodsで片耳を外しても再生が止まらないようにする方法
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
Karabiner-Elementsでcaps lockで修飾キー全押し、caps lock + 修飾キーで押したキー以外の修飾キーを押す方法(reverseキー)
サーバーのアップロードファイルの最大容量の確認と変更方法
Default Folder XでPath Finderを「Finderクリック」機能で選択したとき、違うフォルダが選択されてしまう問題
Movable TypeでAssetURLやEntryPermalink・ContentPermalinkで出力されるパスを絶対パスから相対パスに変える
Gmailの未読メールのみを表示させる2つの方法
メニューバーアイコン管理の鉄板ツール「Bartender 4」で使用頻度の高いアプリだけメニューバーに表示させる
JavaScriptパッケージマネージャーをnpmからYarnへ移行しました
Keyboard Maestroにサードパーティ製アクションを追加する方法
画面キャプチャから動画編集までできるScreenFlowの基本的な設定
ブラウザ × Keyboard Maestroでちょっとした操作をラクにするマクロサンプル