为什么IntelliJ不使用制表符?

10
根据如何在IntelliJ IDEA中使用制表符缩进的建议,我已经浏览并设置了每个扩展名为“使用制表符字符”,如下所示。
然而它没有起作用——当我按tab键时,IntelliJ仍然插入空格。我错过了什么吗?intelliJ的[请像我ef'ing告诉你那样使用制表符]按钮在哪里?
(FYI,我正在使用IntelliJ Ultimate 2016.2) 这看起来很有前途......enter image description here ...但显然这都是谎言 :(enter image description here

1
纯粹出于兴趣,为什么你想要使用制表符而不是空格呢?我实际上讨厌别人在共享代码中使用制表符,因为格式化在至少一台机器或源代码查看器上经常会乱掉。 - Michael Ritter
10
@MichaelRitter,他想做这件事情的原因并不重要,你讨厌这样做也无关紧要。我讨厌空格缩进。在至少一台机器或源代码查看器上,它一样混乱不堪。但是我们的偏好无法回答问题。 - Wing
2
@MichaelRitter 使用制表符进行缩进,使用空格进行对齐。这就是智能制表符选项的目的。 - LoganMzz
我遇到了类似的问题,智能制表符是问题所在。 - Gru
3个回答

10

进入 设置编辑器代码风格,然后取消选中‘检测并使用现有文件缩进进行编辑’。


3
也许你已经勾选了“设置-编辑器-常规-允许将光标放置在制表符内”的选项。请取消勾选后重试。

好的建议,不过我已经检查过了。 - doub1ejack

3
如果你打开.editorconfig文件,你会看到类似如下的内容。
# editorconfig.org  
root = true  

[*]  
indent_style = spaces  
indent_size = 2  
end_of_line = lf  
charset = utf-8  
trim_trailing_whitespace = true  
insert_final_newline = true

我将其更改为制表符和4,关闭了项目并重新打开。
我知道这是一个荒谬的步骤,我已经向他们提交了一个未解决的错误报告。


哇,重新打开项目确实有奇效!如果不重新打开,它会报告荒谬的矛盾异常。 - Oleksandr Danylchenko
我有几个具有不同indent_size设置的文件,所以我搜索了整个项目并将其更改为我想要的设置。现在它可以正常工作,无需重新启动或重新打开。 - honk31
FYI,https://editorconfig.org/ 上说你可以这样定义多个文件类型 [*.{js,py}],然而我们的项目中使用了 [*.{js}] 并设置了 indent_style = tab,但是空格仍然被插入。结果发现这种语法对于单个文件扩展名不起作用。将其改为 [*.js] 修复了问题,现在使用制表符进行缩进。 - James

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