Javascript /// <field type =?> Для экземпляров пользовательских объектов - PullRequest
3 голосов
/ 23 февраля 2011

Попытка привыкнуть к синтаксису комментариев JavaScript в Visual Studio. У меня есть вопрос конкретно о типе. Скажем, у меня есть пользовательский тип, такой как ...

namespace.types.User = function(_id, _name) {
    /// <field name="id" type="Number">ID of the user</field>
    /// <field name="name" type="String">Name of the user</field>
    this.id = _id;
    this.name = _name;
};

Если я захочу сослаться на этот тип в <field> позже, я сделаю что-то вроде ...

namespace.session = function() {
    /// <field name="CurrentUser" type="namespace.types.User">The current User of the session</field>
    this.CurrentUser = new namespace.types.User('foo', 'bar');
};

Однако, когда я сделаю это, Intellisense покажет мне описание того, что .CurrentUser означает , но , он не покажет никаких предложений для .id или .name. Другими словами, он действует как обычный объект без данных другого типа.

Как я могу заставить интеллект VS подобрать более подробное описание пользовательских объектов?

1 Ответ

1 голос
/ 21 марта 2011

Попробуйте добавить в xml комментарии для параметров в сигнатуре функции.

namespace.types.User = function(_id, _name) {
   /// <param name="_id" type="Number" /></param>
   /// <param name="_name" type="String" /></param>
}

Не похоже, что /// синтаксис помогает с intellisense для значений полей, он только берет intellisense из присваивания. Таким образом, поскольку он не знает тип входящих параметров, они не передаются в поля.

Можно подумать, что add /// переопределит тип intellisense для поля. Особенно, если вы когда-либо использовали IDE или инструмент, который поддерживает intellisense из комментариев кода. Но это не похоже на случай с VS 2010.

Также вы, вероятно, не хотите использовать пространство имен в качестве переменной или идентификатора, даже если это для примера или замены для реального пространства имен.

Пространство имен является зарезервированным ключевым словом для JavaScript. (хотя некоторые люди, такие как Mozilla, зарезервировали пакет).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...