VS Code 不排除代码的 node_modules 被监视 - 已达到文件监视限制

问题描述 投票:0回答:2

在 VS Code 中,我有一个文件少于 50 个的 Vue 项目,但在运行开发服务器时 VS Code 会抛出

Error: ENOSPC: System limit for number of file watchers reached

我的 VS Code Watcher 排除设置具有以下忽略模式。

**/.git/objects/**
**/.git/subtree-cache/**
**/node_modules/**

我试图找出哪些文件可能使我超出了我机器上的 max_user_watches 限制,即 8192。

通过用户“mosvy”的 StackExchange 答案和另一个用户“oligofren”从该答案派生的 脚本,我发现以下来源可能会导致此问题。

| Watchers | Source | | -------- | ------ | | 4033 | /usr/share/code/code --max-old-space-size=3072 /usr/share/code/resources/app/extensions/node_modules/typescript/lib/tsse | | 3889 | /usr/share/code/code /usr/share/code/resources/app/extensions/node_modules/typescript/lib/typingsInstaller.js --globalTy | | 99 | /usr/share/code/code /usr/share/code/resources/app/out/bootstrap-fork --type=watcherService |

我不确定为什么其中任何一个都会被监视,但前两个似乎忽略了 VS Code 的 Watcher Exclude 设置

**/node_modules/**



如果可能,在 VS Code 的“观察者排除”设置中排除所有这三个是否安全?

我不想破坏我的 VS Code 安装。

更新

上面的观察者排除设置是 VS Code 默认列出的设置。我添加了相同的设置

"files.watcherExclude": { "**/.git/objects/**": true, "**/.git/subtree-cache/**": true, "**/node_modules/**": true }

直接访问 settings.json 文件,上面列出的两个 node_modules 源已被删除,并且该会话的错误消失了。

重新启动 VS Code 并验证 settings.json 仍然包含我所做的更改后,之前的两个 node_modules 源不再被排除。

visual-studio-code inotify
2个回答
0
投票
今天大部分时间都在与同样的问题作斗争,我的解决方案是默认的 VSCode 设置实际上不起作用:

"files.watcherExclude": { ... "**/node_modules/*/**": true, ... },
VSCode 仍在观察 

node_modules

 中的所有内容,而 OP 给出的设置确实有效:

"files.watcherExclude": { ... "**/node_modules/**": true ... },
    

-3
投票
如果可行,您可以禁用内置扩展:

TypeScript 和 JavaScript 语言功能,但这会删除一些功能,这些功能可能会剥夺使用 vscode 的全部意义。

© www.soinside.com 2019 - 2024. All rights reserved.