我在 VS Code 中遇到 ESLint 间歇性问题。保存文件时,而不是对其进行格式化,状态栏中会显示此消息:
显然没有人在谷歌上报告过这条消息。
当我说它是间歇性的时,它工作正常,然后计算机(MBP)崩溃了,重新启动时就是这种情况。它以前发生过,但我不记得我做了什么来解决它。
该应用程序是一个相当复杂的基于 Vue 的应用程序,基于预配置的模板。在 package.json 中:
"@vue/cli-plugin-eslint": "^4.5.13",
"babel-eslint": "^10.1.0",
"eslint": "^7.31.0",
"eslint-plugin-import": "^2.23.4",
"eslint-plugin-vue": "^7.14.0",
Run Code Online (Sandbox Code Playgroud)
在 VS Code 工作区文件中:
"editor.codeLens": true,
"eslint.format.enable": true,
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true,
},
"[javascript]": {
"editor.defaultFormatter": "dbaeumer.vscode-eslint"
},
"[vue]": {
"editor.defaultFormatter": "dbaeumer.vscode-eslint"
},
"eslint.validate": [
"javascript"
],
"debug.javascript.usePreview": true,
"debug.javascript.usePreviewAutoAttach": true,
"[jsonc]": {
"editor.defaultFormatter": "dbaeumer.vscode-eslint"
},
Run Code Online (Sandbox Code Playgroud)
我真的不知道如何继续理解为什么 vscode-eslint 报告它无法格式化 JavaScript 文件。
编辑
这个关于 TypeScript 的问题给出了一些提示。当 ESLint 服务器重新启动或扩展主机承受很大压力时,似乎会导致此错误。
在我现在的项目中,大多数文件的格式都很好,尽管有一个文件始终失败。该文件被调用eslint.js
,并且是构建过程的一部分,运行 eslint - 我不完全理解配置。我怀疑保存此文件会以某种方式导致 eslint 运行/重新加载,并且在发生这种情况时,eslint-vscode 尝试也运行它并失败。
javascript code-formatting eslint visual-studio-code vscode-eslint
尽管在 esignore 中明确指出我想忽略 lib 目录中的所有内容,但 vscode 说在该最小化文件中发现了 9 个问题。
如果我在命令行中的foldera内运行eslint一切都很好
使用此扩展
我的目录结构:
foldera/
.eslintrc
.eslintignore
src/
file.js
lib/
wantoignore.min.js
folderb/
morefiles.js
.eslintrc
.eslintignore
Run Code Online (Sandbox Code Playgroud)
.eslintrc 文件
{
"env": {
"browser": true,
"commonjs": true,
"es6": true
},
"extends": "eslint:recommended",
"parserOptions": {
"ecmaVersion": 2017,
"ecmaFeatures": {
"experimentalObjectRestSpread": true,
"jsx": true
},
"sourceType": "module"
},
"plugins": [
"react"
],
"rules": {
"no-console": "off"
}
}
Run Code Online (Sandbox Code Playgroud)
.eslintignore
lib/*
Run Code Online (Sandbox Code Playgroud)
工作区设置:
"eslint.workingDirectories": [
"./client", "./server"
]
Run Code Online (Sandbox Code Playgroud) 我有一个包含 JS 和 TS 文件(以及 JSX/TSX)的项目。我有一个单独的.eslintrc.json
JS 与 TS 文件。我希望能够根据文件扩展名告诉 VSCode 使用哪个 eslint 配置文件。
尝试将设置放在settings.json
该[typescript]
字段下,但这不起作用。
很多时候,当我尝试在我的 Javascript 文件上运行, Fix all auto-fixable issues命令时,应用程序会进入一个永无止境的循环移动选项卡/空格,但从来没有真正得到满足:
我.eslintrc.js
的如下:
const fs = require('fs');
const prettierOptions = JSON.parse(fs.readFileSync('./.prettierrc', 'utf8'));
module.exports = {
parser: 'babel-eslint',
extends: ['airbnb', 'prettier', 'prettier/react'],
plugins: ['prettier', 'redux-saga', 'react', 'jsx-a11y'],
env: {
browser: true,
node: true,
jest: true,
es6: true,
},
parserOptions: {
ecmaVersion: 6,
sourceType: 'module',
ecmaFeatures: {
jsx: true,
},
},
rules: {
'prettier/prettier': ['error', prettierOptions],
'arrow-body-style': [2, 'as-needed'],
'class-methods-use-this': 0,
'comma-dangle': [2, 'always-multiline'],
'import/imports-first': 0,
'import/newline-after-import': 0,
'import/no-dynamic-require': 0,
'import/no-extraneous-dependencies': 0,
'import/no-named-as-default': …
Run Code Online (Sandbox Code Playgroud) javascript eslint visual-studio-code vscode-extensions vscode-eslint