21

変数のタイプを VSCode/Monaco のインテリセンスにヒントする方法はありますか。

このようなコードがあります

var loc = window.location;
var gl = context1.getContext("webgl");
var ctx = context2.getContext("2d");

VSCode はそれlocURL

vscodeは場所を知っています

glしかし、それは何であるかを知りません

vscodeはglを知りません

また、それが何でctxあるかを知りません

vscode は ctx を認識していません

関数がその入力に基づいて異なる型を返すようにすることは、やや珍しいケースです。

しかし、それには型データがありますWebGLRenderingContext

vscode は webglrenderingcontext を知っています

そしてそれは知っているCanvasRenderingContext2D

vscode は canvasrenderingcontext2d を知っています

タイプスクリプトに切り替えることなく、vscode/monacoglが のインスタンスでWebGLRenderingContextあり、それctxが のインスタンスであることを伝える方法はありますか? CanvasRenderingContext2Dたぶん、ある種のコメントを追加することによって?

これは WebGL チュートリアル サイト用であり、実際にはVSCode用ではありませんが、ソリューションが同じであることを願っています。

4

3 に答える 3

36

更新: Monaco の 0.9.0 以降、これらの型注釈が機能するようになりました


Monaco では機能していないように見えますが、VSCode では JSDoc スタイルの型注釈が機能することがわかります

var loc = window.location;

/** @type {WebGLRenderingContext} */
var gl = context1.getContext("webgl");    

/** @type {CanvasRenderingContext2D} */
var ctx = context2.getContext("2d"); 

ここに画像の説明を入力

ここに画像の説明を入力

于 2016-09-26T03:58:05.613 に答える
0

Typescript を使用する場合は、次のようにします。

var gl : WebGLRenderingContext;

ここに画像の説明を入力

于 2017-01-11T04:25:18.763 に答える