我不熟悉Visual Studio代码,我开始使用它来开发PowerShell脚本。
我看到,当我将光标放在函数名上时,我会得到该函数参数的概述,但当我使用我自己的定制函数执行此操作时,它不会执行此操作。
如何声明可通过Visual Studio代码在概述中显示的PowerShell函数的文档?
我试着这么做:
<#
.Description
Get-Function displays the name and syntax of all functions in the session.
# >
function test([string]$print){}
<# Setup the working directories if they do not exist #>
If(!(Test-Path $WORKING_DIRECTORY)) {test}
但这似乎并不管用。
非常感谢
3条答案
按热度按时间u91tlkcl1#
在描述中添加
.PARAMETER
对我很有效。还请注意,我相信您必须保存并运行脚本一次,才能显示它。https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_comment_based_help?view=powershell-6
lo8azlld2#
我之前的回答是不正确的,尽管阅读Comment Based Help仍然是记录cmdlet的好主意。
为了让
vscode
能够了解您的函数定义,需要在其内部PowerShell主机中定义函数。如果可以打开Powershell Integrated
终端,就可以点源代码(运行类似. myScript.ps1
的脚本来读取其中的函数定义。在运行任何要执行的代码之前,您可能需要make sure the script wasn't dot-sourced(基本上是将运行时代码放在一个if块中,检查脚本是否是点源代码的,但将您的函数定义保留在这个条件之外)。一旦在
Powershell Integrated
终端中对脚本进行了点源代码处理,您就会看到想要的用法工具提示弹出窗口。要“自动”执行此操作,可以使用从vsvode
终端解析的$profile
对脚本进行点源代码处理。这并不是特别理想,我希望找到一个更精简的解决方案,因为我使用的每个脚本都必须点源代码,这很麻烦。
li9yvcax3#
您需要保存并运行脚本,以便识别内联文档中的更改。我还可以推荐使用
.SYNOPSIS
‘tag’,这样甚至可以阅读文本。示例:
当悬停函数名或代码完成时,显示类似以下内容: