【问题标题】:How to exclude all folders except one folder in vscode?如何排除vscode中除一个文件夹以外的所有文件夹?
【发布时间】:2020-06-19 07:04:28
【问题描述】:
└── 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

我该怎么办?

【问题讨论】:

  • 你见过这个吗? stackoverflow.com/a/33277809/9401556
  • 您是否考虑过在运行code . 之前先执行cd 123?或者只是运行code 123
  • 以上只是一个例子。实际情况要复杂得多。我需要加载上层目录。我知道用“**/abc”,“**/def”,“**/fed”……,太麻烦了

标签: visual-studio-code vscode-settings


【解决方案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 中的 ! 否定,因此您必须使用 [^x] 表单排除除您想要的之外的所有内容。


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

"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
}

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


另请参阅How to exclude all but certain files in the sidebar in Visual Studio Code?,了解如何使用文件扩展名。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多