如何根据eslint制作WebStorm格式代码?

Posted

技术标签:

【中文标题】如何根据eslint制作WebStorm格式代码?【英文标题】:How to make WebStorm format code according to eslint? 【发布时间】:2017-06-03 19:17:27 【问题描述】:

我已经为我的 WebStorm 项目指定了 eslint 配置。但它似乎不适用于代码重新格式化功能。例如,它继续将import something from 'somewhere' 格式化为import something from 'somewhere'

有没有办法让WebStorm根据eslint配置格式化代码?

【问题讨论】:

【参考方案1】:

(描述的步骤和截图来自IntelliJ IDEA 2017.2

您可以为操作“修复 ESLint 问题”添加键盘快捷键。 确保已安装并启用插件“JavaScript Support”

首先进入首选项 | 语言和框架 | javascript | 代码质量工具 | ESLint 并启用它。您需要定义“节点解释器”、“ESlint 包”和可选的“配置文件”。

接下来转到首选项 | Keymap 并在那里搜索“eslint”。现在您可以添加例如快捷方式“control + shift + L”。

【讨论】:

太棒了!谢谢! 这应该是最好的答案了。 这也适用于 Webstorm。谢谢。 IntelliJ 没有意识到 eslint 已配置并选择将其用作默认格式化程序,这真是太愚蠢了。就像 VS Code 一样。 如果你做的不是 javascript 的项目怎么办 :)【参考方案2】:

我刚刚安装了 WebStorm 2017,我不知道这是否适用于 WS 2016。当光标接近 ESLint 错误时,您可以按 Option + Enter 来重新格式化代码,而不是按 Option + Command + L .这将打开上下文菜单,然后选择“ESLint:修复当前文件”

【讨论】:

这只是为你运行eslint --fix <path-to-current-file> 最好有一个快捷键。【参考方案3】:

如果你和我一样使用较新版本的 WebStorm,可以通过右键单击 .eslintrc.js(或其他 ESLint 配置文件)将 ESLint 规则导入 WebStorm,然后单击“应用 ESLint 代码样式规则”选项如图here。

请注意,在撰写本文时,您还需要在“设置”或“首选项”菜单中排除 <script> 标记的缩进。一个很棒的家伙写了一个 short write-up 来说明如何做到这一点。

【讨论】:

“应用 ESLint 代码样式规则” - 太简单了,谢谢@nixklai 这个答案更新了 WebStorm 中的设置以匹配 eslint(和更漂亮的)规则。 "ESLint: 项目代码样式和编辑器设置基于 '.eslintrc.json' 更新。应用了以下规则:prettier/prettier。"【参考方案4】:

更新:答案已过时。最佳解决方案在https://***.com/a/46099408/1057218中描述

很遗憾,您无法导入 eslint 代码样式配置(WEB-19350),但您可以手动配置代码样式。

查看设置:“文件 | 设置 | 编辑器 | 代码样式 | JavaScript” 对于导入大括号: “空格”->“ES6 导入/导出大括号”

【讨论】:

【参考方案5】:

在 2021 年为我解决了:

Webstorm 正在使用 Prettier 包并且有一个选项:

Preferences | Languages & Frameworks | JavaScript | Prettier -> On 'Reformat Code' action

现在 Webstorm 使用eslint 规则重新格式化Reformat Code 热键上的代码。

【讨论】:

【参考方案6】:

我一直在使用的暂时临时修复方法是将我的 ESLint 配置导出到 JSCS。它与 WebStorm 和 phpStorm 配合得非常好!

我在我的 eslint 配置中使用了这个名为 Polyjuice 和 here is the output 的包。

【讨论】:

现在 WebStorm 确实支持 ESLint “开箱即用”,它可以按预期工作以帮助您设计代码,请参阅 jetbrains.com/webstorm/whatsnew/#v2017-2-eslint【参考方案7】:

最好的方法是使用宏来自动化它。 1. 转到编辑 |宏 |开始宏录制 2. 转到文件|全部保存 3. 按 Strg + Shift + A 4. 搜索 eslint 并运行。 5. 转到编辑 |宏 |停止宏录制 6. 转到编辑 |宏 |编辑宏 并删除除了两个 Action:... 7. 转到文件|设置 |键盘图 |宏 并在宏上添加 Strg + S 这很好用,让工作更容易:)

【讨论】:

【参考方案8】:

对于那些仍然有麻烦的人,我完成了上面答案的所有步骤,但它根本不起作用。

对我而言,问题是我在终端 (12.x) 中使用的 Node 版本与项目的 package.json 中的 .nvmrc"engine" 相比

在上面指出的两个更改之后,我的 eslint 恢复了工作。

p.s:我假设您已经安装了所有依赖项以及项目根目录中的 .eslintrc.*

【讨论】:

以上是关于如何根据eslint制作WebStorm格式代码?的主要内容,如果未能解决你的问题,请参考以下文章

webstorm自动格式化.vue文件并符合Eslint

解决eslint与webstorm关于script标签的缩进问题

vue 中 eslint 与 webstorm格式化 报错

vue 项目 webstrom IDE格式化代码规则遵循eslint设置

vue 项目 webstrom IDE格式化代码规则遵循eslint设置

webstorm/vscode~eslint配置