发布时间:2023-03-10 文章分类:编程知识 投稿人:李佳 字号: 默认 | | 超大 打印

最近很闲,所以想着优化一下自己在使用的其他开发者开发的插件(名称为 git-commit-lint-vacode)。看了眼这个插件仓库的 Issus,发现一个选中更改文件后,使用插件会聚焦错误的地方的问题。

经过我的测试,发现有无关仓库的数量,只要选中更改文件后,重新聚焦一定会聚焦到该文件。而当有多个仓库时,不管你之前选中的时哪个仓库的输入框,最后都会聚焦到第一个仓库的输入框中。

一开始我以为这只是一个小问题,众所周知,VS Code 是用 Electron 开发的,那不是只要找到对应仓库的输入框,聚焦一下就完事咯?没想到找了两天,完全找不到相关的内容,因为他们根本没给每个仓库加上 focus 这个函数(如果有,请告诉我,非常感谢)!

最后,我在 VS Code 官方仓库的 Issus 中找到了我要的答案,很难想象官方的workbench.scm.focus 命令只能聚焦到“源代码管理”而不是仓库的输入框,你需要再执行list.focusFirst list.select 才能确保在只有一个仓库时,聚焦到输入框中。