Як повідомити автозаповнення 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.