2

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

假设我刚刚在 PHP 中输​​入了这段代码:

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

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

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

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

4

3 回答 3

1

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

于 2011-04-26T16:23:22.303 回答
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 ;

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

于 2011-04-26T16:42:23.003 回答
0

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

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

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

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

于 2017-07-13T08:12:03.657 回答