Где Visual Studio получает информацию об описании типа, используемую Intellisense?

#.net #visual-studio

Вопрос:

Откуда берутся описания типов/членов/параметров, которые вы видите в пузырьке Intellisense? Хранятся ли они в атрибутах типа?

ПРАВКА: Меня особенно интересуют встроенные типы.

Ответ №1:

Я не знаю о встроенных типах, но когда вы создаете свои собственные классы, вы можете использовать комментарии Xml для перечисления информации intellisense. Комментарии помещаются в собственный xml-файл при создании проекта, и до тех пор, пока этот файл находится в нужном месте, Visual Studio сможет его использовать. Не только это, но вы получите помощь intellisense для создания комментариев. Для C# просто добавьте дополнительный символ / в строку комментария прямо над классом, свойством или методом: ///. Для VB используйте два дополнительных символа’: «‘

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

Комментарии:

1. Я проголосовал за это, но, похоже, не получил предупреждения о компиляции. Может быть, это декорация? Я настроил Visual Studio на обработку предупреждений как ошибок, чтобы это нарушило сборку.

2. Есть один вариант. Перейдите в свойства проекта и перейдите в раздел «Сборка». Существует флажок «Файл XML-документации». Когда вы установите этот флажок, вы будете получать предупреждения для всех общедоступных методов, которые не прокомментированы.

Ответ №2:

Платформа .Net Framework предоставляет файл XML-документации для поставляемых сборок. Среда IDE считывает эти файлы документации, чтобы получить описания и подсказки для встроенных типов.

Эта документация обычно, но не всегда, хранится в подкаталоге платформы intsall point. Например, на моей машине файлы хранятся в каталоге C:windowsmicrosoft.netframeworkv2.0.50727en.

На каждую сборку, поставляемую в рамках, приходится один XML-файл.

Ответ №3:

Хотя, если ваши классы скомпилированы и вы не хотите публиковать исходный код, вам может потребоваться создать файл схемы XML и разместить его здесь. Не совсем уверен в структуре, но покопайтесь, и вы поймете, что я имею в виду.

[установочный диск]Программные файлы (x86)Microsoft Visual Studio 9.0XmlСхемы

Ответ №4:

Я согласен с Джоэлом Кохорном. Вы можете ознакомиться с MSDN для этой темы: http://msdn.microsoft.com/en-us/library/b2s063f7.aspx

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

Статья о проекте codeproject: http://www.codeproject.com/KB/XML/csharpcodedocumentation.aspx

Ответ №5:

также загляните в файл DotNetConfig.xsd, обычно находящийся в каталоге установки Visual Studio 8 (или 9) в подкаталоге XmlSchemas.