【问题标题】:How can I use tabs for indentation in IntelliJ IDEA?如何在 IntelliJ IDEA 中使用制表符进行缩进?
【发布时间】:2023-04-08 10:55:01
【问题描述】:

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

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

来自documentation

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

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

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

【问题讨论】:

    标签: intellij-idea indentation


    【解决方案1】:

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

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

    【讨论】:

    • 请注意,如果您要更改此设置并替换文件中的所有制表符/空格,则可能需要关闭并重新打开文件以在更改后更正检测。
    • 知道为什么默认情况下不启用“使用制表符”吗?
    • @IvanBalashov 制表符在其他文本编辑器中查看时可能会导致一些格式问题。此外,当您使用制表符而不是空格时,某些语言(如 Python)可能会中断。
    • 当我想让 Tabs 作为所有语言的缩进时我该怎么办?我真的应该点击 500 种不同的语言并单独应用吗?
    • 我已经这样做了,IntelliJ 仍在使用空格(见帖子why-wont-intellij-use-tabs
    【解决方案2】:

    IntelliJ IDEA 15

    仅适用于当前文件

    您有以下选择:

    1. Ctrl + Shift + A > 写“tabs” > 双击“To Tabs”

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

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

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

    对于所有文件

    其他答案中的路径略有改变:

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

    您似乎在 设置...其他设置 > 默认设置... 中选中/取消选中该框并不重要,因为从一个窗口进行的更改将在另一个窗口中可用。

    上述更改将应用​​于新文件,但如果您想将空格更改为现有文件中的制表符,则应格式化 按 Ctrl + Alt + L 的文件。

    【讨论】:

    • 这就是我所说的解释!非常感谢。我习惯了空格,我也设置了其他的东西,但我错过了重新格式化。
    【解决方案3】:

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

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

    【讨论】:

    • 如果没有您的回答,就不会发现这个。谢谢!
    • 您可能需要取消选择“检测文件缩进”
    【解决方案4】:

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

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

    我的 IntelliJ 版本 15.0.4

    【讨论】:

    • 谢谢!你刚刚保存了我的键盘。
    • 我有 2 个空格作为制表符大小,并且从过去很多天开始一直在尝试解决这个问题。这就是我解决问题的方法。非常感谢@visheshd
    【解决方案5】:

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

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

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

    【讨论】:

      【解决方案6】:

      你试过.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 设置中的任何其他内容。首先检查这个文件非常重要。
      • 在此页面上尝试了所有方法(无论是否接受),这是唯一能克服空间重压的方法(Macos、Intellij CE 2018.3.4、现有 .rs 文件)。
      【解决方案7】:

      我的 Intellij 版本是 13.4.1

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

      【讨论】:

        【解决方案8】:

        扩展@Dmitiri Algazin 的答案:个别语言的设置被通用设置覆盖

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

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

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

        实际上,编辑Default 设置或Project Settings 是否会对您的项目产生任何影响,一开始有点令人困惑,因为您可以从下拉菜单中选择Default,然后从那里进行编辑.

        如果您不想继续看到 Default 的随机克隆填充您的设置配置文件,请直接编辑项目设置。

        【讨论】:

          【解决方案9】:

          对于那些在此处缩进 phpstorm 时遇到问题的人,我有一个小窍门,希望对他们有所帮助...

          首先你必须去文件-> 设置-> 键盘映射-> 选择-> 窗口。

          如果它们在 Windows 机器上。如果你在 mac 上并选择 macos。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2012-08-29
            • 1970-01-01
            • 2012-11-03
            • 2017-08-08
            • 1970-01-01
            • 2012-01-24
            • 2020-08-10
            • 2019-10-04
            相关资源
            最近更新 更多