はじめに
C#コード中に書かれたTODOコメントの一覧をUnity上で表示させてみました。
きっかけ
自分は以下のようなTODOコメントをソースコード中に書くことがよくあります。
Hoge.cs
//TODO: このメソッドをあとで実装する
しかし、一つの問題がありました。
TODOコメントを書いたことを忘れてしまう
「TODOの一覧を表示することができればこの問題を解決することができるのではないだろうか」
ということでソースコード中に書かれているTODOコメントをUnityのConsole上に出してみました。
環境
Unity5.5.0f3
Windows 10
ソースコード
以下のスクリプトをUnityプロジェクト内のEditorフォルダ以下へ配置してください
TodoExtractor.cs
using UnityEditor;
using UnityEngine;
using System.Text.RegularExpressions;
public class TodoExtractor
{
[MenuItem("TODO/コード中のTODOを表示")]
public static void ShowTodos()
{
var monoScripts = Resources.FindObjectsOfTypeAll<MonoScript>();
foreach (var monoScript in monoScripts)
{
var matches = Regex.Matches(monoScript.text, @"/{2}\s*TODO.*", RegexOptions.IgnoreCase);
foreach (var match in matches)
{
Debug.Log(match.ToString() + "\n" + AssetDatabase.GetAssetPath(monoScript), monoScript);
}
}
}
}
動かしてみる
1) コードの配置
検証用として以下のコードをプロジェクト内に入れます。
NewBehaviourScript.cs
using UnityEngine;
// Todo: このクラスを直す
public class NewBehaviourScript : MonoBehaviour {
//todo: このメソッドを直す
void Start () {
}
//TODO :こっちのメソッドも直す
void Update () {
}
}
2) 実行
画面上部のメニューの "TODO" -> "コード中のTODOを表示" を選んでコードを実行します
3) 結果
ソースコード中のTODOコメントの一覧がConsoleへ出力されました。
おわり
上記のTODO表示コードをエディター起動時に実行させるなどすれば、TODO忘れを防止できそうです。(完