Есть ли что-то вроде GhostDoc для C ++ - PullRequest
9 голосов
/ 10 февраля 2009

При разработке на C # я интенсивно использую GhostDoc, чтобы ускорить процесс комментирования своего кода. В настоящее время я работаю над проектом C ++, и я не нашел эквивалентного инструмента. Я знаю о Doxygen, но из того, что я знаю, он используется для создания документации вне кода, а не комментариев в коде. Есть ли хорошие эквивалентные инструменты? Я бы предпочел тот, который работает в VS, но я мог бы обработать тот, который работает в любой IDE.

(До того, как кто-то поднимает этот вопрос, я не полагаюсь исключительно на GhostDoc для создания комментариев. Я просто использую его для создания отправной точки для моих комментариев.)

Ответы [ 3 ]

6 голосов
/ 29 апреля 2009

Я написал надстройку, Документация Atomineer Pro , которая очень похожа на GhostDoc (она генерирует / обновляет комментарии к документации, чтобы сэкономить много времени и усилий при документирование), но он анализирует код непосредственно для себя и, таким образом, способен обрабатывать код C, C ++, C ++ / CLI, C #, Java и Visual Basic и не требует, чтобы окружающий код находился в состоянии компиляции, прежде чем он будет Работа. Он также автоматически добавляет / обновляет документацию для более сложных вещей, таких как исключения, выдаваемые в теле метода.

Он работает в Visual Studio 11, 2010, 2008 и 2005 и поддерживает форматы комментариев Documentation-Xml, Doxygen, JavaDoc и Qt, а также формат / стиль блоков комментариев и используемые правила auto-doc, которые можно легко настраивать. , Он имеет ряд других полезных функций, таких как помощь в преобразовании устаревших комментариев к документам в вышеуказанные форматы и перенос слов в комментарии к документам и обычные комментарии к блоку.

Выше приведено лишь краткое описание некоторых ключевых функций. Это сравнение функций с другими продуктами служит более полным списком многих других доступных функций.

3 голосов
/ 12 февраля 2009

Visual Assist помогает, предоставляя пользовательские сценарии, выполняемые во время набора текста (или других).

Например, у вас может быть скрипт для комментариев, подобный этому:

/************************************************************************/
/* My comment : $end$                                                                     */
/************************************************************************/

Это будет предложено (через поле со списком, точно как intellisense), когда вы начнете печатать, например, "/ **". Когда вы выбираете это предложение (через Enter / Space / Click - настраиваемый), он вставит скрипт, где находится ваш курсор, и просто заменит маркеры, которые находятся между символами '$', специальными значениями (например, текущим именем файла). Здесь маркер $ end $ сделает курсор в этой позиции при выполнении скрипта. Таким образом, вы продолжаете печатать гладко. Например, с предыдущим набором скриптов, набрав в точности:

/** this is a test comment to show you one of the many features Visual Assit!

просто даст:

/************************************************************************/
/* My comment : this is a test comment to show you one of the many features Visual Assit!                                                                     */
/************************************************************************/

Это действительно легко настроить, а поведение системы предложений (читай: intellisense ++) можно настраивать.

0 голосов
/ 10 февраля 2009

Visual Assist может выполнить эту работу, хотя я не совсем уверен.

...