为什么 VS Code 终端在运行块时会向块添加缩进?

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

对 python 相当陌生,没有太多正式的编程知识,所以希望你们中的一个人可以提供帮助。

我以前使用 VSCode 来运行 python 脚本,它工作得很好,但在一些更新之后我遇到了问题。当我运行一段代码(定义一个函数、for 循环、while 循环等)时,终端会在第一行之后的每一行添加一个缩进,并将该缩进从一个块保留到下一个块。我可以在调试器中很好地运行代码,但我不知道如何辨别两者之间的不同之处,并且没有在网上找到任何有类似问题的人。

如果有任何其他信息有助于解决问题或理解此问题,请告诉我。我不知道什么有用或没用。

我尝试运行一个只有一个缩进行的 for 循环,它按预期工作:

>>> for i in range(0,2):
...         print(i)
... 
0
1

但是,如果我在编辑器中以相同的缩进向循环添加第二行并运行它,终端会向第二行添加一个额外的缩进,然后抛出缩进错误:

我在编辑器中输入的内容:

for i in range (0,2): print(i) print("test")
通过突出显示并使用 Shift+Enter 在终端中显示的内容:

>>> for i in range (0,2): ... print(i) ... print("test") ... File "<python-input-1>", line 3 print("test") IndentationError: unexpected indent >>>
有趣的是,如果我再次运行同一行,两个打印语句都会缩进一次,并且会发生相同的错误:

>>> for i in range (0,2): ... print(i) ... print("test") ... File "<python-input-2>", line 3 print("test") IndentationError: unexpected indent
    
python visual-studio-code terminal indentation
1个回答
0
投票
在您运行的命令中,您的缩进似乎有超过 4 个空格,这就是您出现缩进错误的原因。 python 中的缩进是 4 个空格。 当您想要缩进时,不要混合使用空格和制表符,应使用其中之一,而不是同时使用两者。希望这有帮助。

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