Как предотвратить открытие нового пустого экземпляра VSCode после закрытия удаленного WSL-соединения

Я использую VSCode с расширением Remote WSL.

Когда я выхожу из удаленного WSL, я использую кнопку / команду Close Remote Connection. VSCode закрывает текущее окно, но автоматически открывает новый пустой экземпляр.

Как предотвратить открытие нового пустого экземпляра VSCode после закрытия удаленного WSL-соединения?

В 90% случаев, когда я заканчиваю WSL, мне не нужно новое окно VSCode.

Примечание: я, конечно, могу использовать X, но я не уверен, что это правильный способ оставить удаленное соединение




Ответы (1)


Я могу понять вашу озабоченность по поводу прекращения всего этого (X), но я не думаю, что это проблема (и это правильный способ выполнить то, что вы хотите). Когда VSCode завершает работу, подсистема (и экземпляр) WSL2 все еще работает в фоновом режиме.

Вы можете продемонстрировать это, запустив wsl.exe -l -v из cmd или PowerShell и убедившись, что он все еще находится в состоянии Running после выхода из VSCode.

Чтобы действительно выйти из экземпляра WSL, вам нужно будет запустить wsl.exe -t <distro> или, чтобы завершить работу всей подсистемы, wsl.exe --shutdown. Я собираюсь предположить, что это чистые выключения, но в любом случае мы знаем, что завершение VSCode чистое, поскольку на самом деле оно завершает только свои собственные процессы WSL при выходе.

Вы можете дополнительно продемонстрировать это:

  1. Открытие оболочки WSL вне VSCode
  2. Бег ps auxw
  3. Открытие VSCode с помощью удаленного подключения WSL
  4. Снова запуск ps aux в исходной оболочке (обратите внимание на процессы VSCode)
  5. Закройте VSCode
  6. Выполнение ps aux в последний раз в исходной оболочке, чтобы убедиться, что завершены только процессы VSCode.
person NotTheDr01ds    schedule 10.12.2020