При открытии vscode с помощью командного файла, cmd открывается и не закрывается - PullRequest
0 голосов
/ 22 июня 2019

При попытке открыть папку vscode с помощью командного файла Visual Studio открывается с этой папкой, но также появляется окно cmd и не исчезает, если вы используете команду выхода.

@echo off
start code "C:\GitHub\TestApp\testapp"
exit 

VSCodeоткрывается правильно, но также открывается это окно

cmd window

Ответы [ 2 ]

1 голос
/ 22 июня 2019

Это окно CMD связано с экземпляром VSCode, который вы только что открыли.Попытка закрыть его прекратит работу приложения, которое вы запустили.( в этом случае VSCode )

Команда start xxx xxx... открывает новый терминал cmd для выполнения его действия.Даже при появлении нового приглашения, которое можно использовать как обычный терминал, процесс VSCode неумолимо связан с ним как с родительским процессом.

Если ваша цель - не запускать отдельное окно cmd, запустите:

start code /b "C:\GitHub\TestApp\testapp"

, которая просто запускает команду в том же окне.Окно VSCode по-прежнему неразрывно связано с текущим окном cmd и закроется, если окно cmd исчезнет, ​​но по крайней мере другое окно cmd не будет запущено.

Windows не имеет возможности запустить программу вфон из терминала.

0 голосов
/ 23 июня 2019

Это потому, что вы на самом деле вызываете командный файл code.cmd, который находится в [VSCodePath]\bin\code.cmd.Файл code.cmd в свою очередь вызывает фактический исполняемый файл VSCode code.exe

При вызове пакетного файла (.BAT или .CMD) с помощью команды start новый экземпляр процесса CMD будетсоздан для обработки выполнения командного файла, но он вызывает процесс CMD с переключателем /K вместо /C

Например, start code.cmd выполняет cmd /k code.cmd

Этопереключатель /K, который заставляет новый cmd оставаться открытым после завершения выполнения командного файла.

Чтобы разрешить вместо прямой передачи командного файла команду start, выполните ее с помощью командыявный вызов CMD:

@echo off
start cmd /C code "C:\GitHub\TestApp\testapp"
exit 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...