typescript VS代码ESLint无快速修复程序仅适用于Svelte文件

ergxz8rk  于 2023-03-09  发布在  TypeScript
关注(0)|答案(1)|浏览(175)

出于某种原因,当我将鼠标悬停在一个Svelte文件上的ESLint问题上时,它会指出它知道存在问题,但存在no quick fixes available

但是,如果我转到一个TypeScript文件,我可以很容易地单击Quick Fix

奇怪的是,它实际上曾经为我工作过,然后突然有一天它停止了工作,我甚至试图完全擦除VS代码,从头开始,但无济于事。
下面是包.json中的devDependencies,用于我正在使用的棉绒:

"devDependencies": {
  "@typescript-eslint/eslint-plugin": "^5.50.0",
  "eslint-config-prettier": "^8.5.0",
  "eslint-plugin-prettier": "^4.2.1",
  "eslint-plugin-svelte": "^2.15.0",
  "prettier": "^2.8.3",
  "prettier-plugin-svelte": "^2.8.1",
}
  • 我使用的是eslint-plugin-svelte,而不是eslint-plugin-svelte3(官方的Svelte版本),因为eslint-plugin-prettier建议使用非官方版本 *。

以下是.eslint.cjs文件的相关信息:

extends: [
  'eslint:recommended',
  'plugin:@typescript-eslint/recommended',
  'plugin:svelte/recommended',
  'plugin:prettier/recommended',
],
plugins: ['@typescript-eslint'],
ignorePatterns: ['*.cjs', '*.config.js'],
parser: '@typescript-eslint/parser',
parserOptions: {
  extraFileExtensions: ['.svelte'],
  project: './tsconfig.json',
},
overrides: [
  {
    files: ['*.svelte'],
    parser: 'svelte-eslint-parser',
    // Parse the script tag in Svelte as TypeScript
    parserOptions: {
      parser: '@typescript-eslint/parser',
      project: './tsconfig.json',
    },
  },
],

以下是我在VS Code上的用户设置:

{
  "eslint.validate": [
    "svelte",
    "typescript"
    "javascript",
  ],
  "svelte.enable-ts-plugin": true,
  "editor.defaultFormatter": "esbenp.prettier-vscode",
  "[svelte]": {
    "editor.defaultFormatter": "svelte.svelte-vscode"
  },
  "[typescript]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "css.validate": false,
  "scss.validate": false
}
  • 我知道eslint.probe是一种“新”的方式,但它实际上对我不起作用 *。
tv6aics1

tv6aics11#

通过更新package.json文件将eslint-plugin-svelte升级到v2.19.0

"eslint-plugin-svelte": "^2.19.0"

然后运行:

npm install

相关问题