2017-02-10 32 views
0

JavaScriptを使用してVSCode拡張を作成し、特定の署名を必要とするがTypeScriptで説明されているカスタムTextDocumentContentProviderを構築しています。 onDidChangeのメンバーはEvent<Uri>のタイプでなければなりません。もちろん、の汎用品を使用してください。 TextDocumentContentProviderに関するドキュメントは、ここにあります:https://code.visualstudio.com/Docs/extensionAPI/vscode-api#_a-nametextdocumentcontentprovideraspan-classcodeitem-id436textdocumentcontentproviderspanvscode拡張子のvanilla javascriptのtypescript genericsを使用します。

もちろん、 "バニラ" JavaScriptでは、ジェネリックのようなものはありません。 TypeScriptで説明されている正しいシグネチャを満たすためにJavaScriptで返すべき正しいことは何ですか?

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あなたはそれを実装する方法を確認するためにJSにTSコードを変換する:

これは、これまでのところ、私の実装です。