如何在 IntelliJ IDEA 中每次按 Enter 时不插入 Tab?

How to not insert a Tab each time I press Enter in IntelliJ IDEA?

我目前正在使用 IntelliJ IDEA 2021.2.1 IDE 在 Scala 中编程。当我声明一个方法时,我通常这样做:

def sum(a: Int, b: Int): Int =
{
  val result: Int = a + b
  result
}

在等号后,我按“Enter”->“{”->“Enter”。这给出了上面的代码样式。

但出于某种原因,在 IntelliJ 中,每次我在等号后按“Enter”时,编辑器都会自动插入一个“Tab”,给出以下代码样式:

def sum(a: Int, b: Int): Int =
  {
    val result: Int = a + b
    result
  }

就好像编辑器认为我在用 Python 或类似的东西编程,或者好像我在输入“Enter” -> “Tab” -> "{" -> "回车".

我尝试在代码样式中搜索该选项,但没有找到任何相关内容。

有什么方法可以解决这个问题或使其可编辑吗?我对此有点恼火,所以如果你能帮助我,那将非常有帮助。

对于其他一切,我希望你们度过愉快的一周,致以最诚挚的问候!

首先,根据 Scala 代码约定,您应该编写

def sum(a: Int, b: Int): Int = {
  val result: Int = a + b
  result
}

甚至更好(因为你的函数体可以写成表达式而不是 blcok)

def sum(a: Int, b: Int): Int = a + b

或者,

def sum(a: Int, b: Int): Int = 
  a + b

而且不应该这样做,

def sum(a: Int, b: Int): Int =
{
  val result: Int = a + b
  result
}

IntelliJ 具有自动代码样式功能,它包含一些适用于多种语言的简单约定。

因此,在这种特殊情况下。你应该修正你的代码风格。

但是,如果您真的想禁用这个非常有用的自动缩进功能,那么您可以通过在 Preferences > Editor > Code Style > Scala > Tabs and Indents 中将所有内容(制表符大小、缩进和连续缩进)设置为 0 来完全禁用它。

但是,如果您这样做,那么您可能还想禁用所有其他代码样式功能。