波浪线由不同插件绘制,悬停查看前缀可精准识别来源;禁用cspell最安全,重载窗口确保生效。

波浪线不是错误本身,而是某个服务在“画提示”——关错地方,真实类型错误也会消失;关对地方,只去干扰、不丢诊断。
怎么快速确认波浪线是谁画的
悬停在任意一条波浪线上,看弹出提示的前缀:
- 含
cSpell或Unknown word→ 拼写检查插件(如 Code Spell Checker)在标中文/英文拼错 - 含
eslint、no-unused-vars→ ESLint 插件在 lint - 含
typescript、cannot find name→ TS 语言服务器在报类型问题 - 含
Vetur、invalid expression→ Vue 模板校验误报 - 含
C_Cpp、cannot open source file→ C/C++ 扩展路径配置失效
别猜,直接看前缀。这是后续所有操作的前提。
cSpell.enabled 设为 false 是最安全的起点
中文注释、字符串里满屏红波浪线,90% 是 cSpell 把中文当“非法英文单词”处理。这不是语法问题,关 problems.decorations.enabled 会一并抹掉 TypeScript 类型错误——真不该动它。
- 打开
settings.json,加这一行:"cSpell.enabled": false - 如果已装
streetsidesoftware.code-spell-checker插件,直接禁用它更彻底 - 检查是否被覆盖:项目根目录下
.vscode/settings.json或语言专属配置(如"[typescript]": { "cSpell.enabled": true })可能把它又打开了 - 改完后按
Ctrl + Shift + P→ 输入Developer: Reload Window重载,避免缓存残留
只隐藏波浪线,但保留后台检查和 Problems 面板
你不需要“看不见就等于没发生”,只需要编辑器不画线。这种方式既清爽,又能随时点开 Ctrl + Shift + M 查具体哪条报错。
- 全局隐藏所有波浪线(红/黄/蓝):
"problems.decorations.enabled": false - 仅隐藏黄色警告线(比如 ESLint 的
no-console):"workbench.colorCustomizations": { "editorWarning.foreground": "#00000000" }(注意:部分主题或高 DPI 屏幕可能有渲染残留) - 对 C/C++ 单独处理:
"C_Cpp.errorSquiggles": "disabled"(值是字符串"disabled",不是布尔false) - 对 Vue 文件临时静音:
"vetur.validation.template": false
临时 suppress 单文件,不改任何配置
调试阶段不确定是不是误报?或者只是某份配置文档想写点自由文本?用 VS Code 内置的诊断抑制最干净。
- 光标放在报错行 → 按
Ctrl + .(Win/Linux)或Cmd + .(macOS)→ 选Suppress diagnostic - 光标放空白处 → 同样快捷键 → 选
Suppress all diagnostics in this file - 效果:该文件立刻无波浪线,Problems 面板仍显示条目,也不影响其他文件
- 注意:不同语言生成的注释不同 —— TS 加
// @ts-nocheck,ESLint 加// eslint-disable-file,Python(Pyright)目前不支持整文件 suppress
真正容易被忽略的是配置优先级和重载动作:工作区级设置能盖过全局,改完不重载窗口,很可能白调。











