2011-12-16 16 views
21

que acaba de instalar y configurar una instancia de Doxygen, pero fuera de la caja en la que sólo encuentra en las etiquetas TODO código cuando marcó en un bloque como:¿Puede Doxygen configurarse fácilmente para reconocer líneas TODO y FIXME?

/** 
* @todo Foo 
*/ 

No parece encontrar:

// TODO Foo 
// FIXME Bar 
// @todo Baz 

La mayoría de los IDE y rastreadores de errores que manejan el análisis están bien con ellos, ¿hay alguna manera fácil de configurar Doxygen para encontrarlos y listarlos como elementos pendientes?

+3

Los comentarios de Doxygen tienden a estar dentro de los bloques de comentarios especiales ¿no? Creo que para un comentario de una línea usarías '/// @todo Some text' (nota las tres barras diagonales, no las dos habituales). Vea el punto tres en la segunda lista en la página [this] (http://www.stack.nl/~dimitri/doxygen/docblocks.html). – Chris

+0

Gracias, me había perdido totalmente esa página, la verificaría.[No suelo ser tan perezosa, solo estoy presionado por el tiempo pero trato de hacer esto al lado, al menos tenemos/algo/:)] –

+0

@Chris, Debes ingresar eso como una respuesta, y Iain, deberías aceptarlo si resolvió tu problema. – tomlogic

Respuesta

35

Hay una serie de ejemplos y métodos que puede utilizar:

  • Para un comentario de una sola línea con Doxygen válida comandos (por ejemplo \todo) que usaría

    /// \todo Some (optional) text 
    

    Nota los tres hacia adelante barras, no las dos habituales. Vea el punto tres en la segunda lista en la sección special documentation blocks de la documentación de Doxygen. Esto se puede usar para agregar nuevos elementos de tareas a tu código fuente.

  • Generalmente se pueden definir etiquetas personalizadas (como FIXME) definiendo un alias en el archivo de configuración de Doxygen. Por ejemplo

    ALIASES += FIXME="\todo" 
    

    que permitirá escribir \FIXME en el código fuente y los comentarios con el prefijo \FIXME serán incluidos en la lista de tareas que en la documentación final. El problema aquí es que tiene que ponerle un prefijo a sus alias con el símbolo \ (o @) y comenzar el comentario con tres barras diagonales avanzadas que, si desea dejar el FIXME s en su código como están, no es una opción.

  • Finalmente, un método alternativo, y lo que creo que está buscando, sería preprocesar sus archivos de origen utilizando la opción de archivo de configuración INPUT_FILTER. Esta opción define un comando que se aplica a cada uno de sus archivos fuente antes de que Doxygen construya la documentación, por lo que podemos definir un comando que reemplace las instancias de TODO y FIXME con marcado Doxygen válido.

    INPUT_FILTER = "sed -e 's/\/\/.*FIXME/\/\/\/ \\todo/'" 
    

    Este filtro reemplaza todas las instancias de // FIXME (con cualquier cantidad (o ninguno) de los espacios en blanco entre // y FIXME) con /// \todo. Esta sustitución se realiza internamente solo por Doxygen: sus archivos de origen no se modifican en el disco.

Nota: Este último punto se inspiró en la respuesta aceptada a la pregunta Getting Doxygen and MSVC TODO tags to work together. Sin embargo, esa respuesta utilizó la opción de configuración FILE_VERSION_FILTER en lugar de INPUT_FILTER. Creo que este último (INPUT_FILTER) es más apropiado aquí. Además, el comando sed utilizado en esa respuesta no funciona para mí.

+0

Esto fue todo lo que pude encontrar, ho-hum :(No he tenido tiempo de mirar la configuración o la fuente de Doxygen para ver cómo funciona, aceptando la respuesta como "No, solo encuentra las declaraciones TODO y FIXME marcadas estrictamente según la documentación "en lugar de otras respuestas por ahora (pero no estoy seguro de que sea del todo correcto). Gracias por la respuesta. –

+0

¿Tiene' GENERATE_TODOLIST' establecido en 'SÍ' en su archivo de configuración? También, es su' todo' en minúsculas, y ¿has probado '\ todo' en lugar de' @ todo'? Finalmente, intenta usar '//! \ todo {texto opcional}' en lugar de '/// \ todo {texto opcional}' – Chris

+0

Sí Sí, el problema que tengo es que no muestra las notas de estilo TODO y FIXME en el formato documentado admitido (que funciona bien, como he dicho en mi pregunta) sino exactamente como son (es decir, con las bases de código existentes, no escrito con Doxygen en mente). –

Cuestiones relacionadas