首页 > 解决方案 > VS Code 上的 [pwsh] 和 [Powershell Integrated Console] 有什么区别?

问题描述

VS Code 上的 [pwsh] 和 [Powershell 集成控制台] 有什么区别?
我通常使用 pwsh。
今天我安装了powershell扩展,然后尝试更新powershell,powershell集成控制台启动后发现。这是什么?  

标签: powershellvisual-studio-code

解决方案


  • pwsh[.exe]PowerShell [Core] (v6+) 的可执行文件名,它是基于 .NET Core / .NET 5+ 构建的 PowerShell 跨平台版本;相比之下,是旧版Windows PowerShell版本 (v5.1-) 的可执行名称,它构建在仅 Windows 的 .NET Framework (v4.8-) 之上powershell.exe

  • VSCode ( Visual Studio Code ) 有一个集成的终端(控制台),可以运行任何shell,例如cmd.exebashpwshpowershell

    • 默认情况下在集成终端中运行的 shell 与正在编辑的文件没有特殊的集成。它们在集成终端工具栏的下拉列表中按可执行文件名显示;例如: 在此处输入图像描述
  • 相比之下,PowerShell 集成控制台是一个特殊的shell它随PowerShell 扩展一起提供,并提供与正在编辑的 PowerShell 代码的集成,特别是提供linting 和调试支持以及其他功能。

    • 当您在会话中首次使用 PowerShell 代码打开/激活编辑器时,PowerShell 集成控制台会按需启动,它在集成终端的工具栏中显示如下:在此处输入图像描述

    • 您可以使用 PowerShell 扩展的配置来选择要使用的特定 PowerShell 可执行文件,在 Windows 上,您可以在 PowerShell 集成控制台中选择运行 PowerShell [Core] ( pwsh.exe) 和 Windows PowerShell ( )。powershell.exe

      • 如果安装了 PowerShell [Core] 版本并且安装在众所周知的位置[*],则默认使用它;Windows 上的后备方案是 Windows PowerShell。由于 PowerShell [Core] 版本可以并排安装,因此您可以在不同版本之间切换(如果已安装)。

      • 如果 PowerShell [Core] 版本安装在非标准位置,因此未自动发现,您可以通过 告诉 PowerShell 扩展在哪里找到它settings.json,如链接主题和此答案的底部部分所示。

      • 右下角的状态栏显示正在使用的 PowerShell 版本(版本 >= 6 表示 PowerShell [Core];您可以单击版本号切换到不同的版本);例如:在此处输入图像描述


[+] 从 v7.0 开始;时间会证明 PowerShell [Core] 是否会随 Windows 的未来版本甚至其他平台一起提供。

[*] 来自链接的文档:“此功能查看不同操作系统上的一些众所周知的路径,以发现 PowerShell 的安装位置。如果您将 PowerShell 安装到非典型位置,它最初可能不会显示在会话中菜单。您可以通过添加自己的自定义路径来扩展会话菜单。” 如果您使用官方安装程序之一,PowerShell 扩展应该会找到您的安装。


推荐阅读