如何在VS Code中仅排除顶级同名目录而不影响嵌套目录
解决方案
要仅隐藏工作区根目录下的dirA和dirB,同时保留深层嵌套的同名目录,只需在VS Code的工作区设置(.vscode/settings.json)中使用根路径限定的glob模式:
{ "files.exclude": { "/dirA": true, "/dirB": true } }
模式说明
在VS Code的glob规则中,以/开头的模式会严格匹配工作区根目录下的直接子项,不会递归匹配深层目录。这正好满足需求:
/dirA仅匹配project-root/dirA,不会匹配dirA/dirB或tests/dirA/dirB仅匹配project-root/dirB,不会匹配tests/dirB
为什么之前的尝试无效?
你之前尝试的"/project-root/dirA"模式错误,因为VS Code的files.exclude路径是相对于工作区根目录的,不需要显式写工作区名称。直接用/dirA即可精准定位根目录下的目标目录。
其他可选方法
如果上述glob模式因版本或特殊场景不生效,还可以用反向排除方案(适合结构固定的小型项目):先全局排除所有同名目录,再显式取消排除需要保留的深层目录:
{ "files.exclude": { "**/dirA": true, "**/dirB": true, "dirA/dirB": false, "tests/dirA": false, "tests/dirB": false } }
内容的提问来源于stack exchange,提问作者Chris
相关产品推荐
相关产品推荐

