如何配置NetBeans以插入制表符而不是一堆空格?

122

当我按下 Tab 进行代码缩进时,我希望得到一个真正的制表符。这意味着当我选中它时,只有一个大的东西被选中。NetBeans 在我按下 Tab 键时插入 5 个空格而不是制表符。有没有办法可以更改这个设置?


7
5个制表位真的很不寻常。 - Anon.
4
制表符的大小只是一种观点,但如果问我,实际上插入空格是你能做的最愚蠢的事情。 - timing
11
只使用空格而不混用制表符可以避免与差异、补丁、历史记录和注释相关的问题。同时使用空格也便于插入细粒度的子缩进以实现行间对齐。该引述来源于 https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md。 - leticia
5
PSR-2编码风格指南规定:“代码必须使用4个空格进行缩进,而不是制表符。”正如上一位评论者所提到的那样。当你偏离标准时,了解这点是很好的。 - Camden S.
5
PSR标准不是针对PHP的吗?为什么NetBeans要在所有东西上强制使用它?制表符更自然、更直观...你可以使用空格表示空格,使用制表符表示缩进。 - Noobification
显示剩余3条评论
5个回答

162

前往工具->选项->编辑器->格式化,取消勾选将制表符扩展为空格

将制表符扩展为空格

确保您还为每个缩进的空格数制表符大小选择了连贯的值。


此外,您可以检查语言组合框中的所有项目,并确保它们都使用一般设置。

使用所有语言设置

您还可以以每个项目的方式进行更改。右键单击项目图标,选择属性并查看格式化类别。

使用特定于项目的选项

自NetBeans 8.0以来,这些菜单项仍然有效。


7
已经在所有地方取消了“将制表符扩展为空格”的选项。这是Netbeans中的一个错误,它会始终将制表符扩展为空格。 - openfrog
3
显然,它不会改变之前的空格,只会影响您更改缩进的行。是这样吗?您可以尝试“源->格式”命令。 - Álvaro González
30
这里也有同样的问题,但我认为我搞明白了:如果你当前的文件在某些奇怪的距离(例如3、5等)处有“空格缩进”,那么NetBeans将尝试聪明地使用空格将缩进对齐到该级别,如果按tab键。将制表符停止位数每次缩进的空格数都设置为8,然后像Alvaro提到的那样选择Source->Format,然后你就可以用tab键插入一个制表符。 - mvds
7
好的,这很有效!您还可以将“制表符大小”设置为4。它只需要与“每次缩进的空格数”相等即可。 - PiTheNumber
1
@mvds,你的方法很有效!我只需要将“每个缩进空格数”和“制表符大小”设置为相同的值,它就可以工作了!都设置为4或都设置为8。谢谢! - Jo Smo
显示剩余6条评论

71

如果您选择相同的值作为“每个缩进空格数”和“制表符大小”,并取消“工具”->“选项”->“编辑器”->“格式设置”中的“将制表符扩展到空格”选项,则似乎可以正常工作,例如:

[ ] 将制表符扩展到空格
每个缩进空格数:[ 4] 制表符大小: [ 4] ....

这也是7.3版本(MAC)的解决方案。 - knagode
顺便提一下,如果您已经安装了jVi,这些选项应该通过jVi配置进行设置,标准的tabwidth和shiftwidt选项将不再起作用。 - qed
Netbeans 8.0和这个答案实际上帮了我很多。截至2014年,这应该是正确的答案。 - Omar Tariq
1
您可能还需要在语言下拉菜单中选择“所有语言”,以便选项卡选项可见。(如果我打开一个Python文件,则默认为Python语言特定设置。) - CrazyPyro
1
我可以确认这种方法在Netbeans 8.0中有效! - Jo Smo
没错,在Mac OSX Sierra上,NetBeans 8.2也能正常运行。 - Petr Cibulka

7
对于NetBeans 7.1.2,
我需要进入“工具->选项->编辑器->将制表符扩展为空格”,取消勾选该选项(确保您选择了“所有语言”)。并且在每个缩进的空格数制表符大小中都输入“8”。
只是在这里具有相同值对我没有起作用。必须是8。

5
在“工具-选项-编辑器-格式”中,应取消勾选“将制表符扩展为空格”,并且“缩进时使用的空格数”应与“制表符大小”相等。当您将“语言”从“所有语言”更改为其他语言时,还要检查“覆盖全局选项”是否取消选中。

1
Netbeans IDE 8.2(OSX)
转到 文件 -> 项目属性(您的项目)

enter image description here

选择类别中的格式

enter image description here

点击编辑全局选项

enter image description here

然后点击确定

enter image description here

  • 取消选中:将制表符扩展为空格
  • 单击:应用
  • 单击:确定

如果您想设置项目特定选项,则:

  • 选择:使用项目特定选项
  • 取消选中:将制表符扩展为空格
  • 您还可以选择语言(PHP)。

enter image description here

然后点击确定

也适用于Netbeans 12 :) - TIGER

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