有没有办法让我的线路在 IntelliJ 中完成后重新格式化?(对于那些熟悉的人,FlashDevelop 上提供了这种功能。)
假设我刚刚在 PHP 中输入了这段代码:
$var=array("a","b","c");
输入分号后,我希望编辑器将其重新格式化为(或任何我的配置状态):
$var = array("a", "b", "c");
此自动重新格式化触发器也可以在括号和其他行终止符上执行。
有没有办法让我的线路在 IntelliJ 中完成后重新格式化?(对于那些熟悉的人,FlashDevelop 上提供了这种功能。)
假设我刚刚在 PHP 中输入了这段代码:
$var=array("a","b","c");
输入分号后,我希望编辑器将其重新格式化为(或任何我的配置状态):
$var = array("a", "b", "c");
此自动重新格式化触发器也可以在括号和其他行终止符上执行。
IDEA 中没有这样的功能。您可以在需要时使用重新格式化代码( Ctrl++ Alt)L操作。
你实际上可以做类似的事情。
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 ;
在宏运行后,您可能需要稍微尝试一下才能将光标放在正确的位置。
这是基于上面jhormans的回答,我知道这个问题已经超过6年了。但是 IntelliJ IDEA 2017.1.5 仍然没有像 VisualStudios 那样在按下分号时自动重新格式化当前行的功能。
解决方法是按照 jhorman 的描述创建一个宏,但在按下 ';' 之后 运行代码 -> 重新格式化代码。然后停止录制并在设置/键盘映射/宏下将快捷方式“Shift+逗号”添加到宏。现在,当在代码中按 Shift + Comma 键入分号时,代码也将被重新格式化。唯一的缺点:每次按下 Shift+Comma 时都会重新格式化整个代码。对于大文件,这可能需要一秒钟。
仅当您只有一个行终止符(例如分号)时,此解决方法才有效。要自动重新格式化多行终止符(右括号,分号,...)上的代码,您需要将快捷方式添加到“设置”->“键盘映射”->“主菜单”->“代码”->“重新格式化代码”直接。在这种情况下,无需创建宏。
据我所知,仅格式化当前行是不可能的。