Bagaimana cara menginformasikan autocomplete WebStorm tentang WebGLRenderingContext


9

Saya sedang mengerjakan proyek yang melibatkan WebGL, dan menggunakan WebStorm untuk melakukan pengembangan.

Salah satu masalah dengan aliran pengembangan adalah bahwa WebStorm tidak dapat melengkapi secara otomatis hal-hal yang berkaitan dengan WebGL. Khususnya, jika saya memberi anotasi nilai sebagai tipeWebGLRenderingContext

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

WebStorm mengeluh bahwa WebGLRenderingContext adalah variabel yang tidak terselesaikan. Juga mengeluh tentang penggunaan metode gl, memperingatkan bahwa ia tidak dapat menemukan metode tersebut sehingga mereka mungkin tidak ada.

Solusi saya saat ini (selain hanya mematikan peringatan) adalah untuk menentukan jenis catatan seperti:

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

Tapi jelas itu agak konyol untuk secara pribadi mendaftar lusinan anggota standar seperti ini setiap kali saya ingin menggunakan konteks rendering. Apakah ada cara yang lebih mudah?


Mengapa ini konyol? Bukankah hal-hal yang diakui WebStorm beranotasi dengan cara yang sama? Anda harus menambahkan anotasi Anda sendiri bersama dengan yang dikirimkan dengan IDE.
Hei

@Hey Ini konyol dalam hal ini karena saya melakukannya dengan tidak efisien dan berlebihan. Informasi itu sudah ada di suatu tempat, dan jauh lebih detail (mis. Pemberitahuan saya tidak termasuk tanda tangan atau dokumen per-parameter). Seseorang telah melakukan listing, jadi konyol bagi saya untuk juga melakukan listing.
Craig Gidney

Jadi, Anda benar-benar bertanya di mana menemukan anotasi yang sudah ditulis orang lain, atau apa?
Hei

@ Hei, itu bisa diterima. Begitulah cara kerjanya untuk beberapa perpustakaan (dengan anotasi menjadi sumber). Fakta bahwa webgl dibangun untuk browser membuatnya sedikit berbeda, di mana dokumen tidak memiliki tempat eksternal alami untuk hidup.
Craig Gidney

Mereka mungkin memang memiliki tempat tinggal, (di mana pun WebStorm menyimpan anotasi untuk sisa barang bawaan). Apa yang mungkin benar-benar berguna adalah hal untuk mengubah anotasi IDL ke JS. Saya tidak tahu apakah ada yang seperti itu.
Hei

Jawaban:


10

Anda perlu memberi tahu WebStorm tentang WebGL API. Cukup aktifkan pustaka WebGL di Pengaturan | Bahasa & Kerangka Kerja | JavaScript | Perpustakaan.

Ini akan membuat / memodifikasi file .idea/jsLibraryMappings.xml

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

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

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.