强制NetBeans为假定特定类型的JavaScript变量提供代码完成

rhi*_*ino 3 javascript ide netbeans code-completion

我正在使用NetBeans,特别是HTML5和PHP包.目前我正在开发一款利用HTML5 canvas元素的游戏.我有一个全局变量叫context:

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

显然,IDE不知道什么类型context,因为它无法找到第一个类型,canvas并且它不可能知道getContext()在调用时将返回什么canvas.我希望NetBeans提供代码完成功能,以context假设它代表一个特定的类型(即CanvasRenderingContext2D).做了一些研究后我发现了这个:https://blogs.oracle.com/netbeansphp/entry/defining_variable_type_in_a.该站点指出,通过提供如下所示的PHPDoc注释,可以在PHP中使用此类功能:/* @var $variable type */.我知道它涉及PHP,但我决定尝试使用JavaScript:

/* @var context CanvasRenderingContext2D */
Run Code Online (Sandbox Code Playgroud)

不幸的是,上述方法无效.我认为,由于某些原因,NetBeans可能不知道该类型并尝试了更简单的方法:

/* @var test HTMLImageElement */
Run Code Online (Sandbox Code Playgroud)

同样,test除了所有JavaScript对象的原生代码之外,没有任何提议.

那么,这甚至可能吗?如果有人提供了解决方案,我将不胜感激.提前致谢!

lad*_*dar 5

JavaScript使用JSDoc,而不是PHPDoc,因此您需要使用

/** @type HTMLImageElement */
var myImage;
Run Code Online (Sandbox Code Playgroud)