Webstrom 2016上的Autofix ESLint问题

目前,我和我的团队正在使用NodeJS和ReactJS开发Javascript应用程序。 我们使用ESLint在AirBnB配置中使用编码标准。 到目前为止,我们对此感到满意。

我正在使用Webstorm 2016编写代码。 很棒的功能。 但是,这上面缺少一些东西。 在Visual Studio Code和Atom上,我们可以保存时修复ESLint问题。 但不是Webstorm2016。它仍然是基于Stackoverflow答案的必需功能。

但是,Webstorm提供了一个名为File Watcher的插件 此插件将“ 监视 ”我们的代码更改,并且如果有更改,将运行特定任务。 有关更多信息,请参阅此处。 我正在使用File Watcher在我们的代码上自动修复ESLint问题。 这是我设置文件监视程序的方式:

  1. 安装File Watcher插件。 您可以在Preferences > Plugins > Search for “File Watchers"找到它。选中它并单击“应用”按钮。您需要重新启动Webstorm。

首选项>插件>搜索“文件监视程序”

2.转到Preferences > Tools > File Watchers 。 通过单击+按钮创建一个新的File Watcher。 选择custom模板。

3.将File Type更改为Javascript

4.将“ Scope调整为项目目录或要包括的任何文件夹。

5.在Watcher Settings > Program上添加eslint二进制路径。 如果您在本地(每个项目)安装ESlint,则可以在node_modules/bin上找到eslint ,路径将如下所示

  $ ProjectFileDir $ / node_modules / .bin / eslint 

如果全局安装ESLint(和/或使用nvm ),则可以通过在终端上执行which eslint来检查eslint路径。 由于我正在使用nvm ,所以我的eslint路径如下所示

  /Users/vicz/.nvm/versions/node/v7.0.0/bin/eslint 

6.将--fix $FileName$添加到“ Watcher Settings > Arguments

7.单击“ Watcher Settings > Other Options以展开隐藏的选项,并将$FileDir添加到“ Watcher Settings > Other Options > Working Directory

8.取消选中Immediate file synchronization

参考文献:

https://stackoverflow.com/questions/29221136/lint-only-on-save-intellij-webstorm

https://stackoverflow.com/questions/38883634/how-can-i-run-eslint-fix-on-my-javascript-in-intellij-idea-webstorm-other-je

https://www.jetbrains.com/help/webstorm/2016.3/file-watchers.html