2017-02-10 109 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看你如何實現這一點。