2017-01-10 61 views
0

有没有什么办法让VSCode将JavaScript类的成员函数中的this关键字解释为所述类的实例,从而提供了intellisense for它是其他成员和属性?VSCode中JavaScript的Intellisense无法识别类中的类型

我知道当函数被调用时并不一定是这种情况,因为它不会自动绑定到实例,但大多数情况下(至少在我的经验中)是可取的行为,所以它假设this对象的类型是一个自我引用,不会受到伤害。

更新:经过一段时间和猜测后,我认为我已经找到了问题,实际上它不是在Visual Studio Code中,而是在我写的类中。您可以找到我的解决方案作为答案。

回答

0

不知何故,等待一段时间后(我输入问题,然后检查VSCode)方法开始显示,并在看了我的其他项目之一后,我意识到我写在那里的类有它们的属性也显示出来。经过一些试验和错误后,我得出的结论是,属性只有在构造函数中声明时才显示出来,所以我原来的问题的原因是我有一个单独的初始化方法,它为对象分配了一些额外的属性。

解决方案:如果以后需要分配一些特性,即不能在运行(例如,因为在我的情况下异步承诺)构造函数的时候所知的值,只是分配undefined他们,VSCode会拿起它!

+1

请注意,如果您使用get/set定义属性,它们将显示在您的Intellisense中,无论您是否在构造函数中定义它们。 –

+0

感谢您的解决方案!这比分配'未定义'要干净得多。尽管我认为这对我来说可能有点矫枉过正。 – Isti115