Nodejs VSCode 如何通过 Ctrl+P 快速打开 node_modules 中的文件

发布于 1周前 作者 phonegap100 来自 nodejs/Nestjs

背景

咱们新建一个 NodeJS 项目,必然会安装许多依赖包,因此经常需要查阅某些依赖包的源码文件。但是,由于 node_modules 目录包含的文件太多,出于性能考虑,在 VSCode 中默认情况下是禁止搜索 node_modules 目录的。在这种情况下,我们将不得不依次展开 node_modules 的文件目录树,来查找我们所需要的文件。相信这种体验一定是非常低效、恼人的。那么,我们该如何定制 VSCode 的这种缺省行为呢?

目标

我们以 CabloyJS 项目为例。一个新建的 CabloyJS 项目包含大量核心模块,我们希望快速查看工作流模块a-flow的源码,可以这样操作:

  1. 使用快捷键Ctrl + P,打开Quick Open面板

  2. 输入a-flow/pa,即可快速定位到文件node_modules/egg-born-module-a-flow/package.json

VSCode 配置

为了达到以上目标,我们仅需要在settings.json文件中添加以下配置:

{
    "search.exclude": {
        "**/node_modules":false
    },
    "search.useIgnoreFiles":false
}
  1. **/node_modules设为false,从而禁用缺省行为,从而支持 node_modules 目录的检索

  2. 对于许多项目而言,将**/node_modules设为false就已经足够了。那么,为什么还需要将search.useIgnoreFiles设为false呢?这是因为有的项目包含.gitignore文件,而.gitignore文件中忽略了 node_modules 目录,这个机制仍然限制了 VSCode 对 node_modules 目录的检索。因此,我们需要配置该参数,从而忽略这种默认行为

结论

简而言之,将search.useIgnoreFiles设置为false才是这篇文章的题眼。因为,我是查阅了大量英文社区资源才得出了这个问题所在,也希望能节省大家的时间


Nodejs VSCode 如何通过 Ctrl+P 快速打开 node_modules 中的文件

4 回复

这样太耗资源了


非常消耗资源 大项目的 node_modules 很大的,需要打开的话 手动点开就行了

请问手动点开如何操作?

在 VSCode 中使用 Ctrl+P(或 Cmd+P 在 macOS 上)可以打开快速打开面板,这个面板允许你通过文件名、路径或一些特殊命令快速导航到项目中的文件。要快速打开 node_modules 中的文件,你可以利用 @ 符号和模块名进行模糊搜索。以下是一些步骤和技巧:

  1. 打开快速打开面板: 按下 Ctrl+P

  2. 使用 @ 符号: 在快速打开面板中输入 @ 符号,然后输入你想查找的模块名。例如,如果你想查找 express 模块中的某个文件,可以输入 @express

  3. 选择文件: VSCode 会列出与模块名匹配的文件,你可以通过键盘上下箭头选择所需文件,然后按 Enter 打开。

  4. 使用路径搜索(如果需要精确查找): 你也可以直接输入相对路径或绝对路径。例如,输入 ./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 中的任何文件,而无需手动浏览复杂的目录结构。

回到顶部