Getting Doxygen and MSVC TODO tags to work togethe

2019-02-07 00:48发布

In doxygen, the standard "/// \todo stuff" is used to tag a todo item. I do most of my coding in MSVC so it's handy to be able to see the TODO's in the Task List. MSVC uses "//TODO stuff" for their tags. Is there any way to make them work together? I found the properties pane for the Task list and try to add "\todo" to the list, but it doesn't like the "\" character. Can I make these two work together?

Edit: I am specifically interested to find out how to do this in Visual Studio 10.

2条回答
Anthone
2楼-- · 2019-02-07 01:25

I don't know about the way VS treats these "TODO"s. But I think there is an easy way if it also recognizes \TODO as a to do item. In this case you might want to have a look at the doxygen documentation for \xref. This allows you to create tag/commands and link to a special section and a related page. \todo or @todo is defined as

\xrefitem todo "Todo" "Todo List"

What you can do now to create a custom "\TODO" or "@TODO" command is go to your configuration file or the doxywizard and add the line

\xrefitem TODO "Todo" "Todo List" 

to it. Maybe that helps.

查看更多
男人必须洒脱
3楼-- · 2019-02-07 01:41

IIRC doxygen supports javadoc-style structural commands, i.e. you should be able to use @todo and \todo interchangeably, in the eventuality that MSVC will accept @todo as a task marker:

Structural commands (like all other commands) start with a backslash (), or an at-sign (@) if you prefer JavaDoc style, followed by a command name and one or more parameters.

Another option is to use FILE_VERSION_FILTER as a doxygen preprocessor, providing a custom script (or program), e.g. if you have Cygwin installed in C:\cygwin then the following will work nicely:

FILE_VERSION_FILTER = "C:\cygwin\bin\sed -e 's:// *TODO:@todo:g'"
查看更多
登录 后发表回答