Code inspector 代码定位的插件原理是什么?
· 4 min read
Code Inspector 是一款 IDE 自动跳转插件,让你在浏览器中点击元素就能直接跳转到对应的源码位置。核心原理分为 3 步:
-
编译期插桩:打包时用 AST 解析,给每个 DOM 元素注入源码位置属性
-
运行时监听:浏览器端监听快捷键+点击,从 DOM 取出埋点信息
-
本地服务调度:向本地服务发送请求,调用 IDE 命令打开文件并定位
整体时序图
第一步:编译期 AST 插桩(核心)
作为 Vite/Webpack/Rspack 插件参与打包流程:
- 获取源码与路径:打包器把每个模块源码交给插件
- AST 解析:对 Vue 模板/JSX 做 AST 遍历,找到每个 DOM 元素
- 记录位置信息:记录该元素在源码中的文件路径、行号、列号
- 注入自定义属性:编译时给 DOM 节点加上
data-inspector属性
最终生成的 HTML 类似:
<div data-inspector="/src/components/Button.vue:12:4">Click me</div>