Con el advenimiento de la fuente abierta XmlDoc2CmdletDoc, ahora se puede documentar sus binario cmdlets de PowerShell (es decir, los que están escritos en C#) al igual que cualquier otro # librerías de C, y al igual que con guión cmdlets (las escritas en PowerShell): use comentarios de documentación en línea.
¡Ya no es necesario mantener un archivo paralelo MAML a mano! Simplemente instrumente su compilación para que cuando recompile su proyecto C# ejecute el generador de documentación y obtendrá un módulo . dll y un módulo . dll-Help.xml. Este último es utilizado directamente por PowerShell para proporcionar ayuda en sus cmdlets cuando invoca Get-Help
.
Y XmlDoc2CmdletDoc incluso ofrece un conmutador -strict
para asegurarse de que ha documentado exhaustivamente sus cmdlets; si usas el interruptor y te perdiste algo, tu compilación fallará, como debería.
Otros beneficios proporcionados automáticamente por XmlDoc2CmdletDoc ("secciones" en esta lista se refiere a las secciones de ayuda presentados por Get-Help
):
- Cada tipo de encargo en los Salidas sección incluye una descripción.
- La sección de sintaxis incluye posibles valores para los tipos enumerados.
- La sección El parámetro incluye valores posibles para los tipos enumerados.
- Los alias se documentan automáticamente en la sección de Parámetros.
- Los alias se tratan como parámetros de primera clase, por lo que puede solicitar ayuda sobre un alias.
- Opcionalmente, puede utilizar una descripción diferente para un parámetro en la sección Entradas , como lo hizo para la sección Parámetro.
- Los enlaces web se procesan automáticamente en formato de rebajas, para posprocesar los enlaces en vivo. (Esta mejora está pendiente.)
Me gustó tanto esta utilidad de código abierto que comencé a contribuir a ella, proporcionando varios de los beneficios anteriores. Y escribí una guía completa para usarla, titulada Documenting Your PowerShell Binary Cmdlets, recién publicada en Simple-Talk.com.
Debería haber indicado que mi módulo era binario. Gracias por la publicación aunque realmente me ayudó a ir en la dirección correcta. –
No hay problema. Todavía debería funcionar para módulos binarios, ya que estoy descifrando CommandInfo o FunctionInfo para generar el MAML. –