PowerShellコマンドレットヘルプファイルを生成するためのユーティリティを知っている人はいますか?手でそれをすることは少し退屈なようです...
私が見つけた場所:http://blogs.msdn.com/powershell/archive/2007/09/01/new-and-improved-cmdlet-help-editor-tool.aspx
更新されたバージョンはありますか?モジュールを選択できません。バイナリモジュールがあります。
PowerShellコマンドレットヘルプファイルを生成するためのユーティリティを知っている人はいますか?手でそれをすることは少し退屈なようです...
私が見つけた場所:http://blogs.msdn.com/powershell/archive/2007/09/01/new-and-improved-cmdlet-help-editor-tool.aspx
更新されたバージョンはありますか?モジュールを選択できません。バイナリモジュールがあります。
モジュールの一部であるかどうかに関係なく、コマンドレットと関数のMAMLを生成するPowershellスクリプトを作成しました。生成されたMAMLは手動で編集する必要があるため、完全ではありませんが、参照したコマンドレットヘルプエディターも同様です。ここにそれについてのブログ投稿があります
これを使用して修正を見つけた場合は、PoshCodeのスクリプトを自由に更新してください。
モジュールを文書化する必要がありましたが、独自のMAMLヘルプビルダーを作成するよりも良い解決策は見つかりませんでした。ここにあります: https ://github.com/nightroman/Helps
このモジュールは、PowerShellヘルプスクリプトからPowerShellMAMLヘルプファイルを作成します。ヘルプスクリプトはほとんどWYSIWYGであり、結果のヘルプと非常によく似ています。それでも、これらは単なるスクリプトであり、これにより多くの便利な機能が簡単になります。それらの1つは、いくつかのカルチャのヘルプファイルを作成することです。
コマンド(コマンドレット、関数、スクリプト)およびプロバイダーのヘルプデータのテンプレートは次のとおりです。
### 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 = '...'
}
#...
)
}
オープンソースのXmlDoc2CmdletDocの登場により、バイナリPowerShellコマンドレット(つまり、C#で記述されたもの)を他のC#ライブラリと同じように、またスクリプト化されたコマンドレット(PowerShellで記述されたもの)と同じように文書化できるようになりました。インラインの文書コメントを使用してください。
並列MAMLファイルを手動で管理する必要はもうありません。C#プロジェクトを再コンパイルすると、ドキュメントジェネレーターが実行され、両方のモジュールが取得されるように、ビルドをインストルメント化するだけです。dllとモジュール。dll-Help.xml。後者は、PowerShellによって直接使用され、を呼び出したときにコマンドレットのヘルプを提供しますGet-Help
。
また、XmlDoc2CmdletDocには-strict
、コマンドレットを包括的に文書化するためのスイッチも用意されています。スイッチを使用して何かを見逃した場合、ビルドは失敗します。
XmlDoc2CmdletDocによって自動的に提供されるその他の利点(このリストの「セクション」は、によって提示されるヘルプのセクションを指しますGet-Help
):
私はこのオープンソースユーティリティがとても気に入り、貢献し始め、上記の利点のいくつかを提供しました。また、Simple-Talk.comで公開された、PowerShellバイナリコマンドレットのドキュメント化というタイトルの包括的なガイドを作成しました。
私はドキュメントをsnapin/module C#コードに埋め込む方法を検討してきましたが、PoshBuildは私の最良のオプションのように見え始めています。一部のドキュメント要素(概要や例など)を含める方法はありませんが、それでも適切なオプションです。
XML PowerShellヘルプ(PSMAML)を編集するためのグラフィカルツールに関しては、次のものを使用できます。