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

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


当前回答

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

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

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

其他回答

当你使用TypeScript时,你通常不希望在资源管理器或搜索结果中看到生成的JavaScript文件。VS Code通过文件提供过滤功能。排除设置(文件>首选项>工作区设置),您可以轻松地创建一个表达式来隐藏这些派生文件:

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

类似地,通过以下方法隐藏生成的.map文件:

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

所以你会得到这样的构型:

settings.json

// Place your settings in this file to overwrite default and user settings.
{
    "files.exclude": {
        "**/*.js": { "when": "$(basename).ts"},
        "**/*.js.map": { "when": "$(basename)"}
    }
}

链接:https://code.visualstudio.com/docs/languages/typescript # _hiding-derived-javascript-files

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

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

将这些设置添加到您的设置中。Json在你的。vscode文件夹

// Place your settings in this file to overwrite default and user settings.
{
    "files.exclude" :{
    "**/.git":true,
    "**/.DS_Store":true,
    "**/*.map":true,
    "**/app/**/*.js":true

    }
}

如果设置。单击文件—>首选项—>工作空间设置。

约翰爸爸的推特链接说使用以下方法:

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

在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的要求。演示:

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