如何在WebStorm中自动格式化代码?

100
我正在寻找一种在WebStorm IDE中自动格式化代码的方法?

我没有看到它有什么特别之处。在“帮助|默认键映射参考”中提到的标准操作/快捷方式,其中仅列出了常见操作。 - LazyOne
有什么区别和漂亮的东西? - nonNumericalFloat
7个回答

163

Mac: 命令键 + 选项键 + L

PC: Ctrl + Alt + L


59
这并不回答关于“自动格式化”代码的问题,仍需要按键操作。 - Pete Gardner
1
它确实回答了这个问题,通常在您发出命令之前不希望进行格式化。在WebStorm中也适用。 - Warren LaFrance
3
@Vad 不好意思,虽然感谢您的回答,但它是关于“格式设置”,而不是“自动格式设置”。自动格式设置顾名思义是自动的——无需按键。 - Pete Gardner
1
对我来说,也认为大多数人都是这样,“自动格式化”就是在按下Ctrl+Alt+L时发生的事情。 - Vad
Ubuntu怎么样?这个快捷方式会导致它切换Ubuntu用户。 - Murhaf Sousli
显示剩余3条评论

109
可以通过创建一个宏来格式化代码并保存,然后将此宏绑定到 Ctrl+S 快捷键。 (Mac: Cmd+S) 这个答案是为phpStorm发布的,同样适用于WebStorm。修改后的答案如下所示:

记录宏

  1. 编辑 > 宏 > 开始宏录制
  2. 按下 Ctrl+Alt+L,然后按下 Ctrl+Alt+S (Mac: Cmd+Option+L,然后按下 Cmd+Option+S)
  3. 停止录制宏,点击页面右下角的停止按钮。
  4. 给这个宏起一个名称,比如“格式化并保存”

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

  1. 打开文件 > 设置;
  2. 搜索“键盘映射”,并打开它;
  3. 搜索“格式化并保存”,双击操作“格式化并保存”;
  4. 选择“添加键盘快捷方式”;
  5. 选择“Ctrl+S”作为第一步骤。
  6. 它会报告冲突。忽略它,点击确定按钮
  7. WebStorm将显示一个警告“The shortcut is already assigned to other actions. Do you want to remove other assignments?” 点击“Remove”按钮

就这样。


4
这应该是正确答案!我一直知道键盘快捷键,但它不会自动格式化我的代码,只有在我要求时才进行格式化(而我经常不这样做)。 - mejdev
3
我必须重新映射“保存所有”为cmd+option+s,然后将步骤5更改为在OSX上使用“cmd+option+s”。 - rynop
2
还不错,但它只能格式化当前编辑器中打开的文件,其他所有文件都没有被格式化保存。 - Kirill Slatin
我使用Jetbrain IDE已经有2年了...我学到了新的好想法。谢谢! - MJ Studio
我同意。这应该是正确的答案。我在多个JetBrains版本中使用了这个答案很多年了。无论何年,它仍然是准确的。 - yanckst

29

"Save Actions" 插件可以在保存代码时格式化。

  1. 安装插件:

    文件 -> 设置 -> 插件 -> 浏览存储库;

    • 输入关键字 "Save Actions" 安装
    • 重启 IDE。
  2. 配置插件:

    文件 -> 设置 -> 其他设置

    • 勾选“格式化文件”选项。

欢迎。如果您提供有关如何配置插件的详细信息,您可以使此答案更好。 - Mark Chorley
在我看来,“Save Action”是目前最好的解决方案。完整的文档可以在这里找到:https://github.com/dubreuia/intellij-plugin-save-actions - laike9m

2
如果你的MAC没有ALT键,可以使用以下快捷键: COMMAND + OPTION + L。该快捷键与ALT键的作用相同。

4
这并没有回答“自动格式化”代码的问题。它仍然需要按键操作。 - Hassen Ch.

2
  1. 按下 CTRL+ALT+S 打开设置
  2. 选择插件>市场
  3. 在搜索框中输入Save Actions
  4. 点击 安装 安装插件并重新加载 IDE。
  5. 再次打开设置
  6. 选择Save Actions(出现在设置列表底部)。
  7. 勾选 格式化文件 > 点击 确定 按钮。

Save Actions JetBrains Plugin

访问插件主页


1
参考链接:[https://www.jetbrains.com/help/webstorm/command-line-formatter.html#options](https://www.jetbrains.com/help/webstorm/command-line-formatter.html#options)
通过命令行格式化文件。
# my case in mac 
➜  bin pwd
/Users/xxx/Library/Application Support/JetBrains/Toolbox/apps/WebStorm/ch-0/231.8770.64/WebStorm.app/Contents/bin
➜  bin ./format.sh -s ~/Default.xml  -r /xxxx 
  • 从WebStorm导出Default.xml文件。(设置->编辑器->代码样式->导出)
  • -r 设置项目目录

0
根据PhpStorm或其他JetBrains IDE上的代码重新格式化,这个答案稍作更正。这个答案基本上是正确的,但你需要为全部保存创建一个自定义键绑定才能使其工作,并且给出的Windows(或Linux)键绑定Ctrl+Alt+S用于打开设置对话框,可能会产生意想不到的后果。

更改保存全部键绑定

  1. 使用ctrl+alt+s(Windows/Linux)或cmd++(Mac)打开设置。
  2. 转到Keymap -> Main Menu -> File->Save All
  3. 右键单击并选择删除Ctrl+S/Cmd+S
  4. 右键单击并选择添加键盘快捷键
  5. 将键盘快捷键设置为Ctrl+Alt+Shift+S(Windows/Linux)或Cmd+Alt+Shift+S(Mac),然后在快捷窗口和设置窗口上单击OK

创建宏

  1. 点击 编辑 -> -> 开始录制宏
  2. 按下 Ctrl+Alt+l 然后再按下 Ctrl+Alt+Shift+S (Windows/Linux) 或者 Cmd+Alt+lCmd+Alt+Shift+S (Mac)
  3. 输入一个名称,例如 格式化-保存

设置快捷键绑定

  1. 使用 ctrl+alt+s(Windows/Linux)或 cmd++(Mac)打开设置。
  2. 进入 Keymap -> Main Menu -> Edit->Macros->Format-save
  3. 右键单击并选择 Add Keyboard Shortcut
  4. 输入 ctrl+s(Windows/Linux)或 cmd+s(Mac),然后在快捷键窗口和设置窗口上单击 OK

这样就完成了!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接