Я работаю над проектом с участием WebGL и использую WebStorm для разработки.
Одна из проблем, связанных с процессом разработки, заключается в том, что WebStorm не может автоматически завершать действия, связанные с WebGL. В частности, если я аннотирую значение как имеющее типWebGLRenderingContext
/** @type {!WebGLRenderingContext} */
var gl;
WebStorm жалуется, что WebGLRenderingContext является неразрешенной переменной. Также он жалуется на использование методов gl
, предупреждая, что он не может найти эти методы, поэтому они могут не существовать.
Мой текущий обходной путь (помимо простого отключения предупреждений) - указать тип записи следующим образом:
* @type {{
* texParameteri: function,
* TEXTURE_WRAP_T: *,
* ...
* }}
var gl;
Но, очевидно, немного глупо лично перечислять десятки и десятки стандартизированных членов, подобных этому, каждый раз, когда я хочу использовать контекст рендеринга. Есть ли более простой способ?
Ответы:
Вам нужно сообщить WebStorm об API WebGL. Просто включите библиотеку WebGL в настройках | Языки и рамки | JavaScript | Библиотеки.
Это создаст / изменит файл
.idea/jsLibraryMappings.xml
Смотрите: http://blog.jetbrains.com/webstorm/2014/07/how-webstorm-works-completion-for-javascript-libraries/
источник