使IntelliJ在行完成时重新格式化当前行

时间:2011-04-26 16:19:01

标签: intellij-idea reformat

有没有办法让我的线在IntelliJ中完成后重新格式化? (对于那些熟悉的人来说,FlashDevelop上提供了这种功能。)

我们说我刚刚在PHP中输入了这段代码:

$var=array("a","b","c");

进入分号后,我希望编辑器将其重新格式化为(或者我的配置状态):

$var = array("a", "b", "c");

此自动重新格式化触发器也可以在括号和其他行终止符字符上执行。

3 个答案:

答案 0 :(得分:1)

IDEA没有这样的功能。您可以在需要时使用重新格式代码 Ctrl + Alt + L )操作。

答案 1 :(得分:1)

你实际上可以做类似的事情。

Go to where you want to insert ;
Tools/Start Macro Recording
Type in ;
Then select Code/Auto Indent Lines
Tools/Stop Macro Recording
Name the macro "reformat"
Now go to settings, Keymap, Macros, select "reformat"
Assign a keyboard shortcut of ;

在宏运行后,您可能需要稍微玩一下才能将光标放在正确的位置。

答案 2 :(得分:0)

这基于jhormans answer以上,我知道这个问题超过6年。但IntelliJ IDEA 2017.1.5仍然没有像VisualStudios那样按下分号时自动重新格式化当前行的功能。

解决方法是按照jhorman的描述创建一个宏,但在按下&#39 ;;'运行代码 - >重新格式化代码。然后停止录制并在设置/键盘映射/宏下添加快捷键" Shift +逗号"到宏。现在,当在代码中按Shift +逗号键入分号时,代码将被重新格式化。唯一的缺点:每次按下Shift +逗号时,将重新格式化整个代码。这可能需要一秒钟的大文件。

此解决方法仅在您有一个行分隔符(如分号)时才有效。要自动重新格式化多行终止符(结束括号,分号,...)上的代码,您需要将快捷方式添加到"设置" - > "键盘映射" - > "主菜单" - > "代码" - > "重新格式化代码"直。在这种情况下,不需要创建宏。

据我所知,只是格式化当前行是不可能的。