VSCode 如何将终端默认 Shell 切换为 PowerShell 7?

文章导读
VSCode 默认使用 Windows PowerShell 5.x 作为集成终端,如果你想改用 PowerShell 7,需要先确认当前环境,再按步骤配置。不过,并非所有场景都适合立即切换——如果项目依赖旧版 PowerShell 的特定模块(如 ActiveDirectory),切换后可能遇到问题。以下处理路径会先帮你判断当前版本,再给出修改方法,最后补充验证和常见坑。
📋 目录
  1. 先别急着改配置:确认当前 Shell 版本
  2. 操作步骤:修改 profile 配置
  3. 改完后看这几个信号:验证切换结果
  4. 常见坑:路径与旧配置的冲突
  5. 风险和边界:什么时候需要回退或单独配置
A A

VSCode 默认使用 Windows PowerShell 5.x 作为集成终端,如果你想改用 PowerShell 7,需要先确认当前环境,再按步骤配置。不过,并非所有场景都适合立即切换——如果项目依赖旧版 PowerShell 的特定模块(如 ActiveDirectory),切换后可能遇到问题。以下处理路径会先帮你判断当前版本,再给出修改方法,最后补充验证和常见坑。

在 VSCode 终端中,可以通过输入命令 `$PSVersionTable.PSVersion` 来查看当前 PowerShell 版本。如果返回的结果显示 Major 版本为 5 或更低,说明正在使用 Windows PowerShell;如果显示 7.x,则表示已切换到 PowerShell 7。此外,运行 `$host` 可以查看宿主应用信息,其中 Name 字段若为 ConsoleHost,Version 则会体现具体版本号。

要切换 VSCode 终端的默认 Shell 为 PowerShell 7,首先确保已安装 PowerShell 7(可从 GitHub 或微软官方下载)。然后在 VSCode 中打开设置(Ctrl+Shift+P 搜索“settings”),找到用户设置中的 `terminal.integrated.profiles.windows`,添加如下配置:`"PowerShell 7": { "path": "pwsh.exe", "args": ["-NoLogo"] }`。接着,设置 `terminal.integrated.defaultProfile.windows` 为 "PowerShell 7"。保存后重新打开终端即可生效。

先别急着改配置:确认当前 Shell 版本

在 VSCode 终端中,可以通过输入命令 $PSVersionTable.PSVersion 来查看当前 PowerShell 版本。如果返回的结果显示 Major 版本为 5 或更低,说明正在使用 Windows PowerShell;如果显示 7.x,则表示已切换到 PowerShell 7。此外,运行 $host 可以查看宿主应用信息,其中 Name 字段若为 ConsoleHost,Version 则会体现具体版本号。

VSCode 如何将终端默认 Shell 切换为 PowerShell 7?

这个检查步骤很有用:如果已经跑在 PowerShell 7 上,就不需要重复操作了;如果发现版本是 5,则需要确认本机是否安装了 PowerShell 7。通常,PowerShell 7 的安装路径是 C:\Program Files\PowerShell\7\pwsh.exe(64 位系统),可以通过运行 pwsh 命令测试是否可用。如果提示未找到命令,说明需要先安装。

操作步骤:修改 profile 配置

要切换 VSCode 终端的默认 Shell 为 PowerShell 7,首先确保已安装 PowerShell 7(可从 GitHub 或微软官方下载)。然后在 VSCode 中打开设置(Ctrl+Shift+P 搜索“settings”),找到用户设置中的 terminal.integrated.profiles.windows,添加如下配置:"PowerShell 7": { "path": "pwsh.exe", "args": ["-NoLogo"] }。接着,设置 terminal.integrated.defaultProfile.windows 为 "PowerShell 7"。保存后重新打开终端即可生效。

这里的 path 可以直接写 pwsh.exe,前提是 PowerShell 7 已添加到系统 PATH 环境变量。如果后续终端无法启动,建议改用完整路径。另外,-NoLogo 参数可以去除启动时的版权信息,让终端更清爽——如果你希望看到版本信息,可以去掉这个参数。

改完后看这几个信号:验证切换结果

完成设置后,重启 VSCode 或通过快捷键 Ctrl+` 打开新终端,观察终端标题栏或标签页显示的名称。如果显示为“PowerShell 7”或类似字样,则切换成功。更精确的检查是运行 $PSVersionTable.PSVersion,确认 Major 版本为 7。若仍未生效,检查 settings.json 中 profile 配置是否正确,以及 pwsh.exe 是否在系统 PATH 中。

VSCode 如何将终端默认 Shell 切换为 PowerShell 7?

除了标题栏,你还可以在终端窗口右键查看属性,或者直接看终端标签页的图标——PowerShell 7 的图标与 Windows PowerShell 不同,通常会带一个蓝色的“7”标志。不过最可靠的方式还是命令验证,因为某些主题可能不显示版本号。

常见坑:路径与旧配置的冲突

常见问题之一是 PowerShell 7 未添加到系统环境变量 PATH,导致 VSCode 无法找到 pwsh.exe。此时需要在 profile 配置中指定完整安装路径,例如 "path": "C:\Program Files\PowerShell\7\pwsh.exe"。另一个坑是,如果之前设置了 terminal.integrated.shell.windows(旧版配置),该配置会覆盖 profile 设置,需将其删除或改为空字符串。此外,某些扩展可能依赖 Windows PowerShell,切换后可能失效,建议在项目设置中单独覆盖。

具体到操作:打开 VSCode 的 settings.json(Ctrl+Shift+P 搜索“Preferences: Open Settings (JSON)”),检查是否有 terminal.integrated.shell.windowsterminal.integrated.shellArgs.windows 这样的旧条目。如果有,直接删除或将其值设为空。同时确认 terminal.integrated.profiles.windows 中的配置没有被其他 profile 的 source 字段冲突——如果使用了 "source": "PowerShell" 但不指定 path,可能会指向旧版。

VSCode 如何将终端默认 Shell 切换为 PowerShell 7?

风险和边界:什么时候需要回退或单独配置

切换默认 Shell 为 PowerShell 7 后,所有在 VSCode 中打开的终端会话都将使用 PowerShell 7 启动,这可能影响到依赖 Windows PowerShell 特有模块或语法的脚本。例如,ActiveDirectory 模块在 PowerShell 7 中可能不可用。建议在需要兼容旧脚本时,在项目的工作区设置中保留 Windows PowerShell 作为备用 profile,并通过终端下拉菜单手动选择。另外,PowerShell 7 的配置文件路径与 Windows PowerShell 不同,需重新配置个人配置文件。

一种稳妥的做法是:先在用户设置中全局启用 PowerShell 7,遇到兼容性问题时再到项目级的 .vscode/settings.json 中覆盖默认 profile。例如写入 "terminal.integrated.defaultProfile.windows": "Windows PowerShell",这样当前项目仍用旧版,不影响其他项目。此外,建议定期检查 PowerShell 7 更新(通过 winget upgrade Microsoft.PowerShell 或手动下载),避免因版本过旧导致功能缺失。

最后强调:如果你只是偶尔使用特定脚本,完全不需要全局切换,可以在终端下拉菜单中临时选择 PowerShell 7。只有在日常开发中频繁使用新语法或跨平台功能时,才推荐修改默认配置。