2017-01-10 16 views
0

Есть ли способ сделать VSCode интерпретировать ключевое слово this внутри функции-члена класса JavaScript в качестве экземпляра указанного класса, таким образом обеспечивая intellisense для это другие члены и свойства?Intellisense для JavaScript в VSCode не распознает тип этого внутри класса

Я знаю, что это не обязательно, когда функция вызывается, потому что она не привязана автоматически к экземпляру, но большую часть времени (по крайней мере, в моем опыте) является желательным поведением, поэтому не помешает предположить, что тип объекта this является самоналожением.

Обновление: После некоторого времени и догадок, я думаю, что я выяснил проблему, на самом деле это было не в коде Visual Studio, а в классе, который я написал. Вы можете найти мое решение в качестве ответа.

ответ

0

Как-то после некоторого времени ожидания (я набрал вопрос, а затем вернул обратно на VSCode) методы начали появляться, и после изучения одного из моих других проектов я понял, что классы, которые я там написал, имеют свои свойства также появляется. После некоторых проб и ошибок я пришел к выводу, что свойства появляются только в том случае, если они объявлены в конструкторе, поэтому причиной моей первоначальной проблемы было то, что у меня был отдельный метод инициализации, который назначил некоторые дополнительные атрибуты объекту.

Решение: Если вам нужно присвоить некоторые свойства позже, что значения не могут быть известны в то время конструктора работает (например, из-за асинхронной обещания в моем случае), просто назначить undefined им и VSCode заберет его!

+1

Обратите внимание: если вы определяете свойства с помощью get/set, они будут отображаться в вашем Intellisense, независимо от того, определяете ли вы их в своем конструкторе или нет. –

+0

Спасибо за это решение! Это намного чище, чем присвоение 'undefined'. Хотя я думаю, что это может быть немного излишним в моем случае. – Isti115

 Смежные вопросы

  • Нет связанных вопросов^_^