Visual Studio 上的缩进错误 Mac 上的代码(再次)
Indentation error on Visual Studio Code on a Mac (again)
我是一个新手,试图在 Mac 上的 Visual Stodio Code 上使用 Python(2.17.15 通过 Anaconda)。我有以下简单代码:
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 Code 中仍然遇到同样的错误。
更新2
所以,另一个更新。如果我从 return
更改为 print
而不是 shift-command debug 和 运行 代码然后它工作。
知道发生了什么吗?
这看起来像是因为您运行使用 Shift+ENTER 键输入代码。
VS Code 对 Shift_ENTER 具有以下 2 绑定:
我相信您看到的是第二个,它在 Python 终端中显示“运行 Selection/Line。我怀疑您关注的是 return y
行,所以它只是 运行 单行代码。
如果您在 VS Code 中使用 运行 Code 命令而不是 Shift+ENTER,您应该会看到它工作正常:
您可能会认为 "OK...so if I select all of the code this will work, right?" 并且我同意...这感觉应该可行。但是,我看到了类似的问题。我会看看我是否能找出原因,但目前您可以在 VS Code 中使用 运行 Code 命令,这将执行您想要的操作。如果您突出显示要 运行 的代码,那将限制执行的内容。
运行 代码可以用 Ctrl+Alt+N
来执行
看起来这个问题(selected 代码没有 运行 使用 Shift+ENTER 正确)是一个正在被跟踪的错误:https://github.com/Microsoft/vscode-python/issues/2837
解决方法(不理想)是添加代码 before/after 您的未缩进的函数,然后 select 并执行这些行:
print("this...")
def function(x):
y = x + 2
return y
print("...now works if you select all these lines and Shift+ENTER!")
这是 python extension 中的错误,您需要在交互模式下 运行 代码块。
因此在下面的示例代码中:
for lastRun in list(d_RunPanelsPresent.keys()):
# some indented commands
logFile = f"/nexusb/Novaseq/{lastRun}/logPPscript.txt"
if not os.path.isfile(logFile):
with open(logFile, 'w+') as f:
pass
else:
pass
如果我高亮如下(注意光标所在位置):
我会得到一个错误。
解决方法是在代码编辑器最左边高亮代码,如下图:
这对我来说 100% 有效。
我是一个新手,试图在 Mac 上的 Visual Stodio Code 上使用 Python(2.17.15 通过 Anaconda)。我有以下简单代码:
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 Code 中仍然遇到同样的错误。
更新2
所以,另一个更新。如果我从 return
更改为 print
而不是 shift-command debug 和 运行 代码然后它工作。
知道发生了什么吗?
这看起来像是因为您运行使用 Shift+ENTER 键输入代码。
VS Code 对 Shift_ENTER 具有以下 2 绑定:
我相信您看到的是第二个,它在 Python 终端中显示“运行 Selection/Line。我怀疑您关注的是 return y
行,所以它只是 运行 单行代码。
如果您在 VS Code 中使用 运行 Code 命令而不是 Shift+ENTER,您应该会看到它工作正常:
您可能会认为 "OK...so if I select all of the code this will work, right?" 并且我同意...这感觉应该可行。但是,我看到了类似的问题。我会看看我是否能找出原因,但目前您可以在 VS Code 中使用 运行 Code 命令,这将执行您想要的操作。如果您突出显示要 运行 的代码,那将限制执行的内容。
运行 代码可以用 Ctrl+Alt+N
看起来这个问题(selected 代码没有 运行 使用 Shift+ENTER 正确)是一个正在被跟踪的错误:https://github.com/Microsoft/vscode-python/issues/2837
解决方法(不理想)是添加代码 before/after 您的未缩进的函数,然后 select 并执行这些行:
print("this...")
def function(x):
y = x + 2
return y
print("...now works if you select all these lines and Shift+ENTER!")
这是 python extension 中的错误,您需要在交互模式下 运行 代码块。
因此在下面的示例代码中:
for lastRun in list(d_RunPanelsPresent.keys()):
# some indented commands
logFile = f"/nexusb/Novaseq/{lastRun}/logPPscript.txt"
if not os.path.isfile(logFile):
with open(logFile, 'w+') as f:
pass
else:
pass
如果我高亮如下(注意光标所在位置):
我会得到一个错误。
解决方法是在代码编辑器最左边高亮代码,如下图:
这对我来说 100% 有效。