繁体   English   中英

我可以在 Powershell 中检测到我正在 VS Code 的集成终端中运行吗?

[英]Can I detect in Powershell that I am running in VS Code's integrated terminal?

如果 Powershell 在 VS Code 集成终端内打开,我想修改 Windows 中的标准 PowerShell 配置文件(当您在 VS Code 中编辑例如 python 脚本时,而不是 PS 脚本,在任何情况下都会打开 ISE 配置文件)。

是否有一些由集成 PowerShell 设置的环境变量? 或者是否有某种方法可以使用特定配置文件而不是默认配置文件打开 Powershell?

谢谢

VS Code 创建一个名为TERM_PROGRAM的环境变量。 您可以检查它的vscode值,如下所示:

if($env:TERM_PROGRAM -eq 'vscode') {
  # do some stuff...
}

如果要检查是否在 vscode 下的PowerShell Integrated Console (附带 PowerShell 扩展)中运行,而不仅仅是在 vscode 下运行的任何 powershell 控制台,您可以:

if ($Host.Name -eq 'Visual Studio Code Host') {
  Write-Output 'PowerShell Integrated Console'
}

这对检测很有意义,因为它是唯一提供完整调试器支持(例如,中断异常体验)和调试器与 vscode 集成的 Powershell 控制台主机。

你说你在 vscode 中运行时要修改配置文件,那么你应该检查(再次使用 PoweShell 扩展附带的 PowerShell 集成控制台):

PS> $PROFILE.CurrentUserCurrentHost
C:\Users\username\Documents\PowerShell\Microsoft.VSCode_profile.ps1

PS> $PROFILE.AllUsersCurrentHost
C:\Program Files\PowerShell\7\Microsoft.VSCode_profile.ps1

如果人们在 Visual Studio Code 中处理 PowerShell 代码,那么为什么他们不安装 PowerShell 扩展,该扩展附带一个与 Visual Studio 代码完全集成的特定控制台,最重要的是,为您提供了一个专门针对 Visual Studio 的配置文件代码?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM