2017-01-10 92 views
0

有沒有什麼辦法讓VSCode將JavaScript類的成員函數中的this關鍵字解釋爲所述類的實例,從而提供了intellisense for它是其他成員和屬性?VSCode中JavaScript的Intellisense無法識別類中的類型

我知道當函數被調用時並不一定是這種情況,因爲它不會自動綁定到實例,但大多數情況下(至少在我的經驗中)是可取的行爲,所以它假設this對象的類型是一個自我引用,不會受到傷害。

更新:經過一段時間和猜測後,我認爲我已經找到了問題,實際上它不是在Visual Studio Code中,而是在我寫的類中。您可以找到我的解決方案作爲答案。

回答

0

不知何故,等待一段時間後(我輸入問題,然後檢查VSCode)方法開始顯示,並在看了我的其他項目之一後,我意識到我寫在那裏的類有它們的屬性也顯示出來。經過一些試驗和錯誤後,我得出的結論是,屬性只有在構造函數中聲明時才顯示出來,所以我原來的問題的原因是我有一個單獨的初始化方法,它爲對象分配了一些額外的屬性。

解決方案:如果以後需要分配一些特性,即不能在運行(例如,因爲在我的情況下異步承諾)構造函數的時候所知的值,只是分配undefined他們,VSCode會拿起它!

+1

請注意,如果您使用get/set定義屬性,它們將顯示在您的Intellisense中,無論您是否在構造函數中定義它們。 –

+0

感謝您的解決方案!這比分配'未定義'要乾淨得多。儘管我認爲這對我來說可能有點矯枉過正。 – Isti115