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

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


当前回答

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

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

其他回答

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

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

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

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

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

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

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

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

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

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

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

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