165

输入“;”后是否可以在 Intellij IDEA 中使用 或按“Enter”发生此字符串的格式?

例如,要:

a+b=10;

后:

a + b = 10;

还是唯一可能的选项:代码 > 重新格式化代码...

谢谢!

4

15 回答 15

216

Intellij IDEA 中的格式化快捷键是:

  • 对于 Windows : Ctrl+ Alt+L
  • 对于 Ubuntu :Ctrl+ Alt+ Windows+ L
  • 对于 Mac :⌥ (Option)+ ⌘ (Command)+L
于 2013-07-26T11:23:03.457 回答
27

我找到了两种方法来做到这一点:

  1. 转到Settings> Keymap.在右侧部分中Editor Actions> complete current statement.单击它并选择添加键盘快捷键。按 ; 并选择确定。

  2. 使用宏。去

Edit> Macros> Start Macro Recording.

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

重新格式化后转到

Edit> Macros> Stop Macro Recording

使用名称(自动格式或其他名称)保存宏。然后去

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

单击此处并选择添加键盘快捷键,然后按分号并单击确定。现在,每当您按下分号时,它都会写入分号并进行自动格式化。

于 2017-11-04T09:33:35.473 回答
26

您可以使用Save Actions 插件来做到这一点, 请参阅这篇关于如何配置插件的文章。

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

  1. 安装插件
  2. 转到设置>其他设置>保存操作
  3. 勾选保存时激活保存操作
  4. 勾选重新格式化文件
  5. 应用 > 确定

在此处输入图像描述

不过,我更喜欢热键,对于 Mac,

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

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

于 2020-06-12T17:55:02.633 回答
13

Eclipse 可以选择在保存文件时自动格式化。IntelliJ 中没有此选项,尽管您可以为 Ctrl+S(Mac 上的 Cmd+S)键配置宏来格式化代码并保存它。

Intellij 重新格式化文件保存

于 2015-06-16T09:44:51.523 回答
7

文件-> 设置-> 键盘映射-> 完成当前语句

;在那里添加了钥匙。输入“;”时 在行尾,它是自动格式化的。

更新

我意识到这在某些情况下会导致一些问题。请改用Ctrl+ Shift+ Enter。该键可用于一行中光标的任意位置。它将添加;到行尾。此快捷方式还有一些其他有用的功能。

喜欢:

public void someMethod()

快捷方式后:

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

;因此不需要在插入时进行格式化。

于 2017-02-09T15:46:01.157 回答
6

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

导航文件->设置->键映射

在此处输入图像描述

于 2016-12-19T13:50:04.310 回答
6

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

于 2016-01-28T09:32:21.727 回答
4

Ctrl++组合(完整语句)Shift也可以完成这项工作,并通过函数、循环等制作一些更方便的东西。Enter

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

于 2017-03-05T18:25:57.043 回答
3

如果需要,可以使用saveActions插件。您可以重新格式化文件,优化导入等等,它真的是可定制的并且易于设置。

于 2019-11-07T15:11:24.997 回答
3

Intellij 中的所有解决方案都没有 Eclipse 中的那么优雅(或有用)。我们需要的是对 intellij 的功能请求,以便我们可以在 IDE 自动保存时添加一个钩子(要执行的操作)。

在 Eclipse 中,我们可以添加“保存后”操作,例如组织导入和格式化类。是的,您必须执行“保存”或 ctrl-s,但挂钩非常方便。

于 2018-09-28T12:19:48.410 回答
2

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

于 2014-02-26T10:20:12.030 回答
2

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

于 2017-08-27T09:05:29.977 回答
2

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

于 2019-05-29T15:31:27.313 回答
2

根据Larson的评论,现在可以使用save-actions插件来实现。

于 2019-05-02T16:47:04.487 回答
1

我在 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.
于 2018-01-28T22:22:52.617 回答