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

Браузер кода на С++ в eclipse

Я использую Eclipse Indigo при программировании на С++. Я использую код, который предоставляет обширные комментарии doxygen. Я хотел бы видеть их внутри затмения, без необходимости использовать внешний браузер. Я думаю, что эквивалент javadoc для этого будет shift+F2, но он не работает с С++ doxygen.

Другими словами, когда моя мышь нависает над методом класса, подсказка инструмента обеспечивает реализацию функции (найденной в .cpp) вместо ее объявления и связанных с ней комментариев (найденных в .h). Я хотел бы увидеть последнее в моей подсказке.

Есть ли решение для пользователей С++?

Спасибо

4b9b3361

Ответ 1

К сожалению, это невозможно, и я сомневаюсь, что это будет возможно в будущем. Чтобы подробно объяснить, читайте дальше.
 В С++ вы можете написать функцию двумя способами.

  • Непосредственно определить функцию (может быть extern, inline или static)
  • Объявить функцию в заголовке, а затем определить функцию в файл реализации

Теперь eclipse всегда выбирает реализацию, и причина этого - согласованность. В С++ (в отличие от Java) у вас может быть много передовых объявлений функции в нескольких заголовочных файлах, однако определение всегда 1 (ODR).
Если вы принесете функцию под мышью, то какую декларацию выбрать? Поэтому лучше выбрать определение. Хотя эта проблема может не возникнуть в случае методов класса.

Возвращаясь к вашему вопросу:

наконечник инструмента обеспечивает реализацию функции вместо его декларации и связанных с ней комментариев

Лучший способ - добавить комментарии с реализацией функции. Другими словами, выберите стиль-2 снизу:

стиль-1

class A {
 ...
public:
  /*
   * description of the function
   */
  void foo ();
};
void A::foo ()
{
...
}

стиль-2

class A {
 ...
public:
  void foo ();
};

/*
 * description of the function
 */
void A::foo ()
{
...
}

Временное решение: дважды нажмите клавишу F3, и это приведет к объявлению с помощью определения.