Почему вы не можете удалить переменную Python в консоли отладки VSCode?

#python #visual-studio-code #vscode-debugger

Вопрос:

Я столкнулся с этим странным поведением в отладчике кода VS при пошаговом прохождении кода строка за строкой.

Раньше print(var1) , когда я выполняю del var1 в консоли отладки, она удалится var1 , и следующая строка print(var1) завершится ошибкой, как и ожидалось.

Однако main() , когда я выполняю del var2 в консоли отладки, он ничего не делает. Следующая строка print(var2) выполняется успешно. var2 = 'new' изменит значение в консоли отладки, но del var2 не удалит переменную.

Есть ли какая-либо причина для такого непоследовательного поведения? Похоже, что консоль отладки кода VS не удаляет переменные внутри функции. Когда я выполняю ту же отладку pdb , она работает так, как ожидалось ( var2 удаляется).

 var1 = 'value1'
# del var1 (in vscode Debug Console)
print(var1)

def main():
    var2 = 'value2'
    # del var2 (in vscode Debug Console)
    print(var2)

main()
 

VS Код v1.61.1 (сентябрь 2021)
Python v3.9.5