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

时间:2014-06-30 19:38:29

标签: javascript netbeans ide code-completion

我正在使用NetBeans,特别是HTML5& PHP捆绑。目前我正在开发一款利用HTML5 canvas元素的游戏。我有一个名为context的全局变量:

var canvas = document.getElementById('canvas');
var context = canvas.getContext('2d');

显然,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 */

不幸的是,上面没有用。我认为,由于某种原因,NetBeans可能不知道该类型,并尝试了更简单的方法:

/* @var test HTMLImageElement */

同样,没有test的提案,除了所有JavaScript对象的原生提案。

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

1 个答案:

答案 0 :(得分:5)

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

/** @type HTMLImageElement */
var myImage;