visual studio generar documentar documentacion crear codigo clases delphi javadoc sandcastle

studio - Documentación de código para delphi similar a javadoc o c#xml doc



generar documentacion c# (8)

Delphi + JavaDoc = DelphiCodeToDoc

Necesito una herramienta de documentación de código similar a javadoc o c # xml doc para el código delphi. ¿Cuál es la mejor herramienta? Prefiero una tecnología, que en el futuro sea compatible con el proyecto de castillo de arena de Microsoft.


Que yo sepa, no existe una herramienta fácilmente compatible con Microsoft Sandcastle, al menos hasta que alguien realmente se moleste en escribir una, modificar una existente o crear una cadena de herramientas para transformar adecuadamente la salida.

Personalmente he usado PasDoc con gran éxito. Recomiendo construir la última versión de SVN, ya que la versión actual de vez en cuando provoca complicadas definiciones de interfaz.


Sandcastle necesita tener acceso a los ensamblajes para generar su documentación, lo que significa que solo es aplicable para los lenguajes .net (aunque no estoy seguro de que sea capaz de Delphi.Net). Sin embargo, Delphi 2007 y 2009 tiene una documentación XML en línea muy similar a C #. Cuando se activa la opción ''generar documentación XML'' en las opciones del proyecto, se compilará la documentación XML basada en estos comentarios. XSLT puede usarse para generar cualquier formato de documentación que necesite (este es el aspecto difícil).


DelphiCodeToDoc también tiene una línea de comandos para usarlo con la herramienta de integración continua (por ejemplo).


La pregunta es bastante antigua, pero tuve el mismo problema hoy y encontré esta publicación. Delphi 2007 permite la siguiente sintaxis, que parece ser igual a la documentación de C #:

/// <summary> /// Summary of the function / class /// </summary> /// <param name="param1">Description of the parameter param1</param> /// <param name="param2">Description of the parameter param2</param> /// <param name="param3">Description of the parameter param3</param> /// <returns>Description of the return value</returns> function test(param1, param2, param3: string): string;

Para <summary> , no parece haber posibilidad de permitir linebreaks. <br /> no funciona.



Eche un vistazo a SynProject , una herramienta de código abierto escrita en Delphi.

Fue diseñado para manejar un flujo de trabajo de documentación completo, desde las especificaciones hasta las notas de la versión, incluidas las pruebas, la arquitectura y el diseño; y, por supuesto, hay un analizador Delphi integrado para generar documentación de arquitectura a partir del código fuente existente de Delphi.

Para el documento de arquitectura, el código fuente puede extraer comentarios (a la vista de PasDoc) y luego insertar este texto en el documento de Arquitectura principal (con diagramas de jerarquía de clases y dependencias de unidades).

Usted escribe un archivo de texto plano usando una sintaxis tipo wiki en un editor de texto dedicado, luego SynProject crea documentos de Word bien formateados a partir de él. Algunos asistentes están disponibles para acceder al contenido. Pero dado que se almacena como un archivo simple, múltiples programadores pueden escribir en él, usando cualquier herramienta SCM (SVN, Fossil ...).

Por ejemplo, actualmente lo uso para escribir documentación de mantenimiento para una aplicación Delphi antigua y enorme (aproximadamente 2,000,000 de líneas de código escritas en Delphi 5 y 6), sin documentación previa disponible. Usted describe los cambios realizados en el código (al citar la unidad / clase / método), luego la herramienta actualizará todas las documentaciones para reflejar y rastrear esas modificaciones. SynProject fue diseñado para cumplir con algunas reglas de regulación muy "delicadas" (IEC 62304), pero puede ser utilizado para cualquier proyecto debido a su diseño único "plano".

Nota : Estoy publicando esto mucho tiempo después de la pregunta, porque SynProject no existía en este momento y puede valer la pena mirarlo. Este hilo ha sido definido como una referencia para esa pregunta .