Visual Studio'的Javascript智能感知可以在'this'关键字

Can Visual Studio's Javascript Intellisense be given a hint on the 'this' keyword?

本文关键字:this 关键字 Javascript Studio Visual 智能 感知      更新时间:2023-09-26

我正在使用Phaser框架在Visual Studio (2015, Community)中创建一个游戏。

虽然我可以成功地获得智能感知较小的项目,那不是面向对象的,当我尝试切换到面向对象的JavaScript,我失去了智能感知。

boot.js

/// <reference path="../lib/phaser-2.4.4.js" />
var BasicGame = {
};
BasicGame.Boot = function (game) {
    // This gives me Intellisense as expected:
    game.input.maxPointers = 1;
};
BasicGame.Boot.prototype = {
    init: function () {
    },
    preload: function () {
    },
    create: function () {
        // This is valid, but I don't get Intellisense.
        // Can I help VS understand what type 'this' is?
        this.state.start('Preloader');
    }
};

我可以,在某种程度上,协助Visual Studio (2015/Code/更高),以便它理解什么类型的"this"关键字是,在创建方法的情况下?

其他相关文件,对于那些不熟悉Phaser框架OO模板的人:

index . html

<!DOCTYPE html>
<html>
<head>
    <title>HTML5 Shoot 'em Up in an Afternoon</title>
    <meta charset="utf-8" />
    <link rel="shortcut icon" href="favicon.ico" />
    <style type="text/css">
        body {
            background: #333;
            margin: 0;
        }
    </style>
    <script src="lib/phaser-2.4.4.min.js"></script>
    <script src="src/boot.js"></script>
    <script src="src/preloader.js"></script>
    <script src="src/mainMenu.js"></script>
    <script src="src/game.js"></script>
    <script src="src/app.js"></script>
</head>
<body>
    <div id="gameContainer"></div>
</body>
</html>

preloader.js, mainMenu.js和game.js被排除在外。它们包含的设置与上面的boot.js非常相似。

app.js

window.onload = function () {
    var game = new Phaser.Game(800, 600, Phaser.AUTO, 'gameContainer');
    game.state.add('Boot', BasicGame.Boot);
    game.state.add('Preloader', BasicGame.Preloader);
    game.state.add('MainMenu', BasicGame.MainMenu);
    game.state.add('Game', BasicGame.Game);
    game.state.start('Boot');
};

值得,我决定在一个月前开始看发展打印稿代替香草JavaScript。

这导致了我想要的智能感知,并且以一种对我来说更有效的方式编程。

感谢Claies对我的问题的评论,当我看到我可以学习TypeScript并从框架中得到我想要的东西时,他让我更容易接受。

保持问题的开放,以防最终有办法做最初问的事情。