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

背景

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我会为你提供解决方案。你可以尝试以下步骤来解决问题: 1. 打开 VS Code,然后打开设置(快捷键为“Ctrl + ,”或者点击左下角的齿轮图标)。 2. 在搜索栏输入“files.watcherExclude”,然后点击“编辑设置”按钮。 3. 在右侧的窗口,找到“Files:Watcher Exclude”选项。点击编辑按钮。 4. 在弹出的编辑窗口,将以下代码复制并粘贴: ``` { "**/.git/objects/**": true, "**/.git/subtree-cache/**": true, "**/node_modules/*/**": true, "**/bower_components/*/**": true, "**/*.code-search/**": true, "**/.history/**": true, "**/tmp/**": true, "**/temp/**": true, "**/build/**": true, "**/dist/**": true, "**/logs/**": true, "**/coverage/**": true, "**/.vscode-test/**": true, "**/node_modules/.bin/**": true, "**/node_modules/.cache/**": true, "**/node_modules/.staging/**": true, "**/node_modules/.tmp/**": true, "**/node_modules/@types/**": true, "**/node_modules/@babel/**": true, "**/node_modules/@jest/**": true, "**/node_modules/@rollup/**": true, "**/node_modules/@testing-library/**": true, "**/node_modules/@vue/**": true, "**/node_modules/autoprefixer/**": true, "**/node_modules/babel-*/**": true, "**/node_modules/canvas/**": true, "**/node_modules/coveralls/**": true, "**/node_modules/cssnano/**": true, "**/node_modules/eslint*/**": true, "**/node_modules/gulp*/**": true, "**/node_modules/istanbul*/**": true, "**/node_modules/jest/**": true, "**/node_modules/jsdoc/**": true, "**/node_modules/jsx*/**": true, "**/node_modules/karma*/**": true, "**/node_modules/lerna*/**": true, "**/node_modules/less*/**": true, "**/node_modules/mocha*/**": true, "**/node_modules/nodemon/**": true, "**/node_modules/postcss*/**": true, "**/node_modules/rollup*/**": true, "**/node_modules/sass*/**": true, "**/node_modules/serve*/**": true, "**/node_modules/sinon*/**": true, "**/node_modules/stylus/**": true, "**/node_modules/stylelint*/**": true, "**/node_modules/terser*/**": true, "**/node_modules/typescript*/**": true, "**/node_modules/vite*/**": true, "**/node_modules/webpack*/**": true, "**/node_modules/zone.js/**": true } ``` 5. 保存更改并关闭设置窗口,然后重新启动 VS Code。 这些步骤应该能够解决你的问题。如果问题仍然存在,请尝试使用其他文件监视器,如 fswatch、watchman 等,或者在 VS Code 的 GitHub 页面上提交问题报告。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值