Mac上的Visual Studio代码出现缩进错误(再次)
问题描述
我是一个新手,正在尝试在我的Mac上Visual Stodio Code上使用Python(通过Anaconda使用2.17.15)。我有以下简单的代码:
def function(x):
y = x + 2
return y
此代码给我带来了常见的麻烦,缩进错误:
return y
^
IndentationError: unexpected indent
>>> return y
File "<stdin>", line 1
return y
^
IndentationError: unexpected indent
>>>
不用说,Jupyter或Spyder在这方面没有问题。我在VSC选项卡上查了一下,上面有4个空格。所有类似的问题都与此相关,但我无法解决它。
其他的、内置的Python函数运行得很好。
请给我一些帮助或提示,因为我不知道如何逃脱。
更新
重新安装Python3这段简单的代码可以在Sublime上运行,但仍然不能在VS Code上运行。我在VS代码中仍然收到相同的错误。更新2
所以,还有一个更新。如果我从return
更改为print
,而不是使用Shift命令调试并运行代码,则它可以工作。
知道发生了什么事吗?
解决方案
这看起来像是因为您正在使用Shift+Enter运行代码。
VS代码具有以下2Shift_Enter绑定:
我相信您看到的是其中的第二行,上面写着"在Python终端中运行选择/行。我怀疑您关注的是return y
行,所以它只运行那一行代码。
如果您在VS代码中使用运行代码命令而不是Shift+Enter,您应该会看到它工作正常:
您可能会想"好的……所以如果我选择所有代码,这将会起作用,对吗?"我同意...这感觉应该行得通。然而,我看到了一个类似的问题。我会看看我是否能找出原因,但目前您可以在VS代码中使用Run Code命令,这将做您想做的事情。如果突出显示要运行的代码,将限制执行的内容。
可以使用Ctrl+Alt+N
该问题(所选代码在使用Shift+Enter组合键时不能正确运行)看起来是一个正在跟踪的错误:https://github.com/Microsoft/vscode-python/issues/2837
解决办法(不太理想)是在函数之前/之后添加未缩进的代码,然后选择并执行这些行:
print("this...")
def function(x):
y = x + 2
return y
print("...now works if you select all these lines and Shift+ENTER!")
相关文章