在 VS Code 中,将 Python 行发送到终端时,为什么我必须在使用变量的行之前重新发送将变量设置为编辑值的行?

问题描述 投票:0回答:2

当我在 VS Code 中编写代码并运行它时,一切都很好,但是当我对代码进行更改并按 ctrl + s 时,更改不会更新或在终端中运行。

例如,更改我想要打印的变量的值,当我使用 ctrl + s 保存对变量的更改后执行打印时,它打印的值与受该变量影响的前一个值相同。

唯一的解决方法(在朋友注意到我之前,我认为这很正常)是使用shift + 输入我想要更新的选定代码来运行以使更改生效。

换句话说,我必须按住shift+输入我想要在终端中更新打印结果的代码,无论它是否保存。

示例

更改前:

a = 1
b = 1
print(a+b)

output : 2

更改后并按 ctrl + s :

a = 1
b = 2
print(a+b)

output : 2
python visual-studio-code terminal
2个回答
0
投票

在终端中运行的 Python 解释器具有 状态。如果您仅在更改将变量设置为不同值的行后重新运行打印行,则您还没有告诉解释器更新其与这些变量相关的状态。这就是它的工作原理。只有发送到 Python 解释器的行才会运行(以更新其状态)。在将行发送到终端方面,VS Code 的 Python 扩展中没有进行奇特的数据依赖检测(尽管还有一些其他程序分析正在发生)。


-2
投票

您可以使用 Pycharm 代替 VS Code。这个IDE最适合Python初学者。PyCharm社区版是免费的。

© www.soinside.com 2019 - 2024. All rights reserved.