windows 当我关闭PowerShell窗口时,它会关闭VS Code

xcitsw88  于 2023-05-08  发布在  Windows
关注(0)|答案(1)|浏览(187)

我有个有趣的问题当我在一天的开始运行一个powershell脚本(ExampleStartupScript.ps1)时,它会运行并给予我这个:Completed Script and then a bunch of Utility Processes...
如果我什么都不做,它会保持打开状态,即使我在脚本中使用“Exit”或“stop-process”命令来结束脚本。窗口不会关闭。我将手动关闭它,它也将关闭我的Visual Studio Code应用程序窗口。有什么原因吗?
我为VSCode准备的代码行是:

Start-process -filepath "C:\Users\MyUserName\AppData\Local\Programs\Microsoft VS Code\Code.exe"

我有VSCode设置为运行作为一个管理员时,打开以及。
理想情况下,我希望我的脚本运行,打开我需要的东西,然后在完成时关闭。但是我必须手动关闭窗口并重新打开VSCode。这不是一个打破的东西,但它是一个奇怪的。

  • VScode版本1.77.3
  • Powershell 7-x647.3.4.0

---我已经尝试和期待---
在脚本的末尾添加Exit没有任何作用。
已尝试Stop-process -name Pwsh -force
尝试了stop-process -name Pwsh 1068...(与任务管理器应用程序编号相关的编号。)有2个出现,但可能会重新访问...
总的来说,我希望我的脚本在我登录时打开,它打开了我当天需要的应用程序,然后我希望它关闭。(但不会自动关闭。)

dhxwm5r4

dhxwm5r41#

你好,我刚刚检查了什么是从cmd与lauchned。

where code

有趣的结果是,如果你从cmd启动它。

C:\Program Files\Microsoft VS Code\bin\code.cmd

启动的是code.cmd,而不是安装根目录下的Code.exe。
这应该能达到你的目的

Start-process -filepath "C:\Program Files\Microsoft VS Code\bin\code.cmd" -NoNewWindow

在此之后,您可以执行(--new-windows作为代码命令行选项的示例)

Start-process -filepath "C:\Program Files\Microsoft VS Code\bin\code.cmd" -ArgumentList "--new-window"

code.cmd中的命令是从exe分离控制台会话所必需的。所以,我建议按原来的打算去做。
关闭vscode比可能更复杂或更简单,这取决于您的特定需求。
一个真实的好的例子如何管理窗口可以在这里找到。How can I kill the child process without PID。但在您的情况下,您有一个PID,因此可能不需要大部分代码。
基本的答案是将WMClose发送到正确的窗口,但一个进程可能有许多窗口。
但也许杀死$PID对你来说就足够了。

KILL $PID

相关问题