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

176
在Intellij IDEA中,是否有可能在键入分号或任何事件后,字符串的格式化会自动发生?
例如,转换为:
a+b=10;

之后:

a + b = 10;

或者唯一可能的选项: 代码 > 重新格式化代码...
谢谢!

2
Alt + c + r - Gayan Weerakutti
如果您希望此功能包含在IntelliJ本身中(而不是任何插件中),请在此处投票:https://youtrack.jetbrains.net/issue/IDEABKL-5806 - Line
16个回答

3

现在可在 IntelliJ IDEA 2021.2 中使用。
查看 保存更改时触发操作
文件 > 设置 ... > 工具 > 保存时操作 并选择 重新格式化代码,您可以将其配置为应用于整个文件或仅更改的行。

P.S. 您必须将此应用于每个项目,它不会应用于所有项目。 enter image description here


2

谢谢您,但问题是关于自动重新格式化,而不是保存时重新格式化。 - Johnes

2
我知道这个问题很旧,但实际上,IntelliJ 有一个名为“Save Actions”的插件,可以配置自动格式化代码。你可以在这里找到它。

2
在Intellij 13中,可以添加一个鼠标手势来重新格式化代码,比如单击左键。如果你不经常使用鼠标,也可以添加一个非常简单的常用键盘快捷键(可能是"Enter"?不确定Intellij是否会满意)。但是要注意的是,不可能实现“一键还原所有更改”。

2
为什么要踩我呢?我是在说你想要的不可能实现,然后尝试提供最接近的解决方案。 - sakis kaliakoudas
踩一下很容易解释:鼠标点击。IntelliJ的一个巨大优势是快捷键,而且你不需要经常使用鼠标。如果你编码很多,你不想经常使用鼠标,因为用键盘更快。已经有一个格式化的快捷键了。 - Phil

2
在Mac上,假设您没有更改任何修改键或Intellij键盘快捷方式的默认状态,组合键为Alt+Command+L

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;)

现在我们需要为这些宏分配热键:
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.

可能是我的键盘的限制,但我似乎只能同时记录3个按键。 - Matt

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接