如何启用 Intellij IDEA 的自动格式化代码?

在 Intellij IDEA 是否可能在输入’后,或按下’回车’发生了这个字符串的格式?

比如说, 致:

a+b=10;

之后:

a + b = 10;

或者唯一的选择: 代码 > 重新格式化代码..。

谢谢!

242885 次浏览

Intellij IDEA 的格式快捷方式如下:

  • Windows: Ctrl + Alt + L
  • Ubuntu: Ctrl + Alt + Windows + L
  • Mac: ⌥ (Option) + ⌘ (Command) + L

那是不可能的,但是在 intellij 13中,添加一个鼠标手势怎么样,比如单击鼠标左键来重新格式化代码?或者,如果你不经常使用鼠标,然后添加一个非常简单的键盘热键,你一直使用(可能的“进入”?说实话,我不确定 intellij 是否会对此感到高兴)

Eclipse 有一个在保存文件时自动设置格式的选项。虽然您可以为 Ctrl + S (Mac 上的 Cmd + S)键配置宏来格式化代码并保存它,但是在 IntelliJ 中没有这个选项。

保存文件时 Intellij 重新格式化

这也可以通过 Ctrl + WindowsBtn + Alt + L 来实现。这对某些人来说很重要,因为在一些虚拟机中,Ctrl + Alt + L 可以让你退出。

默认值是 Ctrl + Alt + L 有一个键映射对话框,您可以在其中配置/覆盖所有键盘快捷键。

导航文件-> 设置-> KeyMap

enter image description here

文件-> 设置-> 键盘图-> 完整的当前语句

我在这里添加了 ;键。当在行尾键入“ ;”时,它是自动格式化的。

更新

我意识到这会在某些情况下引起一些问题。使用 Ctrl + Shift + Enter代替。此键可用于一行中光标的任何位置。它将在行的末尾添加 ;。此外,这个快捷方式还有一些其他有用的特性。

例如:

public void someMethod()

捷径后:

public void someMethod() {
// The cursor is here
}

所以插入 ;时不需要格式化。

Ctrl + Shift + Enter组合 (完整声明)也做这项工作,使一些更方便的东西与函数,循环等。

JetBrains 文件: https://www.jetbrains.com/help/idea/2016.3/completing-statements.html

在 Mac 中,它是 Alt + Command + L(假设您没有从默认状态更改任何 修饰键或 Intellij 键盘快捷键)

我找到了两种方法:

  1. 转到 Settings> Keymap.在右边的部分转到 Editor Actions> complete current statement.点击它并选择添加快捷键。按下,然后选择 OK。

  2. 使用宏

Edit> Macros> Start Macro Recording.

现在按分号和快捷键重新格式化代码(你可以从其他答案或设置 > 键盘图中找到快捷键)。

做完格式化后去

Edit> Macros> Stop Macro Recording

使用名称(自动格式化或其他)保存宏

Settings> Keymap> Macros> auto format(宏名称)。

点击这里并选择添加快捷键,然后按分号并点击确定。现在只要你按分号,它就会写分号并自动格式化。

我在 Microsoft Visual Studio 中实现自动重新格式化的方式(它并不完美) :

1. Edit > Macros > Start Macro Recording
2. Press continuously: Enter + Ctrl+Alt+I
3. Edit > Macros > Stop Macro Recording (Name it for example ReformatingByEnter)

现在我们需要对 Ctrl + Alt + L + 执行相同的操作;

4. Edit > Macros > Start Macro Recording
5. Press continuously: ; + Ctrl+Alt+I
6. Edit > Macros > Stop Macro Recording (Name it for example ReformatingBy;)

现在我们需要为这些宏分配 HotKeys:

7. File > Settings > Keymap > press on a gear button > Duplicate...
8. Unfold a macro button (beneath) and by right clicking on two
ours macros assign HotKeys for them: "Enter" and ";" correspondingly.

在 Intellij,没有一种解决方案像 Eclipse 那样优雅(或有用)。我们需要的是对 intellij 的特性请求,这样我们就可以在 IDE 自动保存时添加一个钩子(要执行什么操作)。

在 Eclipse 中,我们可以添加“ post-save”操作,比如组织导入和格式化类。是的,你必须做一个“保存”或 ctrl-s,但钩非常方便。

根据 拉森的注释,现在使用 自救行动插件就可以做到这一点。

我知道这个问题很老了,但实际上有一个用于 IntelliJ 的 保存操作插件,可以配置为自动格式化代码。

如果你愿意,你可以使用 拯救行动插件。你可以重新格式化文件,优化导入和更多的东西,它真的是可定制的,很容易设置。

你可以通过 < a href = “ https://plugins.jetbrains.com/plugin/7642-Save-Actions”rel = “ norefrer”> Save Actions plugin 来实现这一点 请参考这篇关于如何配置插件的文章。

保存动作插件支持可配置的,类似 Eclipse 的,保存动作,包括“优化导入”,“重新格式化代码”,“重新安排代码”,“编译文件”和一些 Java 快速修复,如“添加/删除‘ this’限定符”,等等。当文件在磁盘上同步(或保存)时,插件执行配置的操作。

  1. 安装插件
  2. 转到 设定 > 其他设定 > 保存操作
  3. 在保存时激活保存操作
  4. 重新格式化文件
  5. 申请 > OK

enter image description here

不过我更喜欢热键,对麦克来说,

格式化代码: Ctrl + Alt(Option) + L

另外我做,: Ctrl + Alt(Option) + O ,这将删除未使用的导入并格式化导入列表。