2015-09-13 50 views
10

我已經在ESLint配置文件中定義了一些規則。此文件附加在如何配置ESLint以使用PhpStorm來自動修復ESLint錯誤

Preferences 
    ->Languages and Frameworks 
    ->JavaScript 
     ->Code Quality Tools 
     ->ESLint 

而且我看到它工作得很好,因爲在代碼編輯器中的每個規則顯示時,似乎有不匹配他們的錯誤。此外,當我使用「代碼檢查」

Code 
    -> Inspect code 

檢查員發現的所有錯誤並將其顯示在底部的小窗口。也可以將autofix應用於每個錯誤,但是當我嘗試執行此操作時,我已將其重定向到PhpStorm偏好設置部分中的ESLint配置頁面。它看起來像這樣:

enter image description here

應該有這應該解決這個全自動的鏈接,當我點擊它,而是有它只是打開ESLint配置彈出窗口的鏈接:

enter image description here

我怎樣才能讓這工作正常?我一直在試圖查看關於它的PhpStorm文檔,但沒有成功。

+0

你檢查,如果路徑是有效的,你把在那裏?例如。如果路徑不好,也會在NetBeans中彈出。如果是的話,你應該提交一份錯誤報告。 intelliJ的人傾向於擁有良好的支持。 – m02ph3u5

+2

ESLint是第三方工具; IDE具有很好的集成性,可以以與內置(IDE本機)檢測工作類似的方式顯示該工具在IDE窗口中報告的所有問題。第三方工具報告的問題未映射到內置檢查 - 它們是完全分開的東西。我不是100%確定的,但考慮到ESLint可以與整個文件一起工作,所以無法只修復1個錯誤實例... – LazyOne

+0

什麼過程會爲您進行自動修復? ESLint不能自動修復錯誤,至少不是噴射。正如你可以在[** here **](https://github.com/eslint/eslint/issues/2203)中看到的那樣。無論如何,你可能想看看[** fixmyjs **](https://github.com/kirjs/gulp-fixmyjs)gulp插件。 [** Here **](http://addyosmani.com/blog/fixmyjs/)是關於fixmyjs的更多信息。 – DavidDomain

回答

3

我還沒有找到在任何IDE(PhpStorm/Atom/Sublime/WebStorm)中執行此操作的方法。但是,您可以通過運行eslint --fix來通過命令行修復一些問題。

你需要ESLint的一個基本的瞭解,請按照下列步驟操作:

1)安裝ESlint:

全球:

npm i -g eslint eslint-config-airbnb 

(Airbnb的風格指南被廣泛使用 - http://nerds.airbnb.com/our-javascript-style-guide/。)

或本地(最喜歡):

如果您有當地的node_modules目錄,則最好在本地安裝。從項目目錄運行此命令:

npm i --save-dev eslint eslint-config-airbnb 

(然後你可以從./node_modules/.bin/eslint運行eslint

2)使用以下行創建.eslintrc文件在你的項目目錄。

{ "extends": "airbnb" } // We installed airbnb's style guide in step 1. 

3)備份/提交您的源代碼文件

備份需要皮棉的文件;以下命令可能會更改多行。

4)運行eslint --fix如下:

eslint --fix path/to/file.js 

eslint --fix path/to/files/*.jsx 

這將修正錯誤的10S在您的文件!

5)如果eslint --fix停在一些錯誤,解決它,然後手動運行再次

我注意到eslint --fix不能解決所有誤差修改一氣呵成。即它有時會一直運行到文件中的特定點,然後停止在不能自動處理的錯誤處。

如果您刪除了eslint卡住的最重要的問題,再次運行該命令可修復該文件中的更多錯誤。沖洗,重複。

-

eslint添加在2015年希望一些新的功能「--fix」選項在未來能有更好:http://eslint.org/blog/2015/09/eslint-v1.5.0-released

+0

Atom的'linter-eslint'現在可以自動修復保存。 – IanVS