为VSCode / Monaco Intellisence添加JavaScript类型提示

有没有办法暗示VSCode / Monaco的intellisense变量的类型.

我有一些像这样的代码

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

我看到VSCode知道loc是一个URL

为VSCode / Monaco Intellisence添加JavaScript类型提示

但它不知道gl是什么

为VSCode / Monaco Intellisence添加JavaScript类型提示

它也不知道ctx是什么

为VSCode / Monaco Intellisence添加JavaScript类型提示

这是有道理的,让函数根据其输入返回不同的类型是一个有点不寻常的情况.

但它确实有WebGLRenderingContext的类型数据

为VSCode / Monaco Intellisence添加JavaScript类型提示

它知道CanvasRenderingContext2D

为VSCode / Monaco Intellisence添加JavaScript类型提示

有没有办法让我告诉vscode / monaco gl是WebGLRenderingContext的一个实例,ctx是CanvasRenderingContext2D的一个实例,而不必切换到typescript?也许通过添加某种评论?

我需要解决方案在monaco中工作(至少在我的测试中显示所有相同的完成),因为这是针对WebGL教程站点,实际上不是VSCode,但我希望解决方案是相同的.

解决方法:

更新:从摩纳哥的0.9.0开始,这些类型的注释现在可以使用了

看到JSDoc style type annotations在VSCode中工作,虽然它们似乎不适用于摩纳哥.

var loc = window.location;

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

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

为VSCode / Monaco Intellisence添加JavaScript类型提示

为VSCode / Monaco Intellisence添加JavaScript类型提示

上一篇:C#-自定义Intellisense自动完成


下一篇:验分享:CSS浮动(float,clear)通俗讲解