似乎是Atom / Hydrogen如何解释代码的问题。 for
循环它将通过单击行号中的胡萝卜给我“折叠”或“折叠”的选项。然而,if
块/声明没有这样的运气。
编辑器名称和版本:Atom 1.35.1
平台:Mac OS Sierra 10.12.6
配色方案:一个黑暗/日晒黑暗
## this works:
for i in range(10):
print( i)
## this doesn't:
if not False:
print("test worked")
## this example doesn't throw an error, but only executes the "if" and not the else parts:
x= False
if x == True:
print("test")
elif x == None:
print ('test anyway')
else:
print('test again')
我已经完全卸载了atom并删除了所有已知的剩余文件(请参阅enter link description here,然后重新安装并且问题仍然存在。
在调用run命令之前,尝试选择要运行的所有代码。
另一种选择是use cells和hydrogen:run-cell
命令:
# %% Works if you run cells individually with `ctrl+shift+enter`
for i in range(10):
print( i)
# %% this will now too:
if not False:
print("test worked")
# %%
x= False
if x == True:
print("test")
elif x == None:
print ('test anyway')
else:
print('test again')
除非您选择要运行或使用单元格的代码,否则Hydrogen会尝试使用原子语法和代码折叠来解决问题。通常它会正确,但Python缩进和空格有时会抛弃它。
如果您认为应该优先考虑此错误,请随意打开一个问题,但它可能依赖于上游的原子apis,我认为解决方法很容易。
if
语句的折叠似乎是language-python插件中的一个错误,例如,请参阅https://github.com/atom/language-python/pull/300(他们正在研究它)。
他们鼓励我在氢气中打开一个bug问题。 Viola:https://github.com/nteract/hydrogen/issues/1589
我相信一旦推出版本,解决方案就是升级。此时这似乎不是配置/设置问题。