[英]When opening vscode using batch file, cmd opens and doesn't close
使用 VSCode 1.52.1,我可以在退出批处理脚本后不打开 cmd 窗口的情况下启动它的唯一方法是:
explorer.exe "%userprofile%\AppData\Local\Programs\Microsoft VS Code\Code.exe"
注意:它不涉及打开要使用的特定本地目录。 但是也许您可以找到解决方案,例如将文件夹保存为工作区或使用Ctrl + R打开最近的文件夹。 另外,如果您只在该目录/工作区中工作,或者在关闭 VSCode 之前使用它,它将在下次启动时自动打开。
那是因为你实际上是在调用批处理文件code.cmd
其位于[VSCodePath]\\bin\\code.cmd
。 code.cmd
文件依次调用实际的 VSCode 可执行文件code.exe
使用start
命令调用批处理文件( .BAT
或.CMD
) start
,将创建 CMD 进程的新实例来处理批处理文件的执行,但它使用/K
开关而不是/C
调用 CMD 进程
比如start code.cmd
执行cmd /k code.cmd
正是/K
开关使新的 cmd 在完成批处理文件的执行后保持打开状态。
要解决此问题,请不要直接将批处理文件提供给start
命令,而是通过显式 CMD 调用执行它:
@echo off
start cmd /C code "C:\GitHub\TestApp\testapp"
exit
该 CMD 窗口与您刚刚打开的 VSCode 实例相关联。 尝试关闭它将终止您启动的应用程序。 (在这种情况下, VSCode )
start xxx xxx...
命令打开一个新的 cmd 终端来执行它的操作。 即使出现了一个新的提示,它本身可以用作普通终端,但 VSCode 进程作为父进程不可阻挡地链接到它。
如果您的目标是不启动单独的 cmd 窗口,请运行:
start code /b "C:\\GitHub\\TestApp\\testapp"
它只是在同一窗口中运行命令。 VSCode 窗口仍然不可避免地绑定到当前 cmd 窗口,如果 cmd 窗口消失,它将关闭,但至少没有启动另一个 cmd 窗口。
Windows 无法从终端在后台启动程序。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.