关闭 TypeScript 自动类型推导提示需禁用 inlay hints;屏蔽 ESLint 干扰警告应修改 .eslintrc.cjs 中 rules 配置;禁用 Prettier 保存自动格式化可在 settings.json 中设 "editor.formatOnSave": false;隐藏非错误级 diagnostics 可关闭 semanticHighlighting 等设置。

关闭 TypeScript 自动类型推导提示
VSCode 的 TypeScript 语言服务默认会在编辑时实时显示 any、implicit any 或类型推测的灰色提示(比如 const x = [] 旁标出 any[]),这类提示不报错也不影响运行,纯属干扰。它们来自 typescript.preferences.includePackageJsonAutoImports 和 typescript.suggest.autoImports 的联动,但更直接的开关是禁用「inlay hints」:
- 打开设置(
Ctrl+,或Cmd+,),搜索inlay hints - 关闭
TypeScript > Inlay Hints: Enabled(全局)或在工作区设置中设为false - 若只想关掉类型提示(保留参数名提示),可单独关
TypeScript > Inlay Hints: Types
注意:该设置需 TypeScript 插件 v5.0+,旧版 VSCode 可能显示为 typescript.inlayHints.types.enabled,效果一致。
屏蔽 ESLint 的「未使用变量」和「无意义比较」警告
像 no-unused-vars、no-constant-condition 这类规则,在快速调试或写原型时频繁弹出浅红色波浪线,实际并不妨碍执行。ESLint 默认启用大量推荐规则,但 VSCode 的 eslint.enable 是开关,真正要精简的是规则配置本身:
- 在项目根目录
.eslintrc.cjs或eslint.config.js中,显式覆盖规则而非依赖extends: "eslint:recommended" - 把干扰项设为
"off",例如:module.exports = { rules: { "no-unused-vars": "off", "no-constant-condition": "off", "no-console": "warn" // 保留但降级 } } - 切勿用
// eslint-disable-next-line批量注释——那是在代码里埋技术债,不是精简规则
禁用 Prettier 的保存时自动格式化干扰
很多人开 editor.formatOnSave 后发现每次 Ctrl+S 都触发重排,光标乱跳、括号被强行拆行、甚至改出语义差异(如模板字符串换行导致空格变化)。这不是 Prettier 本身的问题,而是它和 VSCode 编辑器行为耦合太紧:
- 临时方案:按
Ctrl+Shift+P输入Format Document,手动触发,避开保存钩子 - 长期方案:在
settings.json中关掉自动格式化,仅对特定语言开启:"editor.formatOnSave": false, "[javascript]": { "editor.formatOnSave": true }, "[typescript]": { "editor.formatOnSave": true } - 更稳妥的做法是删掉
prettier.eslintIntegration(已废弃),改用eslint-plugin-prettier统一走 ESLint 管道,避免双引擎打架
隐藏非错误级 diagnostics 的低亮渲染
VSCode 把 warning、info、hint 全归为 diagnostics,统一用波浪线/虚线下划线渲染,肉眼难区分严重程度。最简单粗暴但有效的办法是只让 error 显示:
- 在
settings.json加入:"editor.showUnused": false, "javascript.suggestionActions.enabled": false, "typescript.suggestionActions.enabled": false, "editor.errorLens.enabled": false // 如果装了 error-lens 插件
- 关键参数是
editor.semanticHighlighting.enabled—— 关掉它能减少大量语法级高亮干扰,尤其对 JSX/TSX 文件明显 - 别碰
workbench.colorCustomizations去改波浪线颜色,那只是掩盖问题;优先从源头控制 diagnostic level
真正难处理的是跨插件诊断叠加:比如 ESLint 报 warning,TypeScript Server 又补一条 hint,同一行三条下划线。这时候得查 Developer: Toggle Developer Tools 里的 Problems 面板,点开每条看来源,再针对性关插件或调规则。


















