【问题标题】:Filter files shown in Visual Studio Code筛选在 Visual Studio Code 中显示的文件
【发布时间】:2015-10-16 20:09:39
【问题描述】:

您将如何过滤Visual Studio Code 中文件夹视图中显示的文件?

参考:Filter files shown in folder view

【问题讨论】:

  • 您的参考不再指向任何有用的东西
  • 请更正链接。
  • 我在文件导航器中寻找类似 Xcode 的过滤器功能的东西。这在 VSCode 中是不可能的吗?
  • 这个问题让我很困惑。我希望在我键入时看到有关如何启用搜索框或其他内容来过滤资源管理器中显示的文件的参考:)

标签: visual-studio-code


【解决方案1】:

隐藏文件和文件夹

files.exclude 设置允许您定义模式以从 VS Code 中的多个位置(例如资源管理器和搜索)隐藏文件和文件夹。一旦定义,匹配任何模式的文件和文件夹将被隐藏。

{
    "files.exclude": {
        "**/*.js": true
    }
}

隐藏派生资源

如果您使用的语言可以在源文件的同一位置编译成另一个文件,就像 TypeScript 对 JavaScript 所做的那样,您可以轻松地设置一个表达式来隐藏这些派生文件:

"**/*.js": { "when": "$(basename).ts"}

这样的模式将匹配任何 JavaScript 文件 (**/*.js),但前提是存在具有相同名称和扩展名的同级文件,在此示例中为 *.ts。同样的技术也可以用于其他转译语言,例如 Coffee Script 或 Less/Sass。

来源:VS Code v0.5.0 (July 2015)

【讨论】:

  • 万一遇到这个问题的人和我一样困惑,这是 Visual Studio Code 用户设置,而不是项目设置。
  • "when" 非常有用 - 不幸的是,它不适用于我的地图文件,例如 "*/.js.map": { "when": "$( basename).ts"}
  • @Gerfried,FWIW,如果您使用{"when": "$(basename)"},那么您的.js.map 将不会显示。 (注意我没有设置扩展...)
  • @EricLiprandi 为什么会这样?我没有看到任何关于 basename 究竟做了什么的解释,$(basename) 给人的印象是它是命令,但显然不是。
  • @pborenstein,我不知道这是在哪里记录的。我刚试过。逻辑是$(basename) 是不带扩展名的文件名。 file.js.map的扩展名是.map,所以它的基名是file.js
【解决方案2】:

如果您只想更改此项目的设置,请执行以下操作:

文件 > 将工作区另存为 > ...输入您的{项目名称}

然后打开文件:{project name}.code-workspace 并更新部分settings

示例:

{
    "folders": [
        {
            "path": "."
        }
    ],
    "settings": {
        "files.exclude": {
            "**/*.log": true
        }
    }
}

【讨论】:

  • 使用这个解决方案,是否意味着当打开一个文件夹进行编辑(即项目)时,我需要手动执行“打开工作区”操作然后选择{project name}.code-workspace 文件?
  • @lordhog,仅当文件尚未创建时
  • @settings 部分可以位于每个文件夹的级别吗?
  • @AlexGordon,以防万一,您从 VSCode 打开该文件夹,否则将被忽略。
【解决方案3】:

“将焦点放在文件资源管理器上,开始键入要匹配的文件名的一部分。您将在文件资源管理器的右上角看到一个过滤器框,显示您迄今为止键入的内容和匹配的文件名将突出显示。”

“将鼠标悬停在过滤器框上并选择启用类型过滤器将仅显示匹配的文件/文件夹。”

文档:https://code.visualstudio.com/docs/getstarted/userinterface#_filtering-the-document-tree

【讨论】:

  • 这看起来可能很棒,但是如果文件夹没有展开,那么我测试时它们就不会包含在内。
【解决方案4】:

虽然给出了这个问题的答案,但我还是被绊倒了。所以我只好给图片了

第 1 步

点击资源管理器窗口。这很关键,因为如果不关注 Explorer,它将无法正常工作。

第 2 步

开始输入您要过滤的名称。奇怪的是没有文本框可以接受输入,但是……信仰和类型的飞跃。您将在棕色背景的右上角看到您键入的文本。现在将鼠标悬停在该文本上。

第 3 步

点击3条堆叠线进行过滤..

它们看起来像汉堡菜单,但实际上不是。他们在说它是否被过滤。它们在过滤和突出显示之间切换。所以,确保它们像倒金字塔。

就是这样。现在应该过滤掉它。

【讨论】:

  • 如何通过结尾过滤?我只想查看 .tex 文件,但该目录还包含以 .synctex.gz 结尾的文件。这些由 .tex 匹配,因为匹配的字母甚至不必在文件名中连续。我该如何完善它?
  • @user313032,我认为没有办法避免这种情况。即使字符分开,它也只会匹配字符。这是官方文档。 code.visualstudio.com/docs/getstarted/userinterface#_explorer
猜你喜欢
  • 2017-01-28
  • 2021-05-09
  • 2018-09-11
  • 2016-11-23
  • 2021-09-05
  • 2018-09-25
  • 2019-01-03
  • 2018-05-18
  • 2018-03-28
相关资源
最近更新 更多