Notepad++缩进混乱问题

53

我正在使用Python编程,我非常喜欢Notepad++。但是最近当我使用tab进行缩进时,在Notepad++中看起来很正常,但是当我运行程序时,会出现缩进错误。当我在Emacs或其他编辑器中检查代码时,我发现Notepad++实际上添加了比屏幕上显示的更多的tab空格。这是怎么回事?

6个回答

109

没有通用的制表符大小,因此我总是确保将制表符替换为空格(这样您所看到的内容在其他地方也是一样的)

转到“设置”->“首选项...”->语言菜单/标签设置,并选择“替换为空格”


2
哦,对了,我忘了也提一下这个了。有好几次我因为使用Tab键而遭遇了问题。 :) - Ashley Grenon
1
哦,太好了..不知道那是可能的。谢谢! - iman453
2
+1 这正是我在花费大量时间开发任何 IDE 之前所做的事情。 - danyim
10
只有当您选择“偏好设置”->“语言菜单/选项卡设置”->“<从列表中选择Python>”并勾选“以空格替换”时,才能在Python中进行此更改。 - James
我不明白为什么Python对于Tab和4个空格如此挑剔...为什么他们不把它们看作同一种方式呢? - Thomas
显示剩余2条评论

46

我建议前往“视图”>“显示符号”>“显示空格和制表符”,以更好地了解您的缩进是如何看起来的。


2
被低估的评论。这使得在Notepad++中即时纠正错误的制表符/空格成为可能。谢谢。 - Ari
2
我建议使用这个解决方案,而不是 "用空格替换"。 - Pritesh Gohil

8

2
使用Notepad++的Python缩进插件: 我已经使用过Pycharm和Notepad++,坦白地说 - 尽管两者都已经安装在我的电脑上,但我更喜欢使用Notepad++。因此,如果您想继续使用Notepad++进行Python开发,您应该一定要安装“Python Indent”插件。这个插件将在编写Python代码时自动为您创建制表符。插件的唯一缺点是您必须记得在需要使用它时启用它(通过转到Plugins --> Python Indent,然后单击“Enable”)。
要在Notepad++中安装Python Indent插件,只需转到“Plugins” --> “Plugin Manager”,然后单击“Show Plugin Manager”。然后勾选“Python Indent”并单击“Install”按钮。
此外,您应该遵循Python的使用指南: 制表符间距可能因程序而异,并且根据PEP8(Python增强提案第8号 - 这是Python的接受样式和使用指南)的建议,您应该使用空格键来进行缩进。在此处查看有关间距的PEP8页面:https://www.python.org/dev/peps/pep-0008/#tabs-or-spaces 祝你好运!

我已经安装了Python Indent,但它使用4个空格作为缩进。是否有方法将其更改为仅使用2个空格?我尝试设置-->首选项-->语言-->制表位大小:2,但它无效。 - dudung

2

小更新 - 现在要将空格替换为制表符,您需要前往“设置”>>“首选项”>>“标签设置”,并勾选“用空格替换”框。


2
我是新手,开始使用Notepad++编写Python代码。但我遇到了和你一样的问题……缩进问题。在我的前辈建议下,我切换到了PyCharm社区版。我将代码从Notepad++粘贴到PyCharm中,它会突出显示缩进问题所在的块……问题是,有些行使用了空格,有些行使用了制表符。这是因为我正在处理的代码是从互联网上获取的。
检查此类不一致之处可以解决问题。或者,有一个更好的选择……切换到PyCharm。它专门为Python编程而设计。希望这可以帮助像我这样在Notepad++中寻找解决缩进问题的人们。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接