Код Visual Studio добавляет строки между кодом в терминале Python, вызывая синтаксические ошибки

Я запускаю код Python в VS Code (1.28.2, с расширениями Python и Python Extension Pack) и использую функцию «Выполнить выделение / строку в терминале Python» (Shift + Enter), чтобы просто запустить выбранный код в Терминал Python.

Это всегда работало хорошо, но сегодня я добавляю новую строку между каждой строкой кода в терминале, то есть если я запускал:

import heapq 
import pickle

вывод в терминале будет:

>>>import heapq
>>>
>>>import pickle

Сначала это кажется раздражением, но теперь любые циклы или функции for выдают ошибку отступа ... так что, по сути, я не могу успешно запустить какой-либо код.

Я попытался переустановить VS Code, а также установить более старую версию VS Code, но у всех возникла та же проблема.

Это так странно, потому что все работало нормально, а потом внезапно все изменилось. Единственное, что, на мой взгляд, могло измениться, - это то, что я установил расширение JSON Tools, но я не верю, что это что-то изменит в Python (и я пытался удалить его и не загружать его снова при переустановке VS Code из царапать)

Любая помощь будет принята с благодарностью!

Это похоже на ошибку, которая должна быть проблемой github в репозитории кода VS, а не вопросом SO.

DeepSpace 18.10.2018 14:07

Перед переустановкой вы пробовали удалить папку VS Code, которая по умолчанию находится в %APPDATA%\Code\User\ ? (см. здесь для расположения по умолчанию других ОС)

Michaël Polla 18.10.2018 14:13

Да, я удалил папку.vscode (которая содержала расширения), чтобы убедиться, что я начал с чистого листа. Похоже на ошибку с обновлением расширения Python, поэтому, согласно комментарию @ DeepSpace, я постараюсь опубликовать сообщение в репозитории VS или, точнее, на странице проблем с расширением Python. Спасибо!

andrewjones54 18.10.2018 14:17

Это ошибка, исправление которой вскоре выйдет в отдельном выпуске: github.com/Microsoft/vscode-python/issues/2857

Brett Cannon 18.10.2018 21:05
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
4
125
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Это Жук, который будет исправлен в версии 2018.9.1 расширения Python.

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