Создание комментариев документации XML для///в Visual Studio 2010 С++
Мне нужно прокомментировать прототип моей функции (написанный на C/С++) с помощью сводок, возвратов, тегов param. Как я могу убедить Visual Studio вставлять теги xml после трех косых черт, как на С#? Я нашел одно решение. Когда я переименую xx.h xx.cs в проекте С++, я могу использовать///для генерации комментариев xml (также работает IntelliSense в комментариях xml). Должен быть лучший способ, не так ли?
Это убьет меня, чтобы написать его вручную. Я благодарен за каждый полезный комментарий.
/// <summary>
///
/// </summary>
/// <param name="aa"></param>
/// <returns></returns>
bool function1(TypeX aa);
Ответы
Ответ 1
Эта функция не является встроенной. Вы можете использовать надстройки Visual Studio. Я сам не использовал Atomineer Utils Pro Documentation, но выглядит многообещающим. Он генерирует комментарии к документации и поддерживает С++. Это стоит $10, хотя.
Ответ 2
CppTripleSlash создает куски комментариев xml doc в файлах С++ при вводе ///, аналогично тому, что доступно для С# в visual studio. Это также имеет некоторые базовые intellisense для завершения комментариев XML-документа.
Ответ 3
GhostDoc теперь будет добавлять комментарии XML для элементов С++. Просто наведите курсор на элемент и нажмите Ctrl + Shift + D.
GhostDoc имеет бесплатную версию для личного использования, которая уже сделает это.
Ответ 4
Для С++/CLI
Эти инструкции хорошо работают для Visual Studio 2015 Update 2
.
Сначала включите документацию по XML. Это генерирует файл метаданных, что означает, что комментарии будут видимы извне, включая С#.
![введите описание изображения здесь]()
Далее, в соответствии с ответом от @tcb
, установите CppTripleSlash. Перезагрузите Visual Studio, и вам должно быть хорошо идти.
Ответ 5
Взгляните на эту надстройку:
GhostDoc
Ответ 6
В Visual Studio 2010 С++ вы можете определить макросы, чтобы вставлять вещи для вас.
Определите макрос для вставки основной строки заголовка функции.
/// <summary> </summary>
Другой для пустой строки param, другой для строки возврата.
/// <param name=""> </param>
и
/// <returns> </returns>
Это будет охватывать большинство ваших потребностей всего тремя макросами. Если вы используете их достаточно, добавьте макрос для /// <remarks></remarks>
и /// <exception name=""></exception>
и <see cref=""/>
, и все, что вы недостаточно используете для создания макроса, вам нужно будет ввести вручную.
Да, вам нужно будет ввести имя параметра вручную.:) Макросы не могут все.:)
Смотрите: MSDN: VS2010: как записывать макросы
Смотрите: MSDN: VS2010: Как запустить макросы
UPDATE: я не знал об этих потоках, когда писал этот ответ:
SO: Макросы не запускаются в VS2010
MS: Макросы, нарушенные в VS2010, исправлением безопасности Feb 2014 (с предлагаемым обходным решением)
Ответ 7
Это относится к С++/CLI
Другим способом является использование ILSpy для преобразования кода С++/CLI в С#. Затем, в С#, вы можете писать комментарии с поддержкой IntelliSence. Затем просто скопируйте комментарии в проект С++/CLI, скомпилируйте, и вы в порядке: -)
Настроить Visual Studio (2013) для использования ILSpy
- Загрузите бинарный файл ILSpy
- Добавить новую запись инструментов в Visual Studio, открыв "Инструменты/Внешние инструменты/Добавить".
- Введите путь к
ILSpy.exe
для команды $(TargetPath)
для аргументов и $(TargetDir)
для исходного каталога.
- Применить и закрыть окно.
- (Новая вкладка отображается на вкладке "Инструменты" ).
- Создайте новый пустой проект С#.
Используйте его
Если вы затем откроете любой файл проекта С++/CLI и активируете новую запись на вкладке "Инструменты", появится окно (ILSpy), отображающее вашу сборку, преобразованную в код С#. Скопируйте этот код в файл, расположенный в проекте С#, и напишите комментарии XML.