Як мати коментарі в IntelliSense для функцій у Visual Studio?


139

У Visual Studio та C #, використовуючи вбудовану функцію, таку як ToString (), IntelliSense показує жовте поле з поясненням того, що він робить.

alt текст alt текст

Як я можу це мати для запису функцій та властивостей?

Відповіді:


215

Щоб створити область, де ви можете вказати опис функції та кожного параметра для функції, введіть наступне на рядку перед функцією та натисніть Enter:

  • C #: ///

  • VB: '''

Див. Рекомендовані теги для коментарів щодо документації (Посібник з програмування C #) для отримання додаткової інформації про структурований вміст, який ви можете включити до цих коментарів.


2
Щоб підкреслити: це потрійна коса риса в C ++ / C # (звичайні коментарі - це подвійний косий ривок). А у VB дві його одноцитати, а не подвійна.
abelenky

1
Це насправді три одиночні цитати в vb
Joel Coehoorn

1
Насправді у VB це 3 одиничні цитати: '' '
рідний схід

2
Як альтернатива, у файлі VB можна клацнути правою кнопкою миші функцію чи клас та натиснути «Вставити коментар». Для C # ви можете використовувати StyleCop, який запропонує вам написати хороші заголовки документації
user1069816,

GhostDoc - чудовий інструмент, який може додати багато тексту в коментарі для вас. submain.com/products/ghostdoc.aspx
Karl Gjertsen

74

Вам потрібні коментарі xml - в основному вони дотримуються цього синтаксису (як туманно описано Solmead):

C #

///<summary>
///This is a description of my function.
///</summary>
string myFunction() {
     return "blah";
}

В.Б.

'''<summary>
'''This is a description of my function.
'''</summary>
Function myFunction() As String
    Return "blah"
End Function

23

<c>text</c>- Текст, який ви хочете вказати як код. Тег
< c > дає вам змогу вказати, що текст в описі повинен бути позначений як код. Використовуйте < code >, щоб вказати кілька рядків як код.

<code>content</code>- Текст, який потрібно позначити як код. Тег
< code > дає вам можливість позначити кілька рядків як код. Використовуйте < c >, щоб позначити текст в описі як код.

<example>description</example>- Опис зразка коду. Тег
< example > дозволяє вказати приклад використання методу чи іншого члена бібліотеки. Це зазвичай передбачає використання тегу < code >.

<exception cref="member">description</exception>- Опис винятку. Тег
< виняток > дозволяє вказати, які винятки можна кинути. Цей тег можна застосувати до визначень методів, властивостей, подій та індексаторів.

<include file='filename' path='tagpath[@name="id"]' />
Тег < include > дозволяє посилатися на коментарі в іншому файлі, що описують типи та членів у вихідному коді. Це альтернатива розміщенню коментарів до документації безпосередньо у вашому файлі вихідного коду. Помістивши документацію в окремий файл, ви можете застосувати джерело управління до документації окремо від вихідного коду. Одна людина може перевірити файл вихідного коду, а хтось інший може перевірити файл документації. Тег < include > використовує синтаксис XML XPath. Зверніться до документації для XPath щодо способів налаштування << включати > використання.

<list type="bullet" | "number" | "table">
    <listheader>
        <term>term</term>
        <description>description</description>
    </listheader>
    <item>
        <term>term</term>
        <description>description</description>
    </item>
</list>

Блок < listheader > використовується для визначення рядка заголовка або таблиці, або списку визначень. Визначаючи таблицю, потрібно лише ввести заголовок на термін у заголовку. Кожен елемент у списку вказується блоком < item >. Створюючи список визначень, вам потрібно буде вказати як термін, так і опис. Однак для таблиці, маркованого списку або пронумерованого списку вам потрібно лише надати запис для опису. Список або таблиця може мати стільки блоків < item >, скільки потрібно.

<para>content</para>
Тег < para > призначений для використання всередині тегу, наприклад < резюме >, < зауваження > або < повертається >, і дозволяє додавати структуру тексту.

<param name="name">description</param>
Тег < param > слід використовувати в коментарі для оголошення способу для опису одного з параметрів методу. Для документування кількох параметрів використовуйте кілька тегів < param >.
Текст тегу < param > відображатиметься в IntelliSense, браузері об'єктів та у веб-звіті Code Comment.

<paramref name="name"/>
Тег < paramref > дає вам змогу вказати, що слово в коді коментує, наприклад, у блоці < резюме > або < зауваження > відноситься до параметра. Файл XML можна обробити для форматування цього слова якимось чітким способом, наприклад, жирним шрифтом або курсивом.

< Тег permission cref="member">description</permission>
< дозвіл > дозволяє документувати доступ учасника. Клас PermissionSet дозволяє вам вказати доступ до члена.

<remarks>description</remarks>
Тег < зауваження > використовується для додавання інформації про тип, доповнюючи інформацію, зазначену < резюме >. Ця інформація відображається в браузері об'єктів.

<returns>description</returns>
Тег < return > повинен використовуватися в коментарі для декларації методу для опису повернутого значення.

<see cref="member"/>
Тег < see > дозволяє вказати посилання з тексту. Використовуйте < seealso >, щоб вказати, що текст повинен бути розміщений у розділі Див. Також. Використовуйте атрибут cref для створення внутрішніх гіперпосилань на сторінки документації для елементів коду.

<seealso cref="member"/>
Тег < seealso > дозволяє вказати текст, який, можливо, ви хочете відобразити в розділі Див. Також. Використовуйте < див. >, Щоб вказати посилання з тексту.

<summary>description</summary>
Тег < резюме > повинен використовуватися для опису типу або члена типу. Використовуйте < зауваження >, щоб додати додаткову інформацію до опису типу. Використовуйте атрибут cref для ввімкнення інструментів документації, таких як Sandcastle, для створення внутрішніх гіперпосилань на сторінки документації для елементів коду. Текст тегу < підсумок > є єдиним джерелом інформації про тип в IntelliSense, а також відображається в браузері об'єктів.

<typeparam name="name">description</typeparam>
Тег < typeparam > слід використовувати в коментарі для загального оголошення типу або методу для опису параметру типу. Додайте тег для кожного параметра типу загального типу чи методу. Текст тегу < typeparam > відображатиметься в IntelliSense - веб-звіті про коментарі коду браузера.

<typeparamref name="name"/>
Використовуйте цей тег, щоб дозволити споживачам документаційного файлу форматувати слово певним чином, наприклад, курсивом.

<value>property-description</value>
Тег < value > дозволяє описати значення, яке представляє властивість. Зауважте, що коли ви додаєте ресурс за допомогою майстра коду в середовищі розробки Visual Studio .NET, він додасть тег < резюме > для нового ресурсу. Потім слід вручну додати тег < value >, щоб описати значення, яке представляє властивість.


11

Робіть коментування XML, як це

/// <summary>
/// This does something that is awesome
/// </summary>
public void doesSomethingAwesome() {}

6
Для параметрів додайте:///<param name="paramName">Tralala</param>
The Oddler

10

використовуйте /// для початку кожного рядка коментаря, а коментар містить відповідний xml для зчитування метаданих.

///<summary>
/// this method says hello
///</summary>
public void SayHello();

Хоча особисто я вважаю, що ці коментарі, як правило, помилково, якщо ви не розробляєте класи, де код не може читати його споживачі.


2
вони гарні для нагадування про ярлики, або де-небудь у вас є код бібліотеки, де, можливо, код читається, але для його отримання потрібна трохи додаткової роботи.
Joel Coehoorn

1
Я погоджуюся з вами теоретично, але якщо ви використовуєте цю штуку-привид, то ви піднімаєте співвідношення шум / сигнал настільки, що решта коментарів марні.
DevelopingChris

9

Вони називаються XML Comments . Вони є частиною Visual Studio з назавжди.

Ви можете спростити процес документації за допомогою GhostDoc , безкоштовної надбудови для Visual Studio, яка генерує для вас коментарі XML-doc. Просто розмістіть свою карету на методі / властивості, яке ви хочете документувати, і натисніть Ctrl-Shift-D.

Ось приклад з одного з моїх дописів .

Сподіваюся, що це допомагає :)


6

У CSharp, якщо ви створюєте контур методу / функції за допомогою Parms, тоді, коли ви додасте три передніх косої риски, він автоматично генерує розділ "Підсумки".

Тому я вкладаю:

public string myMethod(string sImput1, int iInput2)
{
}

Потім я поставив три /// перед цим, і Visual Studio подав мені це:

/// <summary>
/// 
/// </summary>
/// <param name="sImput1"></param>
/// <param name="iInput2"></param>
/// <returns></returns>
public string myMethod(string sImput1, int iInput2)
{
}



2

Усі ці інші відповіді мають сенс, але є неповними. Visual Studio буде обробляти XML-коментарі, але ви повинні їх увімкнути. Ось як це зробити:

Intellisense використовуватиме коментарі XML, які ви вводите у вихідному коді, але ви повинні їх активувати через параметри Visual Studio. Перейти до Tools> Options> Text Editor. Для Visual Basic увімкніть налаштування Advanced> Generate XML documentation comments for '''. Для C # увімкніть налаштування Advanced> Generate XML documentation comments for ///. Intellisense використовуватиме зведені коментарі при введенні. Вони будуть доступні для інших проектів після складання згаданого проекту.

Для створення зовнішньої документації, вам необхідно згенерувати файл XML через Project Settings> Build> XML documentation file:шляху , який управляє компілятор /docопцією. Вам знадобиться зовнішній інструмент, який буде приймати файл XML як вхідний і генерувати документацію у вашому виборі форматів виводу.

Майте на увазі, що генерація XML-файлу може помітно збільшити час компіляції.


1

Крім того, візуальний документ-додаток ghost doc намагатиметься створити та заповнити коментарі до заголовків із назви вашої функції.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.