【发布时间】:2018-04-03 02:29:23
【问题描述】:
我正在使用带有 PowerShell 扩展 (1.4.3) 的 Visual Studio Code 1.17.2。我的代码中有Write-Verbose 语句。当我运行 PowerShell 脚本时,Verbose 输出似乎无处可去。如何请求显示输出?
【问题讨论】:
标签: powershell visual-studio-code
我正在使用带有 PowerShell 扩展 (1.4.3) 的 Visual Studio Code 1.17.2。我的代码中有Write-Verbose 语句。当我运行 PowerShell 脚本时,Verbose 输出似乎无处可去。如何请求显示输出?
【问题讨论】:
标签: powershell visual-studio-code
最简单的方法是执行
$VerbosePreference = 'Continue'
在调用脚本之前在集成的 PowerShell 控制台中(如果需要,稍后执行 $VerbosePreference = 'SilentlyContinue' 以关闭详细输出)。
从那时起:
运行脚本(使用 (F5) 或不使用 (Ctrl+F5) 调试器启动)
突出显示一段代码并运行选择 (F8)
将使Write-Verbose 调用产生输出。
如果您想预设 $VerbosePreference = 'Continue' 每次集成控制台启动,请将该语句放入 $PROFILE 文件:
如果您的 VS 代码特定 $PROFILE 文件已经存在,只需从集成控制台运行 psedit $PROFILE。
如果没有,首先从集成控制台创建文件:New-Item -Type File $PROFILE
【讨论】:
默认情况下不显示详细输出,您需要在函数或脚本中声明[CmdletBinding()] 以启用传递-Verbose 参数才能显示详细输出的选项。
您可以“作弊”并将-Verbose 传递给Write-Verbose "Hello Verbose" -Verbose 本身,该流将出现在控制台中。
(在 Mac(PS6 Beta 8)上使用您的 VSCode 和 Extension 的两个匹配版本进行测试,可以看到详细输出)。
function Test-Verbose {
# This enables the function to have '-Verbose'.
[CmdletBinding()]
param()
Write-Output "Hello output!"
# Will only be displayed if 'Test-Verbose' is passed '-Verbose'.
Write-Verbose "Hello verbose"
}
Test-Verbose -Verbose
【讨论】: