ここで言う「TODOリスト」とは、実質はメモ+ブックマーク・ジャンプリストです。

Notepad++ でこれに相当するはずのプラグインは「Task List」で、ググるとこればかり出てくるのですが未完成で開発も止まっているようです。
実用になる TODO リストの代替手段の発見まで何日もかかったのでその実現までの方法を以下にメモしておきます。

欲しかったTODOリストの機能はこんな感じ

例えば、index.html ファイルに「 <!– NOTE:あいうえお –>  」
ファイル edit.phpに 「  // TODO:かきくけこ 」 などと書いておくと一覧表で

index.html
NOTE:あいうえお
edit.php
TODO:かきくけこ

とリスト画面に表示してくれて、文字をクリックすると該当箇所を一発で開ける!というシンプルなものです。複数ファイルが対象という点も必須機能です。

さまよった私の愚痴

TODOリストのプラグインが Notepad++ で見つからず、それっぽいプラグインの「 Task List 」や「 Named Bookmarks 」はなぜプラグインマネージャーでインストール出来るようになっているのか疑問に思う程度の出来だったので、あっさりTODOリストプラグインが見つかった Brackets や ATOM というエディタに浮気していました。

でも、Brackets や ATOM の動作が時々モッサリするのが気に入らず、Notepad++ を再びいじっていたら「 SouceCookifier 」というプラグインで正規表現が使えるようになっていることに気づきピンと来たので設定して見たら念願が叶いました。日本語でメモすると文字化けしますがナンチャッテ英語で書けばいいので気にしませんw

「 SouceCookifier 」はインストールしただけでも各言語のアウトラインが細かく表示できるという小回りの利くツールです。
”タブで開いているファイル全部から検索してリストアップできる”利点を使って、TODOメモをクリックして縦横無尽にファイル間を飛びまわれます。(大袈裟)

具体的な手順

TODOメモの便利ツールとして使う前に三分ほどかかる設定が必要でした。
以下は使えるようにするまでの手順のメモです。書くと長いですがやるとすぐ終わります。クリックとコピペで乗り越える感じで。

まず最初に、Notepad++ のプラグイン「 SouceCookifier 」をインストールします。Notepad++ のメインメニューの 「プラグイン」 > 「Plugin Manager」 > 「Show Plugin Manager」から名前を見つけてインストールできます。

インストールが済んでNotepad++を再起動したら、メニュー>プラグイン> SouceCookifier>Toogle SouceCookifier でメイン画面を開く。

Language Setting を開いてお好きな言語を選択したら、「Tag Type 」の一番下のリストにまだ未使用で使える文字列があるのでてきとーに感で選択。隣の「Add」ボタンをクリック。

「 Input 」欄に自分がファイルからリストアップしたい文字列を正規表現で指定します。

// NOTE:hogehoge
/* TODO:hugahuga */
# NOTE:hogehoge
今回はこれらコメントの中を表示するのに下記の正規表現を使いました。

(<!–|\/\*|\/\/|#)\s?(TODO|NOTE):(.*)(–>|\*/|\n|$)

次に「Output」欄にマッチした文字を出力するため

\2:\3

と記入し、すぐ下の 「 Add 」 ボタンをクリック。
このキャプチャ画面では拾ってきたフリーのアイコンに変えてます。

image01

Appearance 欄は後回しでいいですけれど、まぁ適当に名前記入したり。

最後にOKボタンを押して登録が済むと、 //TODO: に続けてコメントを書いておけばクリックするだけで該当ファイルのウインドウを開いてその行へ飛んでくれるわけです。

Ctrl + Shift + Alt + S を押すか、ふつうにメニュー>プラグイン> SouceCookifier>Toogle SouceCookifier でメイン画面を開くとこんな感じに。

image00

ブックマーク機能と違ってずっとファイルに残っていて別ファイルでも開いてくれるのはひじょ~~~にありがたいです。

なにしろ時間が経つと、「これ何するつもりだっけ?」とかで無駄に手戻りすることもあるので^^;

ちなみに、外に出すときはNotepad++ の「 NppExec 」というプラグインから一発でTODOやコメントをクリーニングしてさらに難読化するバッチを呼び出して処理していますので安心です。(別記事で書く予定です。)

ファイル名が黒色で固定されちゃってるのと、フォントを変えたいけど、xmlをいじっても上手くいかなかったので保留。