❗注意~ 我建议你先看一下你的VSCode
版本是多少?
如果大于等于 1.74.x
,那么非常建议
你看下去哈,如果不是,也稍微建议
你看一下~
为什么呢?
我们先看一个效果哈
可以看到,当我们摁着Command(Ctrl)
并Click
进入三方依赖的时候,左侧的文件树并不会定位到目标文件
了!
正常情况应该如下:
这无疑是一件非非非常糟糕
的事情,因为很多时候,我们需要看到左侧的文件结构,并做一些其他的事情。
现在,没了!怎么办?!
经过一系列的排查,甚至还去debug
了vscode
的源码(相当头疼),最终定位到了一个判断语句!
截图是1.74
版本的代码,和1.72
版本的代码做了对比,发现多了这么一个if
判断:
大概的意思好像是“是否应该自动显示项目
”...
继续深入这个方法:
可以看到shouldAutoRevealItem
上面的注释好像说去match
一个值
搜索了一下之后,看到了一个之前忽略的Release Notes
:
简单机器翻译一下:
“通过引入一个新的设置 Explorer.autoReveaExcluse
,已经修复了 #87956(“允许为每个特定文件夹设置 Explorer.autoReveae
”)的问题。如果启用了自动显示功能,这个设置允许您配置在资源管理器中自动显示哪些文件。AutoReveaExcluse
设置使用通配符模式排除文件,类似于 files.excue
,还支持通过 when
子句进行兄弟匹配。”
其中默认将node_modules
文件夹的匹配语句加了进去,即默认会将node_modules
文件夹内的内容加入一个黑名单
,在黑名单内的文件,在编辑器打开
的时候,左侧的树状菜单就不会自动定位到目标文件
。
找到问题了!
OK,既然找到了问题(其实也不是问题,而是一个新增配置项),我们就按需修改一下就行了:
我这里把**/node_modules
这一项给删除了,如下图:
然后,它就好了!!!
一些题外话
那么这个问题是怎么💣出来的呢?
起因是我正在维护一个VSCode
插件:Fe-jump:一款辅助前端工程文件跳转的vscode插件
它非常好用!它可以让你非常方便的点击package.json
里的依赖名称之后,就帮你跳转到对应的依赖项的源文件,但是前段时间,它忽然不好使了
,我甚至还收到了一个issue
:
原来我还以为是VSCode
的bug
导致的无法刷新文件树,就连夜想了很多方案先fix掉了这个问题,修复的commit可以看这里:github.com/xicunyang/f…
当自己空下来的时候还是想定位一下这个问题,为什么之前可以,现在就不可以了呢?难道真的是VSCode
的bug
嘛?理论上不应该呀...
所以经过不断的debug VSCode
的源码,加上询问ChatGPT
,最终定位到了上面的if
判断位置
最后才发现其实是VSCode
的新增配置项导致的,哈哈哈。
过程很辛苦,结果很舒服~
以后还是要记得常看看VSCode
的Release Notes
才可以啊~
最后,可以装一下试试看! Fe-jump:一款辅助前端工程文件跳转的vscode插件