2025, Sep 28 17:16
Shift+Enter в VS Code перестал отправлять Python в терминал: помогает пререлиз расширения
Сбой VS Code: Shift+Enter и Run Selection/Line in Terminal не отправляют Python‑код в терминал. Помогает переход на пререлизную версию Python‑расширения.
Когда Shift+Enter в VS Code внезапно перестаёт отправлять Python‑код во встроенный терминал, ломается даже самый простой рабочий цикл. Обычная команда Run Selection/Line in Terminal становится беззвучной: ни ошибок, ни отклика, и кажется, что с терминалом всё в порядке — он по‑прежнему открывается и активирует окружение. Ровно это и произошло здесь: прежде безупречный поток «Python Smart Send» застопорился без видимой причины.
Что вы видите в редакторе
Сценарий работы элементарный: открываете файл Python, ставите курсор на строку и отправляете её в терминал. Вот небольшой фрагмент, который удобно гонять кусками:
greeting = "hello from smart send"
print(greeting)
num_a = 2
num_b = 3
print(num_a + num_b)
В исправной конфигурации отправка каждой строки или выделенного блока сочетанием Shift+Enter сразу выполняется во встроенном Python‑терминале. В «сломанном» состоянии не происходит ничего. Терминал всё так же открывается, а в Windows он может запускаться как PowerShell, автоматически прогоняя последовательность активации conda:
(& C:\Users\REDACTED\AppData\Local\miniforge3\shell\condabin\conda-hook.ps1) ; (conda activate base)
Изменение terminal.integrated.defaultProfile.Windows на Command Prompt ситуацию не меняет. Переустановка VS Code и Python тоже не помогает. Встроенный терминал продолжает открываться в PowerShell, окружение conda активируется, а Shift+Enter молчит.
Причина проблемы
Поведение связано с версией расширения Python для VS Code. Точный триггер сбоя неясен, но решающим оказался именно номер версии. Такие действия, как проверка привязок клавиш, смена оболочки по умолчанию или переустановка редактора и интерпретатора, не помогают, потому что проблема не в этих слоях.
Судя по тестам, проблема присутствовала в версиях с 2025.0.0 по 2025,13.2025082101 включительно. Есть также наблюдение: на Windows с VS Code 1.104.0-insiders воспроизвести её не удалось — и «run python», и «run in interactive window» работали как ожидается.
Исправление, которое возвращает Smart Send
Переключение расширения Python для VS Code на предварительную (pre-release) версию устраняет проблему. Как только расширение установлено в пререлизной сборке, Shift+Enter и Run Selection/Line in Terminal снова ведут себя нормально во встроенном терминале — даже при использовании PowerShell и автоматической активации conda.
После применения исправления тот же минимальный фрагмент выполняется построчно, как и задумано:
greeting = "hello from smart send"
print(greeting)
num_a = 2
num_b = 3
print(num_a + num_b)
Почему это важно
Для многих разработчиков и специалистов по данным итеративный запуск — самый быстрый способ проверить состояние, подтвердить предположения и пройтись по скрипту без переключения контекста в полноценный отладчик или ноутбук. Когда Smart Send ломается, это бьёт по ежедневной продуктивности куда сильнее, чем косметический сбой. Понимание, что виновата может быть версия расширения Python для VS Code, экономит часы, которые иначе уходят на охоту за терминалами, оболочками и настройками окружений. Это также напоминает: если раньше рабочий процесс внезапно притих, проверьте канал обновлений расширения.
Выводы и практические советы
Если Shift+Enter или Run Selection/Line in Terminal перестают реагировать, а встроенный терминал всё равно открывается и активирует conda, в первую очередь подозревайте расширение Python для VS Code. Обновление до предварительной версии может вернуть работоспособность. Проблема наблюдалась в версиях с 2025.0.0 по 2025,13.2025082101, тогда как на Windows с VS Code 1.104.0-insiders воспроизвести её не удалось. Следите за каналом расширения, которым пользуетесь, и прежде чем переустанавливать инструменты или перекраивать профили терминала, попробуйте сменить версию расширения.