必须用"**/node_modules": true才能递归隐藏所有嵌套层级的node_modules,仅写"node_modules": true只匹配根目录;应配置在项目级.vscode/settings.json中,且需清空搜索框的files to include才能使规则生效。

直接改 files.exclude 就行,不用重启、不装插件、不碰 Git —— 但必须用 "**/node_modules": true,否则只藏根目录下的,子包里的还在。
为什么 "node_modules": true 不生效
常见现象:根目录的 node_modules 消失了,但 packages/foo/node_modules 还在侧边栏里展开着。这是因为 VSCode 的 files.exclude 默认只匹配一级路径,"node_modules" 只能排除当前层级同名文件夹。
- 必须写成
"**/node_modules": true才能递归匹配所有嵌套位置 - 别写成
"./node_modules"或"/node_modules"—— 前者被忽略,后者完全不匹配 - 也别写
"**/node_modules/**",多余的/**会导致规则失效 - 如果项目用了 pnpm,
node_modules/.pnpm结构也会被"**/node_modules"一并隐藏,无需额外处理
该配在用户设置还是工作区设置
优先写进项目根目录下的 .vscode/settings.json,而不是用户级设置。
使用一条命令部署ProbeChain Rydberg测试网代理节点。自动注册为Agent(NodeType=1),免gas,支持macOS/Linux/Windows。触发词:/r
- 只影响当前项目,避免污染其他工程(比如你同时开一个 Python 项目,用户级设置可能意外隐藏它的
venv) - 确保
.vscode目录已提交到 Git(但要排除settings.json中含敏感信息的字段) - 团队项目建议放工作区里,避免每人手动配
想隐藏 node_modules 但保留 @types
可以,但得靠负向排除(! 开头),且顺序不能错。
-
"node_modules": true必须写在前面 - 再加
"!node_modules/@types": true和"!node_modules/@types/**": true—— 后者才能让@types/node这类子目录也可见 - VS Code 1.85+ 支持
!**/node_modules/@types/**这种更宽松写法;老版本建议用绝对路径模式 - 注意:隐藏后,Git 状态图标也会消失——这是预期行为,不是 bug
搜索框清空才能让排除规则真正起作用
真正容易被忽略的是:即使你正确配置了 files.exclude,如果同时在搜索框底部手动填了 files to include(比如写了 src/**),VSCode 就会无视 search.exclude 和 files.exclude 的所有规则 —— 这个输入框是最高优先级的过滤器。
清空它,才能让排除规则真正起作用。










