Cómo informar el autocompletado de WebStorm sobre WebGLRenderingContext


9

Estoy trabajando en un proyecto que involucra WebGL y uso WebStorm para hacer el desarrollo.

Un problema con el flujo de desarrollo es que WebStorm no puede completar automáticamente cosas relacionadas con WebGL. En particular, si anoto un valor como de tipoWebGLRenderingContext

/** @type {!WebGLRenderingContext} */
var gl;

WebStorm se queja de que WebGLRenderingContext es una variable no resuelta. También se queja sobre el uso de métodos en gl, advirtiendo que no puede encontrar esos métodos, por lo que pueden no existir.

Mi solución actual (además de desactivar las advertencias) es especificar un tipo de registro como este:

 * @type {{
 *   texParameteri: function,
 *   TEXTURE_WRAP_T: *,
 *   ...
 * }}
 var gl;

Pero obviamente es un poco tonto enumerar personalmente docenas y docenas de miembros estandarizados como este cada vez que quiero usar un contexto de representación. hay una manera mas facil?


¿Por qué es tonto? ¿No son las cosas que WebStorm reconoce anotadas de la misma manera? Debería agregar sus propias anotaciones junto con las que se envían con el IDE.
Hola,

@ Hey, es una tontería en este caso porque lo estoy haciendo de manera ineficiente y redundante. Esa información ya está disponible en algún lugar y con mucho más detalle (por ejemplo, tenga en cuenta que no incluyo firmas o documentos por parámetro). Alguien ya ha hecho el listado, así que es una tontería para mí también hacer el listado.
Craig Gidney

Entonces, ¿realmente estás preguntando dónde encontrar anotaciones que otra persona ya haya escrito, o qué?
Hola,

@Hey Eso sería aceptable. Así es como funciona para algunas bibliotecas (con anotaciones en la fuente). El hecho de que webgl esté integrado en los navegadores lo convierte en un caso un poco diferente, ya que los documentos no tienen un lugar externo natural para vivir.
Craig Gidney

Sin embargo, es probable que tengan un lugar para vivir (donde sea que WebStorm guarde las anotaciones para el resto de las cosas integradas). Lo que realmente podría ser útil es convertir las anotaciones IDL a JS. No sé si existe algo así.
Hola,

Respuestas:


10

debe informar a WebStorm sobre la API de WebGL. Simplemente habilite la biblioteca WebGL en Configuración | Idiomas y marcos | JavaScript | Bibliotecas

Creará / modificará el archivo .idea/jsLibraryMappings.xml

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

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

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.