VS Code открывает новую консоль отладки каждый раз, когда я собираю / запускаю

Каждый раз, когда я собираю или запускаю программу в VSCode, загружается новая консоль отладки Python. Прежде чем я это знаю, у меня есть 20+ и нужно начать их удаление. После 32 открытых консолей я получаю сообщение об ошибке "Процесс терминала завершен с кодом выхода: 256". Я недавно изменил терминал с консоли по умолчанию на git bash. Как я могу это остановить?

5 ответов

Решение

Чтобы обойти эту проблему, нужно остановить VS Code от избыточной печати на TERMINAL во время отладки в первую очередь. Поскольку он печатает на DEBUG CONSOLE также вы можете использовать это вместо этого.

+ Изменить console в "none" в каждой конфигурации в вашем проекте launch.json файл:

"configurations": [
    {
        "name": "Python: Current File",
        "type": "python",
        "request": "launch",
        "program": "${file}",
        "console": "none"
    }
]

Добавление "args": ["&&", "exit"], к launch.jsonисправляет это для Git Bash. Конечно, взлом, но мне больше не нужно вручную закрывать многие отладочные терминалы.

Это могло быть решено в недавних обновлениях отладки ядра VS Code за последний год (по состоянию на 08/2022), но я все еще периодически сталкивался с этим.

Я не знаю, поможет ли это оригинальному плакату, но я обнаружил, что для меня проблема сохраняется из-за использования Git Bash в качестве терминала по умолчанию в Windows. Переключение на командную строку в качестве терминала по умолчанию устранило проблему. Я не тестировал с другими платформами или терминалами.

Изменение терминала по умолчанию на командную строку приводит к тому, что расширение Python запускает терминал «Python Debug» с командной строкой вместо Git Bash. Я зарегистрировал дефект VS Code/Python Extension по этому поводу. Первоначальный ответ заключается в том, что Git Bash в настоящее время официально не поддерживается.

Похоже, возникла проблема со связью между терминалами Git Bash и VS Code, которая вызывает эту проблему. Некоторые символы между Git Bash и VS Code теряются. Иногда это искажает команду отладки, и я получаю ошибку и должен повторить попытку в дополнение к получению дополнительного окна отладки.

В этом ответе есть дополнительная справочная информация и хаки, чтобы исправить это из прошлого .

Надеюсь, исправлено в сборке инсайдеров и должно быть в версии 1.54. См. Раздел « Отладка»: открывает новый интегрированный терминал для каждого сеанса Python . Протестируйте его в сборке для инсайдеров, если можете, и сообщите о проблеме, если она исправлена ​​/ не исправлена.

На самом деле вы можете удалить все экземпляры терминала, просто щелкнув значок корзины. Если он не работает в первый раз, перезапустить в VS код и повторите попытку.

Другие вопросы по тегам