如何通知WebStorm自动完成有关WebGLRenderingContext的信息


9

我正在从事一个涉及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年

Answers:


10

您需要让WebStorm知道WebGL API。只需在“设置” |“启用”中启用WebGL库即可。语言和框架| JavaScript | 图书馆。

它将创建/修改文件 .idea/jsLibraryMappings.xml

<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="JavaScriptLibraryMappings">
    <includedPredefinedLibrary name="WebGL" />
  </component>
</project>

请参阅:http : //blog.jetbrains.com/webstorm/2014/07/how-webstorm-works-completion-for-javascript-libraries/

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.