Visual Studio Code中的HTML5 canvas intellisense

gre*_*pos 8 visual-studio-code

有没有办法获得HTML5 canvas元素的intellisense?在VS Code 0.7.10中,当我在我的JS代码中编写时:

context = document.getElementById(canvasId).getContext('2d');
Run Code Online (Sandbox Code Playgroud)

然后当我写

context. 
Run Code Online (Sandbox Code Playgroud)

对于我的上下文,我没有任何intellisense帮助.

谢谢.

Jer*_* Su 9

VS Code可以支持它!

只要告诉VS Code什么是类型context。在变量上添加以下代码,VS代码将知道它是什么。抱歉,我没有足够的积分来发布图片。只需单击solution以查看其工作原理。

/** @type {CanvasRenderingContext2D} */


Joh*_*ken 8

目前VS Code不支持,很难修复.由于JavaScript缺少类型注释,因此VS代码尝试尽可能好地传递类型.在你的例子中document.getElementById打破了这个流程,因为从规范中它可以返回任何html元素(我们对html结构或值没有进一步的了解canvasId).

像这样的东西,对VS代码更有利:

var canvas = document.createElement('canvas'); canvas.|

或者,您可以考虑使用TypeScript,因为您使用类型注释和类型转换.


AFD*_*AFD 7

我使用“类型转换”:

var canvas = /** @type {HTMLCanvasElement} */ (document.querySelector('#canvas'))
Run Code Online (Sandbox Code Playgroud)

然后享受基本的智能感知:

在此处输入图片说明