powershell - VS Code 上的 [pwsh] 和 [Powershell Integrated Console] 有什么区别?
问题描述
VS Code 上的 [pwsh] 和 [Powershell 集成控制台] 有什么区别?
我通常使用 pwsh。
今天我安装了powershell扩展,然后尝试更新powershell,powershell集成控制台启动后发现。这是什么?
解决方案
pwsh[.exe]
是PowerShell [Core] (v6+) 的可执行文件名,它是基于 .NET Core / .NET 5+ 构建的 PowerShell 跨平台版本;相比之下,是旧版Windows PowerShell版本 (v5.1-) 的可执行名称,它构建在仅 Windows 的 .NET Framework (v4.8-) 之上powershell.exe
- Windows PowerShell 随 Windows 本身一起提供,而 PowerShell [Core] 必须按需安装(在所有支持的平台上)。[+]
VSCode ( Visual Studio Code ) 有一个集成的终端(控制台),可以运行任何shell,例如
cmd.exe
、bash
、pwsh
或powershell
。相比之下,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 扩展应该会找到您的安装。
推荐阅读
- node.js - WinstonJS 自定义级别文件
- hyperledger-fabric - 对等节点在 Hyperledger Fabric 中崩溃后如何检索旧数据?
- java - 如何使用 DSL 为 ack/nack 和返回队列配置 amqp-outbound 适配器?
- excel - If else 语句程序中的运行时错误“1004”
- amazon-web-services - 无法通过规范 ID 共享 AWS S3 存储桶
- android - Android ble:无法发送大数据
- java - 仅显示服务名称 NSD 网络服务发现 Android
- java - java.lang.Error:singelton 类的未解决的编译问题
- php - 如何将主机的 PHP 解释器设置为指向容器的 PHP 解释器
- angular - 尝试实现角材料选择表时出现问题