V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zhennann
V2EX  ›  Node.js

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

  •  1
     
  •   zhennann · 2023-07-06 15:50:35 +08:00 · 1370 次点击
    这是一个创建于 511 天前的主题,其中的信息可能已经有所发展或是发生改变。

    背景

    咱们新建一个 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才是这篇文章的题眼。因为,我是查阅了大量英文社区资源才得出了这个问题所在,也希望能节省大家的时间

    3 条回复    2023-07-07 21:30:14 +08:00
    horizon
        1
    horizon  
       2023-07-06 19:08:23 +08:00
    这样太耗资源了
    anzerwall
        2
    anzerwall  
       2023-07-07 10:00:13 +08:00
    非常消耗资源 大项目的 node_modules 很大的,需要打开的话 手动点开就行了
    zhennann
        3
    zhennann  
    OP
       2023-07-07 21:30:14 +08:00
    @anzerwall 请问手动点开如何操作?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1097 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 43ms · UTC 22:38 · PVG 06:38 · LAX 14:38 · JFK 17:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.