Doxygenのインスタンスをインストールしてセットアップしましたが、箱から出して、次のようなブロックでマークされている場合にのみ、コード内のTODOタグが見つかります。
/**
* @todo Foo
*/
見つからないようです:
// TODO Foo
// FIXME Bar
// @todo Baz
解析を処理するほとんどのIDEとバグトラッカーは問題ありませんが、Doxygenを構成してそれらを検索し、ToDoアイテムとしてリストする簡単な方法はありますか?
使用できる例と方法はいくつかあります。
有効なdoxygenコマンド(例\todo
)を含む1行のコメントの場合、
/// \todo Some (optional) text
通常の2つではなく、3つのスラッシュに注意してください。doxygenドキュメントの特別なドキュメントブロックセクションの2番目のリストのポイント3を参照してください。これを使用して、新しいToDoアイテムをソースコードに追加できます。
FIXME
一般に、Doxygen構成ファイルでエイリアスを定義することにより、カスタムタグ(など)を定義できます。例えば
ALIASES += FIXME="\todo"
これにより\FIXME
、ソースコードを記述できるようになり、接頭辞が付いたコメント\FIXME
は、最終的なドキュメントのToDoリストに含まれます。ここでの問題は、エイリアスの前に\
(または@
)記号を付け、コメントの先頭に3つのスラッシュを付ける必要があることです。これFIXME
は、コード内のsをそのままにしておきたい場合は、オプションではありません。
最後に、別の方法、そしてあなたが探していると思うのは、INPUT_FILTER
構成ファイルオプションを使用してソースファイルを前処理することです。このオプションは、doxygenがドキュメントを作成する前に各ソースファイルに適用されるコマンドを定義するため、有効なdoxygenマークアップのインスタンスTODO
を置き換えるコマンドを定義できます。FIXME
INPUT_FILTER = "sed -e 's/\/\/.*FIXME/\/\/\/ \\todo/'"
このフィルターは、(との間に任意の量の空白がある(またはない))のすべてのインスタンスを。に// FIXME
置き換えます。この置換は、doxygenによってのみ内部的に行われます。ソースファイルはディスク上で変更されません。//
FIXME
/// \todo
注:この最後のポイントは、 doxygenタグとMSVCTODOタグを連携させるという質問に対する受け入れられた回答に触発されました。ただし、その回答では、FILE_VERSION_FILTER
ではなく構成オプションを使用していましたINPUT_FILTER
。INPUT_FILTER
後者( )が実際にはここでより適切だと思います。また、sed
その回答で使用されているコマンドは私には機能しません。