黄色波浪线由语言服务器或插件生成,VSCode仅负责渲染;悬停看前缀可精准识别来源:eslint:、typescript:、cSpell:、Pylance:等,对应关闭eslint.enable、javascript.validate.enable、cSpell.enabled等配置,避免误关problems.decorations.enabled。

黄色波浪线到底是谁画的?先悬停看前缀
VSCode自己不生成黄色波浪线,它只是把语言服务器或插件的诊断结果“画出来”。你得先知道是谁在报,才能精准关——不是所有黄线都该一刀切。
把光标停在带黄线的代码上,等提示弹出,看开头几个字:
-
eslint:→ ESLint 插件在警告,比如no-unused-vars -
typescript:或javascript:→ VSCode 内置 JS/TS 验证器在报,比如属性不存在、类型不匹配 -
cSpell:或提示 “Unknown word” → Code Spell Checker 把中文注释或变量名当错别字了 -
Pylance:→ Python 语言服务在提示未解析的导入或类型问题 - 什么前缀都没有,但提示是“检测到包含零宽字符” → 这是 VSCode 工作区信任机制触发的安全检查,和 linter 无关
按来源关:别乱动 problems.decorations.enabled
这个配置一关,所有语言、所有来源的波浪线(红/黄/蓝)全消失,但 Problems 面板也跟着变空——你再也看不到 console.lgo 这种低级拼写错误了。除非你明确只要“不干扰视线”,否则别碰它。
更稳妥的做法是按来源关:
- 关 ESLint 黄线:
eslint.enable设为false,或直接禁用 ESLint 插件 - 关 TS/JS 内置验证:
javascript.validate.enable和typescript.validate.enable都设为false - 关拼写检查:
cSpell.enabled设为false(90% 的中文注释黄线都来自这儿) - 关零宽字符警告:必须设
security.workspace.trust.enabled为false并重启 VSCode
为什么改了 settings.json 还不生效?查三层覆盖
VSCode 设置有优先级:文件夹级(.vscode/settings.json) > 语言专属级("[python]": { ... }) > 用户级。你全局改的设置,很可能被项目根目录下的 .vscode/settings.json 覆盖了。
检查顺序建议:
- 打开当前项目根目录,看有没有
.vscode/settings.json,里面是否写了"cSpell.enabled": true这类覆盖项 - 搜一下
[typescript]或[python]块,有些语言专属配置会悄悄启用某项检查 - 改完保存后,务必按
Ctrl+Shift+P→ 输入Developer: Reload Window重载,否则语言服务可能缓存旧配置
临时想清掉一行黄线?试试灯泡或 Ctrl+.
如果只是某一行看着碍眼,又不想关整套检查,可以调用修复建议:
- 光标停在黄线行,按
Ctrl+.(Windows/Linux)或Cmd+.(macOS),弹出菜单选 “Fix with Fitten Code” 或类似项 - 鼠标悬停等 0.3 秒,右侧出现黄色灯泡图标,点它就能看到具体修复动作,比如 “Remove unused variable ‘temp’”
- 右键 → “Quick Fix”,选带 “Fitten Code” 前缀的方案(前提是该警告支持自动修复)
注意:批量修复命令 Fitten Code: Fix All Warnings in File 不可逆,执行前最好确认 Git 已提交或本地有备份。


















