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

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


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

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

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

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

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

所以不要这样做:

"**/*.js": true

你可能想做的是:

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

我发现了这个,如果你有标准的JS文件,那么这些也会被隐藏,这可能并不总是你想要的。也许这样更好,因为它只隐藏与TS文件匹配的JS文件…

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

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

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

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

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

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

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

当你使用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


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

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

将这些设置添加到您的设置中。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

    }
}

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


来自官方文件:

排除从.ts和.tsx源生成的JavaScript文件 文件,使用这个表达式:

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

这是一个小技巧。搜索glob模式用作键。 上面的设置使用两种不同的glob模式来提供两个 唯一的键,但搜索仍然会匹配相同的文件。

更新10/3/2017:有了这个技巧,我们有一个问题,“在文件夹中搜索”。请看这一期


在VS Code中,进入代码(或Windows用户的文件)>首选项>工作区设置,并添加以下代码片段:

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

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

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

1. 进入首选项>设置

2. 点击“编辑设置”。json”(在图片的底部)

3.更新object json,如图所示。然后按Ctrl + S保存更改,就这样。

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


目前还没有基于两种不同条件排除文件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的要求。演示:

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