Error Lens 默认不启用,需手动设置"errorLens.enable": true;行尾提示需开启"errorLens.showInLine": true;其仅展示语言服务器提供的诊断信息,不自行分析代码。

安装 Error Lens 后没反应,errorLens.enable 必须设为 true
VSCode 默认不启用 Error Lens 的行内提示,装完插件只是“就位”,不是“启动”。关键开关在设置里,不手动打开它就一直沉默。
-
Ctrl+,打开设置 → 搜索errorLens.enable→ 勾选启用(或直接在settings.json里加"errorLens.enable": true) - 如果用的是远程开发(SSH/WSL),确保插件已安装在对应环境,而不是只装在本地 VSCode
- 部分语言服务(比如旧版
eslint或未配置tsserver)不会触发诊断,Error Lens 只能显示已有诊断信息,它不自己分析代码
错误不显示在行尾?检查 errorLens.showInGutter 和 errorLens.showInLine 组合
Error Lens 提供两种视觉位置:行号栏(gutter)和代码行末(inline)。默认只开 gutter,想看到行尾小图标或文字,得明确开启 inline 模式。
-
"errorLens.showInLine": true是必须项;否则即使有错误,也只在左侧 gutter 显示小红点 -
"errorLens.showInGutter": false可关掉 gutter 图标,避免重复干扰(尤其搭配editor.renderWhitespace: "boundary"时) - 行尾提示长度受
errorLens.maxMessageLength限制,默认 120 字符,超长会被截断,可调大但别设成0(那是无限,可能卡 UI)
TypeScript 报错不实时更新?确认 tsserver 诊断已启用且无缓存冲突
Error Lens 本身不生成错误,它只是把语言服务器(如 tsserver)发来的诊断消息“贴”到行上。TS 错误不出现,大概率是上游没推送,不是插件问题。
- 检查 TS 项目根目录是否有
tsconfig.json,且文件在include或默认范围内;否则tsserver直接跳过该文件 - 运行
Developer: Toggle Developer Tools→ Console 里搜Diagnostic,看是否有typescript相关诊断日志输出 - 禁用其他 lint 插件(如
ESLint、Stylelint)临时测试,避免它们覆盖或屏蔽 TS 诊断(尤其当"eslint.enable": false没配对时)
Python 报错只显示 Pylint 警告,没 Pyright/MyPy 错误?优先级和诊断源要对齐
Error Lens 会聚合所有可用诊断源,但不同语言服务器的启用状态、响应速度、错误等级(error/warning/info)会影响最终显示。Python 尤其容易混用多个后端。
- 确保已安装并启用
Pyright(推荐)或Mypy,且在settings.json中配置了"python.languageServer": "Pylance"(Pylance 内置 Pyright) - Pylint 默认只报 warning 级别,而 Error Lens 默认只显示
error和warning(不含info),但可通过"errorLens.diagnosticLevels": ["error", "warning", "info"]扩展 - 如果同时开了
pylint和pyright,后者通常更快更准,建议关掉 pylint,避免诊断打架或延迟叠加
最常被忽略的一点:Error Lens 不改变诊断来源的行为逻辑,它只是“翻译器”。你看到什么错误、什么时候看到、显示成什么样,根本取决于语言服务器有没有发、发得对不对、发得及时不及时。调插件设置前,先确认底层服务本身在正常工作。











