Nodejs VSCode 如何通过 Ctrl+P 快速打开 node_modules 中的文件
背景
咱们新建一个 NodeJS 项目,必然会安装许多依赖包,因此经常需要查阅某些依赖包的源码文件。但是,由于 node_modules 目录包含的文件太多,出于性能考虑,在 VSCode 中默认情况下是禁止搜索 node_modules 目录的。在这种情况下,我们将不得不依次展开 node_modules 的文件目录树,来查找我们所需要的文件。相信这种体验一定是非常低效、恼人的。那么,我们该如何定制 VSCode 的这种缺省行为呢?
目标
我们以 CabloyJS 项目为例。一个新建的 CabloyJS 项目包含大量核心模块,我们希望快速查看工作流模块a-flow
的源码,可以这样操作:
-
使用快捷键
Ctrl + P
,打开Quick Open
面板 -
输入
a-flow/pa
,即可快速定位到文件node_modules/egg-born-module-a-flow/package.json
VSCode 配置
为了达到以上目标,我们仅需要在settings.json
文件中添加以下配置:
{
"search.exclude": {
"**/node_modules":false
},
"search.useIgnoreFiles":false
}
-
将
**/node_modules
设为false
,从而禁用缺省行为,从而支持 node_modules 目录的检索 -
对于许多项目而言,将
**/node_modules
设为false
就已经足够了。那么,为什么还需要将search.useIgnoreFiles
设为false
呢?这是因为有的项目包含.gitignore
文件,而.gitignore
文件中忽略了 node_modules 目录,这个机制仍然限制了 VSCode 对 node_modules 目录的检索。因此,我们需要配置该参数,从而忽略这种默认行为
结论
简而言之,将search.useIgnoreFiles
设置为false
才是这篇文章的题眼。因为,我是查阅了大量英文社区资源才得出了这个问题所在,也希望能节省大家的时间
Nodejs VSCode 如何通过 Ctrl+P 快速打开 node_modules 中的文件
这样太耗资源了
非常消耗资源 大项目的 node_modules 很大的,需要打开的话 手动点开就行了
请问手动点开如何操作?
在 VSCode 中使用 Ctrl+P
(或 Cmd+P
在 macOS 上)可以打开快速打开面板,这个面板允许你通过文件名、路径或一些特殊命令快速导航到项目中的文件。要快速打开 node_modules
中的文件,你可以利用 @
符号和模块名进行模糊搜索。以下是一些步骤和技巧:
-
打开快速打开面板: 按下
Ctrl+P
。 -
使用
@
符号: 在快速打开面板中输入@
符号,然后输入你想查找的模块名。例如,如果你想查找express
模块中的某个文件,可以输入@express
。 -
选择文件: VSCode 会列出与模块名匹配的文件,你可以通过键盘上下箭头选择所需文件,然后按
Enter
打开。 -
使用路径搜索(如果需要精确查找): 你也可以直接输入相对路径或绝对路径。例如,输入
./node_modules/express/lib/
,然后按Enter
,接着使用箭头键选择具体文件。
以下是一个示例,展示如何通过 Ctrl+P
打开 express
模块中的 express.js
文件:
1. 按 Ctrl+P
2. 输入 @express
3. 从列表中选择 node_modules/express/lib/express.js
4. 按 Enter 打开文件
这样,你可以快速导航到 node_modules
中的任何文件,而无需手动浏览复杂的目录结构。