我正在Visual Studio代码中的typescript项目中工作,并想隐藏.js。映射(甚至可能是.js)文件,使其不出现在文件资源管理器中。

是否可以在文件资源管理器中只显示.ts文件?


当前回答

当.map和.js文件与对应的.ts文件匹配时,隐藏它们可能会更好。 你可以通过在VS用户设置(首选项>用户设置)中复制以下行来做到这一点:

// Workspace settings
"files.exclude": {
        "**/*.js":  {"when": "$(basename).ts"},
        "**/*.map": true
 }

其他回答

在你的设置中(用户或工作区)有一个设置,你可以调整隐藏任何你想要的东西:

{
    "files.exclude": {
        "**/.git": true,
        "**/.DS_Store": true
    }
}

因此,您可以添加以下内容来隐藏.js和.js。映射文件

"**/*.js": true,
"**/*.js.map": true

正如另一个答案所解释的那样,大多数人可能只在有匹配的.ts文件时才想隐藏.js文件。

所以不要这样做:

"**/*.js": true

你可能想做的是:

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

我真的不知道这是如何实现的,但隐藏.js文件工作:

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

用于隐藏.js。地图文件工作:

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

请在“用户设置”面板中添加以下行,以覆盖“默认设置”。你可以隐藏文件{basename}.js和{basename}.js。在创建文件{basename}.ts时映射。

"files.exclude": {
        "**/*.js": {
            "when": "$(basename).ts"
        },
        "**/*.js.map": {
            "when": "$(basename)"
        }        
    }

目前还没有基于两种不同条件排除文件glob的正式解决方案。请看这一期。

但是有一个变通方法,定义两个不同的glob模式,它们针对相同的文件:

{
    "files.exclude": {
        "**/*.js": { "when": "$(basename).ts"},
        "**/*?.js": { "when": "$(basename).tsx"}
    }
}

在v1.67中(参见https://github.com/microsoft/vscode-docs/blob/vnext/release-notes/v1_67.md):

浏览器文件嵌套

资源管理器现在支持基于名称嵌套相关文件。有几个设置来控制这种行为:

enabled:控制文件嵌套是否大规模启用。它可以全局设置,也可以为特定的工作空间设置。 expand:控制默认情况下嵌套文件是否展开。 patterns:控制文件如何嵌套。默认配置为TypeScript和JavaScript项目提供嵌套智能,但鼓励您修改它以适应您自己的项目结构。一些例子:

默认配置:

在索引下嵌套。当一个文件与目录的名称("index. txt ")匹配时,则为Ts。ts”:“${目录名}.ts”):

嵌套与不同文件同名但添加了段("*":"${basename}.*.${dirname}")的文件:

Those following closely my recall this has been an experimental setting for several iterations. The behavior now is mostly unchanged, with the expeption of file operations. The experimental setting explorer.experimental.fileNesting.operateAsGroup has been removed in favor of treating nests as a group when collapsed, but as single entities otherwise. This means that if you want to copy, cut, drag, or delete an entire nested stack of files, you can collapse the nest then operate on it as a single entity. When non collapsed, selections will behave as normal.


之前的回答:

在Insiders Build v1.64中有一个新的,目前处于试验阶段的特性,叫做文件嵌套,虽然它不会隐藏自动生成的文件,但是如果你愿意,它会将它们嵌套在生成相关文件的父文件下,使其处于折叠状态。如果可能的话,你应该现在就在内部构建中测试你的案例。

因此,通过对文件嵌套:模式的修改:

”*。Ts”:“$(capture).js, $(capture).d。ts, $(捕捉). js。你可以很容易地实现OP的要求。演示:

文件嵌套将不会隐藏那些嵌套文件的搜索。