【问题标题】:See PowerShell Verbose output in Visual Studio Code请参阅 Visual Studio Code 中的 PowerShell 详细输出
【发布时间】:2018-04-03 02:29:23
【问题描述】:

我正在使用带有 PowerShell 扩展 (1.4.3) 的 Visual Studio Code 1.17.2。我的代码中有Write-Verbose 语句。当我运行 PowerShell 脚本时,Verbose 输出似乎无处可去。如何请求显示输出?

【问题讨论】:

    标签: powershell visual-studio-code


    【解决方案1】:

    最简单的方法是执行

    $VerbosePreference = 'Continue'
    
    在调用脚本之前

    在集成的 PowerShell 控制台中(如果需要,稍后执行 $VerbosePreference = 'SilentlyContinue' 以关闭详细输出)。

    从那时起:

    • 运行脚本(使用 (F5) 或不使用 (Ctrl+F5) 调试器启动)

    • 突出显示一段代码并运行选择 (F8)

    将使Write-Verbose 调用产生输出。

    如果您想预设 $VerbosePreference = 'Continue' 每次集成控制台启动,请将该语句放入 $PROFILE 文件:

    • 如果您的 VS 代码特定 $PROFILE 文件已经存在,只需从集成控制台运行 psedit $PROFILE。

    • 如果没有,首先从集成控制台创建文件:New-Item -Type File $PROFILE

    【讨论】:

    • 在两者之间,这个答案“感觉”更自然——如果我不需要的话,我真的不想更改代码(添加额外的“-Verbose”)。这个答案效果很好,所以我接受了这个答案。
    【解决方案2】:

    默认情况下不显示详细输出,您需要在函数或脚本中声明[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
    

    【讨论】:

      猜你喜欢
      • 2018-08-13
      • 1970-01-01
      • 2020-08-14
      • 2012-05-21
      • 2021-06-17
      • 1970-01-01
      • 2011-08-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多