黄色波浪线由ESLint、Pylance等语言服务器或插件生成,VSCode仅负责渲染;悬停查看前缀可定位来源,推荐按语言精准关闭对应配置或禁用装饰而非停用服务。

黄色波浪线是 ESLint、Pylance 或内置验证器在报错
VSCode 本身不生成黄色波浪线,它只是把语言服务器(如 ESLint、Pylance、tsserver)或插件的诊断结果“画出来”。你看到的黄色下划线,大概率来自:eslint(JS/TS)、pylance(Python)、javascript.validate.enable(JS 内置检查)或 cSpell.enabled(拼写检查)。悬停上去看提示文字,开头带 eslint:、Pylance:、typescript: 就能立刻锁定元凶。
- 别急着删插件——禁用对应配置更安全、可逆
- 改完
settings.json后,建议按Ctrl+Shift+P→ 输入Developer: Reload Window重载,否则语言服务可能缓存旧配置 - 黄色线 ≠ 错误,常是警告(warning),比如
no-unused-vars、unused-import,关掉后不会影响运行,但可能掩盖低级疏漏
按语言精准关闭:JS/TS、Python、C/C++ 分别怎么设
不同语言触发波浪线的机制不同,硬统一关容易误伤有用提示。推荐按需关闭:
-
JavaScript / TypeScript:搜
javascript.validate.enable和typescript.validate.enable,设为false;若只用 ESLint,可保留内置验证器但关掉 ESLint 插件本身 -
Python:优先关
python.linting.enabled(全局禁用所有 linter),或单独关python.linting.pylintEnabled、python.linting.flake8Enabled -
C/C++:设
C_Cpp.errorSquiggles为"disabled"(注意是字符串值,不是布尔)
只想隐藏波浪线,但保留后台检查和错误面板
有些场景你需要问题还在(比如点开 Problems 面板能查),但编辑器里不要干扰视线——这时候别动检查逻辑,只关“画线”本身:
- 设
"problems.decorations.enabled": false:这是最干净的方式,所有波浪线(红/黄/蓝)瞬间消失,但Problems面板、终端构建输出、CI 检查全都不受影响 - 或者用颜色定制“隐身”:
"workbench.colorCustomizations"中把editorWarning.foreground设为"#00000000"(完全透明),但该方式对部分主题或高 DPI 屏幕偶有渲染残留
中文注释被标黄?大概率是 Code Spell Checker 在瞎报
满屏中文注释飘黄线,几乎可以确定是 Code Spell Checker 插件把“函数名”“变量名”当错别字了。它默认词典极简,中文支持弱,且会主动扫描注释块。
- 最直接:在扩展页找到
Code Spell Checker,点击齿轮 →Disable - 不想卸载?在设置里搜
cSpell.enabled,设为false即可 - 若仍需拼写检查,可手动加词:右键标黄词 →
Add to Workspace Dictionary,或编辑.cspell.json加入中文词表
真正麻烦的不是关不关,而是关哪一层——关太浅(比如只关保存时 lint),键入时波浪线还在;关太深(比如关掉整个语言服务器),连跳转、补全都废了。多数人卡在没看清悬停提示里的来源标识,就一顿乱关配置,结果越调越糊。










