任何人都不会知道的一个实用工具产生PowerShell命帮助的文件?这样做的方面似乎有点乏味的...

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

任何更新的版本吗?我不能选择一个模块。我有一个二元模块。

有帮助吗?

解决方案

我已经创建了一个Powershell的脚本,将产生对于MAML cmdlet和功能无关的模块是否他们一部分。它并不是完美的产生MAML将需要一些手工编辑,但这样做你所引用的cmdlet帮助编辑器。我有一个博客帖子大约是这里

如果你使用它,并找到改正随时更新上PoshCode 的脚本。

其他提示

我必须记录我的模块,并没有发现,而不是创建自己的MAML帮助制造商更好的解决方案。这里是: https://github.com/nightroman/Helps

在模块从PowerShell帮助脚本建立的PowerShell MAML帮助文件。 帮助脚本几乎是所见即所得,他们看起来非常相似的结果帮助。 尽管如此,他们只是脚本,这使得很多有用的功能容易。 其中之一是建立帮助文件几种文化。

下面是帮助数据的命令(cmdlet时,函数,脚本)和提供者的模板:

### 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 = '...'
        }
        #...
    )
}

我一直在寻找一种方法来嵌入文档中的管理单元/模块C#代码和 PoshBuild 开始看起来像我最好的选择。它不提供一种方法,包括一些文档元素(例如,概要和实施例),但它仍然是一个很好的选择。

在图工具,用于编辑XML PowerShell帮助(PSMAML)可以使用:

随着开放源码 XmlDoc2CmdletDoc, 你可以现在你的文件 二进制 PowerShell命令(即这些编写)就像任何其他C#图书馆,并就像 脚本 cmdlet(那些写入PowerShell):使用内联文件的评论意见。

你不再需要维持一个平行的 MAML 文件通过手!只是仪器您建立这样,当你重新编译C#项目执行文件发电机和你两个 模块.dll 和一个 模块.dll-Help.xml.后者是直接使用的PowerShell提供帮助你cmdlet当调用 Get-Help.

和XmlDoc2CmdletDoc甚至提供了一个 -strict 关于确保有全面的记录你的cmdlet;如果您使用的开关,你错过了什么,你的建立将会失败,因为它应该。

其他利益的自动提供的XmlDoc2CmdletDoc("部分"在这个名单是指部分提出的帮助 Get-Help):

  • 每个定义的类型 输出 部分包括一个描述。
  • 语法 部分包括可能值对所列举的类型。
  • 参数 部分包括可能值对所列举的类型。
  • 别名是记录的自动的 参数 部分。
  • 别名被视为一类参数所以你可以寻求帮助,在个别名。
  • 你可以选择使用不同的描述中的一个参数 输入 部分因为你有的 参数 部分。
  • 网站的链接是自动呈现在降价的格式,对于可能的后处理生活的链接。(这种增强悬而未决。)

我喜欢这开放源用这么多,我开始作出贡献,提供若干上述好处。和我写了一个全面的指导来使用它,题为 记录你的PowerShell二Cmdlet, ,只是公布Simple-Talk.com.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top