Подтвердить что ты не робот

Могут ли подсказки наведения Eclipse отображать комментарии Doxygen из файла заголовка?

Я использую Eclipse CDT для написания кода на С++. Прочитав несколько обсуждений здесь, в StackOverflow о том, следует ли размещать документацию doxygen в файле заголовка или файле реализации, большинство разработчиков предпочитают помещать комментарии doxygen в заголовочный файл (хотя это, конечно, не консенсус). Однако, если я помещаю комментарии doxygen в свои файлы заголовков, я не могу заставить Eclipse отображать эти комментарии, когда я наводил указатель мыши на экземпляр комментария/метода. Есть ли способ заставить Eclipse использовать мою документацию Doxygen из моих файлов заголовков в подсказках наведения Eclipse?

Я установил для параметра "Документация" значение "Рабочая область" по умолчанию "на" Doxygen "в" Настройки " > " Редактор C/С++ ".

Я использую Eclipse 3.6.2 с CDT 7.0.2 на Ubuntu 11.04.

4b9b3361

Ответ 1

Комментарии Doxygen отображаются в Eclipse при наведении, когда написано на:

  • файл файла (или заголовка) cpp перед источником метода (без декларации)
  • заголовочный файл перед объявлением класса

Ответ 2

Я нашел обходной путь для этой проблемы, однако это довольно неудобно для общего использования.

Если вы используете внешнюю систему сборки (make/cmake, например.), где eclipse не может передать свои макроопределения, тогда все, что вам нужно сделать, это поместить реализацию в нее, включая include guard, и добавить включенные охранники макрос, чтобы затмить символы. Это скроет этот раздел кода от eclipse, заставив его использовать запланированные комментарии, не затрагивая сборку.

Например:

#ifndef INCLUDE_GUARD_FOR_IMPLEMENTATION
#define INCLUDE_GUARD_FOR_IMPLEMENTATION

// Implementation code

#endif

а затем в проекте → properties → C/С++ General → Paths And Symbols добавьте INCLUDE_GUARD_FOR_IMPLEMENTATION в разделе символов.

Конечно, у него есть побочный эффект поглаживания раздела, и если вы не можете или не хотите поместить код реализации в отдельный заголовок, это может выглядеть довольно неуместно.