2017-02-10 75 views
0

我使用JavaScript创建VSCode扩展,并构建自定义TextDocumentContentProvider需要有特定的签名,但在TypeScript中描述。它的onDidChange成员必须为Event<Uri>,这当然使用仿制药。关于TextDocumentContentProvider的文档可以在这里找到:https://code.visualstudio.com/Docs/extensionAPI/vscode-api#_a-nametextdocumentcontentprovideraspan-classcodeitem-id436textdocumentcontentproviderspan使用来自香草的打字稿泛型javascript vscode扩展

当然,在“香草”JavaScript中,没有像泛型那样的东西。在JavaScript中返回正确的东西以符合TypeScript中描述的正确签名是什么?

这是我的执行至今:

function PostWindow() { 
    this.onDidChange = ????; 

    this.provideTextDocumentContent = function(uri) { 
     return "test content"; 
    } 
} 

exports.PostWindow = PostWindow; 
+0

您可以在使用此API的TS中编写一些演示代码,并查看由此生成的TSC。 –

+0

感谢@MikeLischke,工作。我使用了一个可用的TS示例,并查看了vscode编译的输出JS。我创建了这样的东西,它的工作很好:https://gist.github.com/kindohm/83070f1a6f8e0055937a2a40c158fef5 – kindohm

+0

我想我可以发表我的评论作为答案然后:-) –

回答

1

使用TSC到TS代码转换为JS看你如何实现这一点。