我正在从事一个涉及WebGL的项目,并使用WebStorm进行开发。
开发流程中的一个问题是WebStorm无法自动完成与WebGL相关的事情。特别是如果我将值注释为类型WebGLRenderingContext
/** @type {!WebGLRenderingContext} */
var gl;
WebStorm抱怨WebGLRenderingContext是一个未解决的变量。它还抱怨on上方法的用法gl
,警告它找不到这些方法,因此它们可能不存在。
我当前的解决方法(除了关闭警告)是指定记录类型,如下所示:
* @type {{
* texParameteri: function,
* TEXTURE_WRAP_T: *,
* ...
* }}
var gl;
但是,每次我要使用渲染上下文时,像这样亲自列出数十个标准化成员显然很傻。有没有更简单的方法?
为什么傻呢?WebStorm识别的内容不是以相同的方式注释的吗?您应该在IDE附带的注释旁边添加自己的注释。
—
2015年
@嘿,在这种情况下是愚蠢的,因为我做的效率低下且多余。该信息已经存在于某个地方,并且更详细(例如,请注意,我不包括签名或每个参数的文档)。有人已经列出了清单,所以我也列出清单很愚蠢。
—
Craig Gidney'2
因此,您实际上是在问其他人已经写过的注释在哪里,或者是什么?
—
2015年
@嘿,那是可以接受的。这就是某些库(在源中带有注释)的工作方式。webgl内置在浏览器中的事实使情况有些不同,因为文档没有自然的外部环境。
—
Craig Gidney'2
不过,它们可能确实有一个居住的地方(WebStorm保留其余内置内容的注释的位置)。真正有用的是将IDL转换为JS注释的事情。我不知道是否存在类似的东西。
—
2015年