当我保存文件时,我想运行eslint,并修复了eslint可以解决的任何问题。
我知道这可以通过运行应用--fix
参数使用命令行来完成。
我也知道Intellij-IDEA直接与Eslint集成;但是,Intellij-IDEA使用stdin进行集成,这意味着你不能将--fix
作为参数传递。
答案 0 :(得分:10)
通过几个快速步骤,您可以设置一个文件监视器,它将对您保存的文件运行eslint --fix。
一步一步:
Preferences > Tools > File Watchers
并创建新的文件观察器File type: JavaScript
$ProjectFileDir$/apps/web/src/
并以递归方式包含了所有内容。$ProjectFileDir$/apps/web/node_modules/eslint/bin/eslint.js
--fix $FileName$
上使用修复选项$FileDir$
。名称,然后保存文件监视器。然后,编辑您所使用的目录中的JavaScript文件,并观察您的许多错误和警告消失!谢谢Eslint!
注意:如果您发现Intellij-IDEA询问您是否要加载文件更改而不保存知识(这会让人烦恼),因为IDE正在后台保存。您可以取消选中Immediate file synchronization
以获得更好的编辑体验。
答案 1 :(得分:1)
您最好使用原始的第三方ESLint plugin,它确实支持快速修复。有关详细信息,请参阅project README。
答案 2 :(得分:1)
情况已经改变。您不需要外部插件。现在对ESlint提供了本机支持:
ESlint插件:https://plugins.jetbrains.com/plugin/7494-eslint/
从Intellij 14开始,Jetbrains将基于该插件的插件捆绑到IDE发行版中。有什么区别?该插件支持Intellij 13和其他版本,--fix选项,快速修复和其他微小差异。在打开问题之前,请确保您正在参考这一章。
“自动ESLint配置”选项对我来说也很好。 IDE扫描具有package.json
依赖项的eslint
文件并运行它。 (您可以在一个项目中使用不同的ESLint版本。)
ESLint配置是从最近的.eslintrc.x
(例如.json
)配置文件中自动检测到的,或者是从package.json
读取的
默认情况下,PhpStorm使用项目
node_modules
文件夹中的ESLint包和存储当前文件的文件夹中的.eslintrc.*
配置文件。如果在当前文件夹中没有找到.eslintrc.*
,则PhpStorm将在其父文件夹中寻找一个直到项目根目录的文件。
如果您有多个{Let {1}}文件,其中ESLint被列为依赖项,则PhpStorm将为每个
package.json
启动一个单独的进程并处理其下的所有内容。这样,您可以将特定的ESLint版本或一组特定的插件应用于Monorepo或具有多个ESLint配置的项目中的每个路径。
您还可以手动设置Node解释器+ ESLint软件包+ package.json
配置
您可以从ESLint配置中自动导入 一些 代码样式规则:
您可能希望禁用IDE的默认规则,并用足够的ESLint规则替换它们。否则,您可能会在列表中看到2个针对同一问题的问题。
或者,您可以设置NPM脚本运行配置:
在安装ESLint之后,将脚本节添加到.eslintrc
package.json
在“ npm”面板中,您应该从"scripts": {
"eslint": "eslint"
}
中看到“ eslint”脚本。
您可以将其设置编辑为例如仅对当前文件运行ESLint:
现在您可以运行NPM脚本:
答案 3 :(得分:0)
就我而言,我的项目是由vue-cli创建的
将此行添加到package.json
"lintfix": "eslint --fix --ext .js,.vue src test/unit test/e2e/specs",
这里有3种方法可以做
答案 4 :(得分:0)
您可以使用Save Actions Plugin
安装
IDE(推荐)从您的IDE(Intellij IDEA,PyCharm等)安装它:
“文件>设置>插件>浏览存储库...>搜索'保存 操作”>“代码工具”类别”
JetBrains插件存储库可从JetBrains插件存储库获得该插件的所有版本。您可以下载
jar并将其添加到您的IDE中(不会考虑进行更新):
“文件>设置>插件>从磁盘安装插件...”
其中一个选项是“ 重新格式化文件 ”-> 启用/禁用格式设置(在“文件>设置>代码样式”中配置)。有关更多选项,请参见“仅重新格式化已更改的代码”