让 VS Code “读懂我的想法”:构建智能上下文感知
Source: Dev.to
问题
我们都有这种经历。打开一个项目时,瞬间卡住了:“等等,这该用 npm run dev、yarn start 还是 docker-compose up?”
上下文切换是生产力的杀手。作为开发者,我们花太多时间记住如何启动项目,而不是实际去运行它。
智能上下文感知 🛠️
我一直在开发一个 VS Code 插件叫 DotCommand,今天终于破解了它最大的功能:智能上下文感知。
目标很简单:别让我去搜索命令。根据我当前的文件,直接给我需要的命令。
- 检测到
package.json→ 显示 NPM 命令(install、run script)。 - 检测到
Dockerfile→ 显示 Docker 命令(build、run)。 - 检测到
.git→ 显示 Git 工作流。
实现细节 🐛
听起来很简单,但实现起来却挺棘手。
我最初写了一个 ContextDetector 类来扫描工作区。它能工作,但速度慢,于是我加了一个缓存层(30 秒)。
Bug – 创建 package.json 后 UI 不会立即更新,必须等缓存失效,体验显得卡顿且“迟钝”。
Fix – 重新接线 FileSystemWatcher 事件,强制在关键文件(如 package.json)被创建或删除的瞬间失效缓存并刷新 UI。
现在几乎是瞬时响应。 ⚡
实际效果 🎥



加分项:动态 Git 分支
我不仅止步于文件检测。手动输入分支名也很烦人,于是我加入了 动态输入 系统。运行 git checkout 等命令时,会弹出原生 VS Code 下拉框,列出你本地实际存在的分支供选择。
试一试
我正在公开开发这个插件,期待你的反馈。这能解决你的真实痛点吗?
DotCommand on the VS Code Marketplace
祝编码愉快! 🚀