如何在IntelliJ IDEA中使用制表符进行缩进?


129

如何在IntelliJ IDEA 11.0中使用制表符而不是多个空格进行缩进?

我在“代码样式”>“常规”>“默认缩进选项”下选中了 “使用制表符”。并且还尝试检查“智能标签”,但这没有帮助。

文档中

如果选中此复选框,则使用制表符:

  • 在按Tab键时
  • 缩进
  • 用于代码重新格式化

否则,将使用空格代替制表符。

Answers:


58

IntelliJ IDEA 15

仅针对当前文件

您有以下选择:

  1. Ctrl+ Shift+ A>编写“标签”>双击“到标签”

    到标签

    如果要将制表符转换为空格,可以编写“空格”,然后选择“至空格”。

  2. 编辑>转换缩进>到制表符

    要将制表符转换为空格,可以从同一位置选择“到空格”。

对于所有文件

其他答案中的路径有所更改:

  • 文件>设置...> 编辑器 >代码样式> Java>制表符和缩进>使用制表符 使用制表符
  • 文件>其他设置>默认设置...> 编辑器 >代码样式> Java>制表符和缩进>使用制表符
  • 文件>设置...> 编辑器 >代码样式>检测并使用现有文件缩进进行编辑
  • 文件>其他设置>默认设置...> 编辑器 >代码样式>检测并使用现有文件缩进进行编辑

似乎从“设置...”或“ 其他设置”>“默认设置...”中选中/取消选中该框都没有关系,因为从一个窗口进行的更改将在另一个窗口中可用。

上面的更改将应用​​于新文件,但是如果要在现有文件中的选项卡上更改空格,则应通过按+ + 格式化文件。CtrlAltL


1
这就是我所说的解释!非常感谢。我已经习惯了空格,我也设置了其他东西,但是我错过了重新格式化。
geisterfurz007 '02

210

文件 > 设置 > 编辑器 > 代码样式 > Java > 制表符和缩进 > 使用制表符

根据需要替代Java的首选武器。


5
请注意,如果要更改此设置并替换文件中的所有选项卡/空格,则可能需要关闭并重新打开文件才能在更改后更正检测结果。
mlissner,2015年

3
知道为什么默认情况下不启用“使用制表符”吗?
伊万·巴拉索夫

2
在其他文本编辑器中查看时,@ IvanBalashov选项卡字符可能会导致某些格式问题。另外,当您使用制表符而不是空格时,某些语言(例如Python)可能会中断。
Cache Staheli

11
当我想让制表符作为所有语言的缩进时该怎么办?我是否应该真正点击500种不同的语言并分别应用?
phil294

3
我已经做到了,IntelliJ仍在使用空格(请参阅post why-wont-intellij-use-tabs
doub1ejack

24

我已经开始使用IntelliJ IDEA社区版12.1.3版,并且在以下位置找到了该设置:-

File > Other Settings > Default Settings > {choose from Code Style dropdown}

4
没有您的回答就找不到。谢谢!
MegaMatt 2014年

2
您可能需要取消选择“检测文件缩进”
lowcrawler 2015年

14

对于无法获得此功能的任何人,您还需要取消选中以下内容

Preferences > Editor > Code Style
[] Enable EditorConfig support
EditorConfig may override the IDE code style settings

我的IntelliJ版本15.0.4


1
谢谢!您刚刚保存了我的键盘。
卡尔·伯格奎斯特

我有2个空格作为制表符大小,并且自最近几天以来一直在尝试解决此问题。这就是我解决问题的方式。非常感谢@visheshd
ADI公司

10

如果确实需要,可以在IDEA中关闭或保持选中状态的另一个有用选项:

Preferences -> Code Style -> Detect and use existing file indents for editing

如果您的团队要切换到使用空格写成的现有代码的制表符格式,请取消选中


8

您是否尝试过.editorconfig?您可以在项目的根目录中创建此文件,并为不同的文件类型配置缩进。您的代码将被自动格式化。这是示例:

# top-most EditorConfig file
root = true

# matches all files
[*]
indent_style = tab
indent_size = 4

# only json
[*.json]
indent_style = space
indent_size = 2

此文件将覆盖intellij设置中的其他任何内容。首先检查此文件非常重要。
Arashsoft

尝试过此页面上的所有内容(无论是否接受),这都是克服空间占用的唯一方法(Macos,Intellij CE 2018.3.4,现有的.rs文件)。
cloudurfin

0

我的Intellij版本是13.4.1

Intellij IDEA->Perference->Code Style(Project Setting)

0

要扩展@Dmitiri Algazin的答案:通用设置会覆盖各种语言的设置

Preferences -> Code Style -> Detect and use existing file indents for editing

因此,如果您想知道为什么在更改了特定语言的设置后会忽略新设置,则可能会选中此复选框。

作为旁注;更改任何默认设置会自动创建一个设置配置文件克隆(即Default(1)),我假设它已就位,因此不会覆盖默认的IDE设置。

首先,确实是有点混乱,无论是编辑Default设置还是Project Settings对您的项目有任何影响,因为您可以Default从下拉菜单中进行选择,然后再从那里进行编辑。

如果您不想一直看到默认克隆的随机副本,请在设置配置文件中进行填充,请直接编辑“项目设置”。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.