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

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


当前回答

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

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

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

其他回答

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

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

来自官方文件:

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

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

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

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

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

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

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

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

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