Создание комментариев к документации XML для /// в Visual Studio 2010 C ++ - PullRequest
26 голосов
/ 30 октября 2010

Мне нужно прокомментировать мой прототип функции (написанный на C / C ++) со сводкой, возвратами, тегами параметров.Как я могу убедить Visual Studio вставлять теги XML после трех косых черт, как в C #?Я нашел одно решение.Когда я переименовываю xx.h xx.cs в проекте C ++, я могу использовать /// для создания комментариев xml (IntelliSense в комментариях xml тоже работает)Должен быть лучший способ, не так ли?Это убило бы меня, чтобы написать это вручную.Буду благодарен за каждый полезный комментарий.

/// <summary>
/// 
/// </summary>
/// <param name="aa"></param>
/// <returns></returns>
bool function1(TypeX aa);

Ответы [ 7 ]

8 голосов
/ 16 апреля 2015

CppTripleSlash создает заглушки комментариев в формате XML в файлах c ++ при вводе ///, аналогично тому, что доступно для c # в visual studio. Это также имеет некоторый базовый смысл для заполнения комментариев к документу XML.

7 голосов
/ 30 октября 2010

Эта функция не встроена. Вы можете попробовать использовать надстройки Visual Studio . Я не использовал документацию Atomineer Utils Pro , но это выглядит многообещающе. Он генерирует комментарии к документации и поддерживает C ++. Это стоит $ 10, хотя.

6 голосов
/ 07 апреля 2013

GhostDoc теперь будет вставлять комментарии XML для элементов C ++. Просто наведите курсор на элемент и нажмите Ctrl + Shift + D .

GhostDoc имеет бесплатную версию для личного использования, которая уже сделает это.

3 голосов
/ 16 апреля 2016

для C ++ / CLI

Эти инструкции хорошо подходят для Visual Studio 2015 Update 2.

Сначала включите документацию XML. Это создает файл метаданных, что означает, что комментарии будут видны снаружи, включая C #.

enter image description here

Далее, согласно ответу от @tcb, установите CppTripleSlash . Перезапустите Visual Studio, и все будет хорошо.

1 голос
/ 24 января 2013

Посмотрите на эту надстройку: GhostDoc

0 голосов
/ 09 сентября 2015

Это относится к C ++ / CLI

Другой способ - использовать ILSpy для преобразования C ++ / CLI-кода в C # . Затем в C # вы можете писать комментарии с поддержкой IntelliSence. Затем просто скопируйте комментарии в проект C ++ / CLI, скомпилируйте и все в порядке: -)

Настройка Visual Studio (2013) для использования ILSpy

  1. Загрузить бинарный файл ILSpy
  2. Добавьте новую запись инструментов в Visual Studio, открыв «Инструменты / Внешние инструменты / Добавить».
  3. Там введите путь к ILSpy.exe для Команды, $(TargetPath) для Аргументов и $(TargetDir) для Начального каталога.
  4. Применить и закрыть окно.
  5. (новая запись появляется на вкладке Инструменты)
  6. Создать новый пустой проект C #.

Используйте это

Если вы затем откроете какой-либо файл проекта C ++ / CLI и активируете новую запись на вкладке Инструменты, появится окно (ILSpy) с отображением вашей сборки, преобразованной в код C #. Скопируйте этот код в файл, расположенный в проекте C #, и напишите комментарии XML.

0 голосов
/ 22 августа 2015

В Visual Studio 2010 C ++ вы можете определить макросы для вставки объектов.

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

/// <summary> </summary>

Еще один для пустогоparam line, еще одна для строки возврата.

/// <param name=""> </param>

и

/// <returns> </returns>

Это удовлетворит большинство ваших потребностей всего тремя макросами.Если вы используете их достаточно, добавьте макрос для /// <remarks></remarks> и /// <exception name=""></exception> и <see cref=""/>, а любой макрос, который вы используете недостаточно для создания макроса, вам нужно будет ввести вручную.

Да, вынужно будет ввести имя параметра вручную.:) Макросы не могут делать все.:)

См .: MSDN: VS2010: как записывать макросы

См .: MSDN: VS2010: Как запускать макросы

ОБНОВЛЕНИЕ : я не знал об этих потоках, когда писал этот ответ:

ТАК: Макросы не запускаются в VS2010

MS: макросы сломаны в VS2010 из-за исправления безопасности, февраль 2014 года (с предлагаемым обходным решением)

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