VS CodeでESLintが機能していません。プラグインはVS Codeにインストールされており、ESLint自体はpackage.jsonの開発者依存関係としてインストールされています。
VS Code User Settingsで次のオプションを変更しました。
{
"eslint.options": { "configFile": "C:/mypath" }
}
コマンドeslint --init
を使用して、基本.eslintrc.json
をパッケージのメインディレクトリに追加しました。
他の人々は、まったく同じESLint設定ファイルでまったく同じパッケージを使用して、VS CodeからESLintフィードバックを得ることができました。
デフォルトで.eslintrc.json
ファイル内にある推奨ルールセットにすべて含まれている複数のルールを直接破った場合、いかなる種類のフィードバックも受け取りませんでした。
私は何が欠けていますか?
編集:コマンドラインでESLintを使用してテストしましたが、すべてが期待どおりに機能し、エラーがあるはずの場所で見つかりましたが、これらの同じエラーはVSコードに表示されませんでした。問題は、ESLintではなくVS Code側にあるようです。
ESLintからフィードバックが得られない理由はいくつかあります。 ESLintは最初にプロジェクトで構成ファイルを探し、.eslintrc.jsonが見つからない場合はグローバル構成を探します。個人的には、ESLintを各プロジェクトにのみインストールし、各プロジェクトに基づいて構成を作成します。
フィードバックが得られない2番目の理由は、フィードバックを得るには、.eslintrc.jsonでリンティングルールを定義する必要があることです。そこにルールがない場合、またはプラグインがインストールされていない場合は、それらを定義する必要があります。
ESLintが端末で実行されているがVSCode内ではない場合、拡張機能はローカルおよびグローバルノードモジュールフォルダーの両方からESLintライブラリを検出できない可能性があります。
確認するには、プロジェクトでJSファイルを開いた後、VSCodeでCtrl + Shift + Uを押して[出力]パネルに移動します。 「ドキュメント{{documentName}}。jsのESLintライブラリのロードに失敗しました」と表示されている場合、パスを検出しようとして問題が発生しています。
はいの場合、設定で「eslint.nodePath」を構成して手動で設定します。完全なパスを指定します。現在、環境変数の使用はサポートされていません。このオプションは ESLint拡張ページ で文書化されています。
私の場合、ReactでTypeScriptを使用していたため、修正はESLintにこれらのファイルも検証するように指示することでした。これはユーザー設定で行う必要があります:
"eslint.validate": [ "javascript", "javascriptreact", "html", "typescriptreact" ],
私の場合、VSCodeにESLint拡張をインストールしていなかったため、問題が発生していました。それをやったとそれは再び機能し始めました。
ESLintのグローバルインストールを使用している場合、構成で使用されるプラグインもグローバルにインストールする必要があります。ローカルインストールでは賢明です。 uがローカルにインストールされ、ローカルに適切に設定されているにもかかわらず、eslintが機能しない場合は、IDEを再起動してください。これはVScodeで私に起こりました。
私はWindowsでも同様の問題を抱えていましたが、時々eslintは(vscodeで)機能しませんでした。後で私はそれがしばらくして正常に動作することに気付きました。この問題に関連していた: eslintサーバーが利用可能になるまで〜3-5分かかります
環境変数NO_UPDATE_NOTIFIER=1
を設定すると問題が解決しました
私はeslintで「..まだファイルを検証していない」という同様の問題を抱えていましたが、VS Codeの問題コンソールには何も報告されませんでした。ただし、VS Codeを最新バージョン(1.32.1)にアップグレードして再起動すると、eslintは機能し始めました。
私の場合、ワークスペースでESLintが無効になっています。 vscode拡張機能の設定で有効にする必要がありました。
。eslintrcおよび。eslintignoreを使用して、ローカルプロジェクトルートで既にルールを定義していると仮定して、応答を行います。 VSCode Eslint Extensionをインストールした後、vscodeのsettings.jsonで行う必要のあるいくつかの構成
eslint.enable: true
eslint.nodePath: <directory where your extensions available>
プロジェクトの依存関係としてeslint localをインストールすることは、これが機能するための最後の要素です。ローカルにインストールされたパッケージと競合する可能性のあるグローバルとしてeslintをインストールしないことを検討してください。
私の場合、package.json
と拡張機能が構成されていても、monorepoのフォルダーを1つだけプロジェクトに追加したため、機能しませんでした。 VS Codeにプロジェクト全体(package.json
ファイルを含む)を追加したときにのみ作業しました。
私の場合、eslint validateを「eslint.validate」に設定すると:["javascript"、 "javascriptreact"、 "html"、 "typescriptreact"]が仕事をしました。
VSCodeの再起動はうまくいきました。