vscode中eslint规则不生效,需确认三件事:规则文件置于项目根目录、插件识别本地eslint版本、配置未被覆盖;否则即使.eslintrc.js存在,“no-unused-vars”等规则仍不触发或保存不修复。

VSCode 里 ESLint 规则导入后不生效?先确认这三件事
规则文件放对位置、插件识别到本地版本、配置没被覆盖——缺一不可。常见现象是 .eslintrc.js 已存在,但 VSCode 仍报“no-unused-vars”未禁用,或保存时不自动修复。
- 检查 ESLint 插件是否使用项目本地安装版本:打开 VSCode 设置 → 搜索
eslint.packageManager→ 设为npm(或yarn/pnpm),确保它读的是node_modules/.bin/eslint而非全局命令 - 确认项目根目录有
package.json且含devDependencies中的eslint和对应插件(如eslint-plugin-react);若用 TypeScript,还需@typescript-eslint/eslint-plugin与eslint版本兼容(ESLint v8.x 对应@typescript-eslintv6+) -
eslint.config.js或.eslintrc.cjs必须导出有效配置对象;若用extends,eslint-config-prettier必须放在数组末尾,否则会被前面规则覆盖
Vue 文件中 Ctrl+. 不提示自动导入?不是插件没装,是接管链断了
Volar 没接管语言服务时,defineProps、ref 这类 API 根本不会被 TS Server 看见,自然无法触发自动 import。状态栏右下角显示 vue 是硬性前提。
- 禁用 Vetur:它和 Volar 冲突,会导致语言模式识别失败
- 运行命令
Vue: Take Over and Restart(Ctrl+Shift+P 输入执行),强制 Volar 接管 TypeScript 和 JavaScript 语言服务 - 项目根目录必须有
tsconfig.json(哪怕空对象{}),否则 TS Server 启动失败,Volar 失效 - 启用
typescript.suggest.autoImports,且 Vue 相关文件需在files.associations中设为"*.vue": "vue"
Python 导入第三方库标红?解释器、路径、索引三者必须对齐
不是 pip install 成功就完事了。VSCode 的 Pylance 索引范围和 Python 解释器实际加载路径不一致,就会出现 import 正常运行但编辑器标红、无补全、跳转失效。
- 按 Ctrl+Shift+P →
Python: Select Interpreter,选带.venv或venv字样的路径(Windows 是venv\Scripts\python.exe,macOS/Linux 是venv/bin/python) - 打开集成终端(Ctrl+`),确认提示符含环境名(如
(venv)),再执行which python(macOS/Linux)或where python(Windows),输出路径必须和上一步选择的一致 - 检查
.vscode/settings.json是否含python.analysis.extraPaths;若项目结构为src/xxx.py,需添加["src"],否则 Pylance 不会扫描该路径下的模块 - 改完设置后,必须执行
Python: Restart Language Server,否则缓存未刷新,问题照旧
保存时自动修复(editor.codeActionsOnSave)为什么只对部分文件生效?
这个设置是按语言作用域生效的,不是全局开关。Vue、TypeScript、JavaScript 各自走不同语言服务通道,配置项名称也不同,写错一个字母就静默失效。
- 对 JavaScript/TypeScript 文件,需配
"source.fixAll.eslint": true;对 Vue 文件,除了这个,还依赖 Volar 是否启用 script 块校验(默认关闭,需手动开启) - 若用 Prettier,要加
"source.fixAll.prettier": true,但注意它和 ESLint 的规则不能冲突,必须用eslint-config-prettier关闭 ESLint 中重复的格式化规则 - 某些语言服务(如 Python 的 Pylint)不支持
source.fixAll,只能靠保存时触发python.formatting.provider(如black)或单独配置python.linting.enabled - 检查当前文件右下角语言模式是否正确(如 .vue 文件显示
vue而非html),否则 VSCode 根本不会应用对应语言的codeActionsOnSave











