62

如何设置代码在保存时自动重新格式化?

所以我不必总是按Ctrl+ Alt+ L

4

6 回答 6

133

实际上这是可能的。
这个想法是记录一个非常简单的宏,它选择所有行(Ctrl+ A)、格式(Ctrl++ AltL、取消全选(向上和向下箭头)并保存文件(Ctrl+S),并将此宏绑定到Ctrl+ S

免费 Ctrl+S 更改“全部保存”的键盘快捷键

  1. 打开文件>设置;
  2. 搜索“keymap”并打开它;
  3. 搜索“全部保存”并双击“全部保存”操作;
  4. 选择“删除Ctrl+S”;
  5. 再次双击“全部保存”并选择“添加键盘快捷键”;
  6. 选择“Ctrl+Alt+Shift+S”作为第一个笔划。
  7. 确认并退出设置。

录制宏

  1. 编辑 > 宏 > 开始宏录制
  2. Ctrl+ A,然后按Ctrl+ Alt+ L,然后按 ,Up arrow然后按 ,Down arrow最后按Ctrl+ Alt+ Shift+S
  3. 单击页面右下角的停止按钮停止录制宏。
  4. 给这个宏起一个名字,比如“格式化并保存”

将 Ctrl+S 分配给“格式化并保存”

  1. 打开文件>设置;
  2. 搜索“keymap”并打开它;
  3. 搜索“格式化并保存”并双击“格式化并保存”动作;
  4. 选择“添加键盘快捷键”;
  5. 选择“Ctrl+S”作为第一笔。
  6. 确认并退出设置。

最后,享受 PhpStorm!

于 2014-09-23T17:41:44.537 回答
22

我为 PhpSorm使用保存操作插件https://plugins.jetbrains.com/plugin/7642-save-actions

于 2019-03-07T12:30:01.717 回答
6

我发现与此宏结合使用非常有用的另一件事是

Show Reformat File Dialog.

如果您只想重新格式化刚刚更改的代码,您可以设置选项:

Only VCS changed text

该对话框可以通过以下快捷方式打开: CTRL+ALT+SHIFT+L

于 2016-05-11T08:30:13.130 回答
6

设置->工具->保存操作->重新格式化代码

于 2021-08-11T14:30:03.807 回答
0

从 v2017.2.4 CTRL + ALT + L 不起作用。请改用alt+ F8

解决方法:使用:ALT+F8 格式化代码。

在创建 Luca Mastrostefano 所描述的宏时,使用: +alt格式化F8,然后ctrl++保存。alts

于 2017-10-16T11:47:01.877 回答
0

检查 PHPStorm 2020 及更高版本,发现一个名为Save Action的插件。但请确保为新项目和现有项目进行配置。

您还可以导出 PHPStorm 设置,然后解压缩并替换/创建以下内容:-

  1. Settings/Option/macro.xml 下的宏文件
    <application>
    <component name="ActionMacroManager">
    <macro name="Format & Save">
    <action id="ReformatCode"/>
    <action id="SaveAll"/>
    </macro>
    </component>
    </application>
  1. 设置/键盘映射/默认 Copy.xml
    <keymap version="1" name="Default copy" parent="Default for XWin">
    <action id="DBNavigator.Actions.SourceEditor.Save"/>
    <action id="Macro.Format & Save">
    <keyboard-shortcut first-keystroke="ctrl s"/>
    </action>
    <action id="SaveAll">
    <keyboard-shortcut first-keystroke="shift ctrl alt s"/>
    </action>
    </keymap>

现在将其压缩回来并导入它以及每当您按 ctrl+s 时 - 将完成自动代码格式。

于 2021-03-20T15:45:37.927 回答