Visual Studio Code 1.11.1을 사용하고 있습니다. 다음 코드를Visual Studio 코드 JavaScript 개체 속성에서 Intellisense가 작동하지 않습니다.
는 인텔리는 캔버스 변수 유형 HTMLCanvasElement의 것을 이해하고 올바르게 작동 :
사실var canvas = document.getElementsByTagName('canvas')[0];
, 나는 점 그 다음에 그 변수의 이름을 쓸 때 HTMLCanvasElement의 모든 속성과 메서드를 보여줍니다.
그러나, 나는 (네임 스페이스 역할) 객체의 내부에 그 변수를 래핑하는 다음 코드를 사용하여, 인텔리 변수 유형 의 HTMLCanvasElement 것을 더 이상 이해하지 않습니다
// create a namespace "App"
var App;
App = {};
App.canvas = document.getElementsByTagName('canvas');
"App.canvas"다음에 점 문자가 표시되면 Intellisense는 HTMLCanvasElement의 모든 속성과 메서드를 표시하지 않습니다. 실제로 의 App.canvas은 모두으로 간주됩니다.
는 다음 코드에서와 같은 @type 주석을 사용하는 것도 시도했지만, 결과는 동일합니다
// create a namespace "App"
var App;
App = {};
/** @type {HTMLCanvasElement} */
App.canvas = document.getElementsByTagName('canvas')[0];
이 가능 인텔리이의 속성에 대한 변수 유형을 이해하는 것입니다 개체 (예 : App.canvas)?
감사를 인텔리 개선에 당신은 당신의 대답에 대해 대단히 감사합니다! 해결 방법은 완벽하게 작동했습니다. 이 문제를 해결하기 위해 노력하고 있음을 알고 있습니다. 어쨌든, Visual Studio 코드는 JavaScript로 작업 할 수있는 훌륭한 경량 코드 편집기이므로 좋은 작업을 계속하십시오! :) – user1945293