Error Lens插件将诊断信息内联显示在代码行尾,通过读取VS Code diagnostics并在右侧添加高亮装饰实现;支持多语言,开箱即用,可配置显示级别、长度及颜色,不干扰原生悬停功能。

没错,Error Lens 插件能让错误、警告等诊断信息直接“贴”在对应代码行的末尾,不用悬停、不用跳转、一眼就能看到问题在哪,大幅提升调试效率。
它怎么做到“贴在代码行”的?
Error Lens 并不改变 VS Code 的诊断系统,而是实时读取编辑器内置的 diagnostics(诊断信息),然后在每行代码的右侧边缘(gutter 旁边)插入一个高亮的内联装饰(inline decoration)。这个装饰会显示错误类型和简短消息,比如 “TS2322: Type ‘String’ is not assignable to type ‘number'”,紧挨着出错的那一行。
它支持所有能提供 diagnostics 的语言服务:typescript、javaScript、python(配合 Pylance/Flake8)、rust(rust-analyzer)、go(gopls)、jsON Schema 验证等等。
安装后需要简单配置吗?
基本开箱即用,但推荐加几项轻量配置提升体验:
- 启用内联显示:确保 “errorLens.showinGutter” 和 “errorLens.showInLine” 都设为 true(默认已开启)
- 控制显示长度:用 “errorLens.maxMessageLength” 限制行尾文字长度(比如设为 80),避免遮挡代码
- 区分错误级别:可单独开关 warning / info / hint 的显示,例如关掉 info 级提示,聚焦真正要处理的问题
和原生悬停提示冲突吗?
完全不冲突。Error Lens 是叠加层,不影响原有功能。你依然可以鼠标悬停看完整堆栈、点击跳转到定义、按 Ctrl+Click 查看详细描述。它只是多给你一个“常驻视角”,尤其适合扫读、快速定位高频报错,或在分屏/小屏环境下减少视线移动。
有没有什么要注意的细节?
有几点实际用起来很实用:
- 消息默认是浅色背景 + 深色文字,如果主题太暗(比如 One Dark Pro),可能看不清——可微调 “errorLens.foreground” 和 “errorLens.background” 颜色
- 某些极快的保存-修复循环(如保存即格式化+校验),偶尔会出现短暂闪烁,属正常现象,不影响使用
- 它不运行检查,只展示已有 diagnostics,所以务必确认你的语言服务器已启用并正常工作(比如 TypeScript 必须有
tsconfig.json)
基本上就这些。不是黑科技,但确实把“找错”这件事,从操作变成了视觉习惯。