Code reformatting on save in PhpStorm

2019-03-08 18:35发布

问题:

How can I set up that the code is reformatted automatically on saving?

So I don't always have to press Ctrl + Alt + L.

回答1:

Actually it is possible.
The idea is to record a very simple macro that selects all the lines (Ctrl+A), formats (Ctrl+Alt+L), deselect all (Up and Down arrow) and saves a file (Ctrl+S), and bind this macro to Ctrl+S.

Free Ctrl+S changing keyboard shortcut for "Save all"

  1. open File > Settings;
  2. search for "keymap" and open it;
  3. search "Save All" and double click the action "Save all";
  4. select "Remove Ctrl+S";
  5. double click "Save All" again and select "Add Keyboard Shortcut";
  6. select "Ctrl+Alt+Shift+S" as first stroke.
  7. Confirm and exit from Settings.

Record the macro

  1. Edit > Macros > Start Macro recording
  2. Press Ctrl+A, then Ctrl+Alt+L, then Up arrow, then Down arrow, and finally then Ctrl+Alt+S
  3. Stop recording the macro clicking on the Stop button on the bottom right of the page.
  4. Give this macro a name like "Format and Save"

Assign Ctrl+S to "Format and Save"

  1. open File > Settings;
  2. search for "keymap" and open it;
  3. search "Format and Save" and double click the action "Format and Save";
  4. select "Add Keyboard Shortcut";
  5. select "Ctrl+S" as first stroke.
  6. Confirm and exit from Settings.

Finally, enjoy PhpStorm!



回答2:

Another thing that I found very helpful in combination with this macro is the

Show Reformat File Dialog.

In case you want to only reformat the code you just changed, you can set the option:

Only VCS changed text

The dialog can be opened through the following shortcut: CTRL+ALT+SHIFT+L



回答3:

From v2017.2.4 CTRL + ALT + L doesn't work. Use alt + F8 instead.

Solution: Use: ALT + F8 to format the code.

When creating a macro as described by Luca Mastrostefano, use: alt + F8 to format and then ctrl + alt + s to save.



回答4:

I use Save Actions Plugin https://plugins.jetbrains.com/plugin/7642-save-actions for PhpSorm