【问题标题】:VS Code explorer: Hide the generated .d.ts files onlyVS 代码资源管理器:仅隐藏生成的 .d.ts 文件
【发布时间】:2022-01-18 00:07:12
【问题描述】:

在 VS Code Explorer 中,我想隐藏 TypeScript 编译过程中生成的文件。

当有my-file.ts时,生成的文件可以是:

  1. my-file.js
  2. my-file.js.map
  3. my-file.d.ts

隐藏前两个很简单,我在 VS Code 的 settings.json 中需要这个:

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

但是第三个呢?我试过这个,但它隐藏了所有.d.ts 文件,甚至是不是从.ts 文件生成的独立文件。

{
    "files.exclude": {
        "**/*.d.ts": { "when": "$(basename).ts", "__MY_PROBLEM": "It hides all .d.ts files" }
    }
}

有什么建议只隐藏从同名的.ts 文件生成的.d.ts 文件吗?

【问题讨论】:

    标签: typescript visual-studio-code


    【解决方案1】:

    有关从 v1.64 开始“隐藏”生成文件的另一个方法,请参阅 https://stackoverflow.com/a/70748584/836330

    Explorer > Experimental > File Nesting: Patterns 设置如下:

    *.ts $(capture).js, $(capture).js.map, $(capture).d.ts


    我认为不可能隐藏与*.ts 文件关联的*.d.ts 文件。

    查看https://github.com/microsoft/vscode/issues/4642,有人报告说这是可行的:

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

    隐藏*.js.map 文件但我无法获取

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

    做任何事。也许你会有更好的运气。

    另见https://github.com/microsoft/vscode/issues/59368不成功。

    还有https://github.com/microsoft/vscode/issues/40850 谈到所有.d.ts 文件都被排除在外的事实。关闭为“超出范围”。但你可以投票。

    【讨论】:

      【解决方案2】:

      我在 vs code 上使用 Explorer Exclude 插件。它负责处理 .d.ts 文件、.d.ts.map 文件以及您要添加的任何其他文件。

      【讨论】:

        【解决方案3】:

        您可以使用declaration:falseemit them into a separate directory 关闭.d.ts 发射:

        // tsconfig.json 
        "compilerOptions": {
          "declaration": true,
          "declarationDir": "./types"  // configure the root directory for where declaration files are emitted
        

        【讨论】:

        • 谢谢,这些可能与某些人有关,但在这种情况下无关。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-12-22
        • 1970-01-01
        • 2010-10-20
        • 2016-10-15
        • 1970-01-01
        • 2018-02-04
        相关资源
        最近更新 更多