我正在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"}

其他回答

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

{
    "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"}
    }
}

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

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

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

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