Domanda

Qualcuno sa di un programma di utilità per la generazione di cmdlet di PowerShell file di aiuto?Farlo a mano mi sembra un po ' noioso...

Mi sorge: http://blogs.msdn.com/powershell/archive/2007/09/01/new-and-improved-cmdlet-help-editor-tool.aspx

Eventuali versioni aggiornate?Non è possibile selezionare un modulo.Ho un modulo binario.

È stato utile?

Soluzione

Ho creato uno script PowerShell che genererà MAML per cmdlet e funzioni indipendentemente dal fatto che una parte dei moduli. Non è perfetto come il MAML generato richiederà qualche modifica manuale, ma così fa l'editor cmdlet aiuto si fa riferimento. Ho un post su di esso qui

Se lo si utilizza e trovare le correzioni si sentono liberi di aggiornare lo script sul PoshCode .

Altri suggerimenti

ho dovuto documentare il mio modulo e non ha trovato alcuna soluzione migliore di creare il mio costruttore MAML aiuto. Ecco qui: https://github.com/nightroman/Helps

Il modulo si basa file di aiuto PowerShell MAML da script di aiuto PowerShell. script di aiuto sono quasi WYSIWYG, sembrano molto simile al risultato aiuto. Eppure, sono solo gli script e questo rende un sacco di funzioni utili facile. Uno di loro è la creazione dei file di aiuto per diverse culture.

Ecco il modello dei dati di aiuto per i comandi (cmdlet, funzioni, script) ei fornitori:

### Command help data

@{
    command = 'Name'
    synopsis = '...'
    description = '...'
    sets = @{
        Set1 = '...'
        #...
    }
    parameters = @{
        Param1 = '...'
        #...
    }
    inputs = @(
        @{
            type = '...'
            description = '...'
        }
        #...
    )
    outputs = @(
        @{
            type = '...'
            description = '...'
        }
        #...
    )
    notes = '...'
    examples = @(
        @{
            title = '...'
            introduction = '...'
            code = {
            }
            remarks = '...'
            test = {
                . $args[0]
            }
        }
        #...
    )
    links = @(
        @{
            text = '...'
            URI = '...'
        }
        #...
    )
}

### Provider help data

@{
    provider = 'Name'
    drives = '...'
    synopsis = '...'
    description = '...'
    capabilities = '...'
    tasks = @(
        @{
            title = '...'
            description = '...'
            examples = @(
                @{
                    title = '...'
                    introduction = '...'
                    code = {
                    }
                    remarks = '...'
                    test = {
                        . $args[0]
                    }
                }
            )
        }
        #...
    )
    parameters = @(
        @{
            name = '...'
            type = '...'
            description = '...'
            cmdlets = '...'
            values = @(
                @{
                    value = '...'
                    description = '...'
                }
                #...
            )
        }
        #...
    )
    notes = '...'
    links = @(
        @{
            text = '...'
            URI = '...'
        }
        #...
    )
}

Sono stato a guardare un modo per incorporare la documentazione nel snapin / modulo di codice C # e PoshBuild sta cominciando a guardare come la mia migliore opzione. Non fornisce un modo per includere alcuni degli elementi di documentazione (ad esempio, sinossi e negli esempi), ma è comunque una buona opzione.

In termini di strumenti grafici per la modifica XML PowerShell aiuto (PSMAML) è possibile utilizzare:

Con l'avvento dell'open-source XmlDoc2CmdletDoc, è ora possibile documentare il binario I cmdlet di PowerShell (es.quelli scritti in C#), proprio come qualsiasi altro C# librerie, e proprio come script i cmdlet (quelli scritti in PowerShell):in linea i commenti di documentazione.

Non è più necessario mantenere un parallelo MAML file a mano!Giusto strumento di compilazione, in modo che quando si ricompila il tuo progetto C# esegue il generatore di documentazione e di ottenere sia un modulo.dll e un modulo.dll-Help.xml.Quest'ultimo è utilizzato direttamente da PowerShell per fornire un aiuto su cmdlet quando si richiama Get-Help.

E XmlDoc2CmdletDoc offre anche un -strict opzione per garantire che si sono ben documentata cmdlet;se si utilizza l'interruttore e ti sei perso qualcosa, la vostra generazione non riuscirà, come dovrebbe.

Altri vantaggi forniti automaticamente da XmlDoc2CmdletDoc ("sezioni" in questo elenco si riferisce alle sezioni di aiuto presentate da Get-Help):

  • Ogni tipo personalizzato in Uscite la sezione contiene una descrizione.
  • Il Sintassi la sezione comprende i valori possibili per i tipi enumerati.
  • Il Parametro la sezione comprende i valori possibili per i tipi enumerati.
  • Gli alias sono documentato automaticamente in Parametri sezione.
  • Gli alias sono trattati come di prima classe i parametri in modo che si può chiedere aiuto in un alias.
  • Facoltativamente, è possibile utilizzare una descrizione diversa per un parametro in Ingressi sezione per la Parametro sezione.
  • Web link vengono automaticamente resi in formato markdown, per l'eventuale post-elaborazione per collegamenti in diretta.(Questo miglioramento è in attesa.)

Mi è piaciuto questo open-source utilità così tanto che ho iniziato a portare il loro contributo, fornendo loro una serie di benefici di cui sopra.E ho scritto una guida completa all'uso di essa, il diritto La Documentazione PowerShell Binario Cmdlet, appena pubblicato sul Simple-Talk.com.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top