Як повідомити автозаповнення WebStorm про WebGLRenderingContext


9

Я працюю над проектом, що включає WebGL, і використовую WebStorm для розробки.

Одна з проблем потоку розробки полягає в тому, що WebStorm не в змозі автозавершити речі, пов’язані з WebGL. Зокрема, якщо я коментую значення як типWebGLRenderingContext

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

WebStorm скаржиться, що WebGLRenderingContext є невирішеною змінною. Крім того, він скаржиться на використання методів gl, попереджаючи, що він не може знайти ці методи, щоб вони не існували.

Моє поточне вирішення (окрім просто відключення попереджень) полягає в тому, щоб вказати такий тип запису, як:

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

Але очевидно, що це щось нерозумно особисто перелічувати десятки і десятки стандартизованих членів, як це кожен раз, коли я хочу використовувати контекст візуалізації. Чи є простіший спосіб?


Чому це нерозумно? Чи не те, що WebStorm розпізнає, позначається однаково? Вам слід додати власні примітки поряд з тими, які постачаються разом із IDE.
Гей,

@Hey У цьому випадку нерозумно, тому що я роблю це неефективно і надмірно. Ця інформація вже є десь і набагато детальніше (наприклад, зауважте, що я не включаю підписи чи документи на параметри). Хтось уже зробив лістинг, тож мені нерозумно також зробити список.
Крейг Гідні

Тож ви справді запитуєте, де знайти анотації, які хтось уже написав, чи що?
Гей,

@Hey Це було б прийнятно. Ось так це працює для деяких бібліотек (із примітками, що знаходяться у джерелі). Той факт, що webgl вбудований у браузери, робить його дещо іншим випадком, оскільки документи не мають природного зовнішнього місця для проживання.
Крейг Гідні

Вони, мабуть, мають де жити (де б WebStorm не зберігав примітки до решти вбудованих матеріалів). Що дійсно може бути корисним, це перетворити IDL в анотації JS. Я не знаю, чи існує щось подібне.
Гей,

Відповіді:


10

вам потрібно повідомити WebStorm про API WebGL. Просто ввімкніть бібліотеку 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/

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.