提问者:小点点

如何在vscode中排除除一个文件夹外的所有文件夹?


└── target
    ├── W350
    ├── W400
    ├── W600
    ├── W600_HW_V2
    ├── W600_KT_HW_V2
    ├── W600_KT_HW_V2_neutral
    ├── W600_TK
    ├── W650
    ├── W650_HW_V2
    └── W750

我想排除除W600_KT_HW_V2以外的所有文件夹。然后,VSCode 应显示此树:

└── target
    └── W600_KT_HW_V2

我该怎么办?


共1个答案

匿名用户

通常,您可以这样做:

"files.exclude": {
  //  "**/node_modules": true,

  "**/[^1]*": true,    // all you need in your example
  "**/1[^2]*": true,
  "**/12[^3]*": true
},

在您的情况下,只需要第一个“**/[^1]*”:true。如果您有像 1abc 这样的文件夹,并且您还希望排除这些文件夹,则将使用其他行。深度取决于文件夹名称的相似性。但是你没有给出很多关于你的用例有多复杂的细节。

但你看到了模式。Vscode不支持

更新文件结构后,它看起来像这样工作:

"files.exclude": {
  "**/[^W]*": true,
  "**/W[^6]*": true,
  "**/W6[^0]*": true,

  "**/W600": true,         // the only one I had to "hardcode"
  "**/W600_[^K]*": true,
  "**/W600_KT_HW_V2_*": true
}

考虑到您想要的唯一文件夹与要排除的文件夹有多相似,这还不算太糟糕。您可以在这两个示例中看到一般模式——在之前排除类似文件夹后,我能够消除一些中间体。

另请参见如何在Visual Studio代码中排除侧栏中除某些文件之外的所有文件?对文件扩展名执行此操作。