【问题标题】:Why does vscode source code contains vscode.d.ts file which is written manually?为什么 vscode 源代码包含手动编写的 vscode.d.ts 文件?
【发布时间】:2020-10-29 16:40:40
【问题描述】:

手动编写 .d.ts 文件通常只有在处理已经存在的 .js 文件时才有意义。如果您的项目是用 TypeScript 编写的,则不应手动编写 .d.ts - 带有 --declaration 选项的编译器会生成它们。

this 问题中,我提到了文件https://github.com/microsoft/vscode/blob/master/src/vs/vscode.d.ts 作为手动编写.d.ts 文件的示例。该项目在 TypeScript 中完全实现。那么,为什么 vscode 开发团队决定使用这种不寻常的方式来进行 API 声明,而不是从源代码生成呢?

【问题讨论】:

    标签: typescript visual-studio-code architecture


    【解决方案1】:

    那是因为他们想定义接口vscode.d.ts,与实现分开。你可以在这里找到vscode 模块的实现:

    https://github.com/microsoft/vscode/blob/b449c95a8460443ee6bf985bb6c8db63d395e6e6/src/vs/workbench/api/common/extHost.api.impl.ts#L1065

    如果他们没有实现接口中定义的东西,编译就会失败。您可以尝试删除属性version

    【讨论】:

      猜你喜欢
      • 2018-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-01
      • 2013-10-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多