Visual Studio с DoxyGen для документации, или мы должны использовать что-то еще?
В настоящее время мы используем DoxyGen для документирования кода, написанного на языках C/С++, PHP и Java. Чтобы иметь согласованную среду, было бы неплохо использовать ее для документации на С#.
Однако нам интересно:
- Вы видите какие-либо преимущества в сгенерированном макете или структуре документации с использованием чего-то другого, кроме DoxyGen? Мы создаем документацию для внешних разработчиков, которые имеют опыт работы с С# и платформой .NET. Может быть, они используются в определенном формате документации?
- Насколько хорошо интегрирован DoxyGen с Visual Studio? Есть ли что-то, что позволяет генерировать документацию с одним щелчком мыши из среды IDE?
- Совместима ли какая-либо другая система документации с Visual Studio?
Ответы
Ответ 1
Стандартный способ документирования кода С# в Visual Studio - комментарии к документации XML. По-моему, это лучший способ использовать код С#, потому что поддержка этого уже интегрирована в Visual Studio (автоматическое завершение тега комментариев, предупреждение о недостающих или неправильно заданных параметрах,...). Чтобы документировать метод, просто введите три слэша (///
) перед телом метода, а Visual Studio введет пустой шаблон комментария для заполнения, например:
/// <summary>
///
/// </summary>
/// <param name="bar"></param>
private void Foo(int bar)
{
// ...
}
Вы можете настроить Visual Studio на создание XML файла из всех комментариев, который затем будет передаваться в генератор документации, например Sandcastle, Если вы хотите использовать Doxygen, это не проблема, поскольку он поддерживает разбор XML-комментариев.
Подводя итог: Я бы рекомендовал использовать комментарии XML по специальным комментариям Doxygen для кода С#. Таким образом, у вас есть все варианты. Вы можете создать документацию в стандартном формате Doxygen, с которым ваша организация знакома (потому что Doxygen поддерживает комментарии XML), плюс у вас есть возможность генерировать документацию в формате, известном разработчикам .NET(с Sandcastle и FileBuilder с поддержкой Sandcastle).
А, а также попробуйте GhostDoc...
Ответ 2
Существует несколько вариантов документации:
-
Свободный путь Microsoft. Используйте комментарии документации DocXml, а затем Sandcastle или аналогичный инструмент для создания документации в стиле MSDN. Преимущество этого заключается в том, что Visual Studio распознает документацию (синтаксис - раскрашивает комментарии), и документация сразу же подхвачена системой Intellisense (поэтому, если вы наведите указатель мыши на метод, который вы вызываете, всплывающая подсказка отобразит сводка и информация о параметрах, которые вы ввели в комментарии Doc)
-
Свободная система Doxygen. Это проще в использовании и более гибкой, но не поддерживаемой Visual Studio, поэтому вы теряете преимущества окраски intellisense и синтаксиса. С другой стороны, Doxygen анализирует формат DocXml, поэтому вы можете получить лучшее из обоих миров, используя формат DocXml с Doxygen для создания внешней справки.
-
Коммерческие продукты, такие как DocumentX, которые позволяют редактировать документацию в окне WYSIWYG.
Я бы рекомендовал начать с комментариев DocXml и Doxygen для создания внешней справки, как самого дешевого и простого способа начать работу, и сохранит все лучшие возможности VIsual Studio (intellisense и т.д.).
Я также предлагаю вам посмотреть мою надстройку, Atomineer Pro Documentation, которая позволяет генерировать и обновлять DocXml, Doxygen, Комментарии Qt или JavaDoc намного быстрее и проще в VS - идеальное дополнение к Doxygen и Sandcastle.
Ответ 3
Doxygen может потреблять комментарии С# doc (///) просто отлично. Документируйте свой код как обычно и запустите doxygen, чтобы отсканировать их в автономные html, chm и pdf файлы. Это, безусловно, самый универсальный, простой и неинвазивный подход.
В то время как doxygen не интегрирован в визуальную студию, он поставляется с простой средой IDE и может тривиально записываться как пользовательский внешний инструмент. Лично я включил doxygen в мои скрипты сборки и работает безупречно.
Наконец, doxygen является кросс-платформенным (что является преимуществом, если вам когда-либо понадобится порт для Mono) и значительно быстрее, чем SandCastle (как для установки, так и для запуска).
Это пример вывода doxygen для кода С# в проекте ~ 1Mloc: http://www.opentk.com/files/doc/annotated.html
Ответ 4
.NET-разработчики используются для формата документации, подобной MSDN, используемой в VS-помощи. Предпочтительно непосредственно интегрировать в VS-помощь, поскольку она дает некоторые бонусные функции, такие как помощь F1, фильтры, унифицированный индекс и TOC. Уже упоминалось несколько инструментов. Я бы добавил еще одно коммерческое решение одним нажатием, VSdocman.
Комментарии к XML-документам великолепны, поскольку они автоматически используются также в быстрой информации IntelliSense и Object Browser.
Ответ 5
Visual Studio не имеет интегрированной системы документации.
Если вы хотите оставаться в соответствии с другими языками, вы можете попробовать использовать Doxygen с Doxycomment Addin для Visual Studio.
Для документации С# или .NET существует несколько инструментов, и наиболее часто используемые (насколько мне известно) Sandcastle.
Наконец, вы можете проверить эту запись в блоге, которая предоставляет небольшой Python script, который преобразует некоторые теги С# в Doxygen.