2011-06-23 20 views
26

Estoy usando Eclipse CDT para escribir código C++. Después de leer varias discusiones aquí sobre StackOverflow sobre si colocar documentación doxygen en el archivo de encabezado o el archivo de implementación, parece que la mayoría de los desarrolladores prefieren poner comentarios doxygen en el archivo de encabezado (aunque de ninguna manera es un consenso, por supuesto). Sin embargo, si pongo comentarios doxygen en mis archivos de encabezado, no puedo hacer que Eclipse muestre esos comentarios cuando coloco el puntero del mouse sobre una instancia del método/miembro comentado. ¿Hay alguna manera de hacer que Eclipse utilice mi documentación de Doxygen desde mis archivos de encabezado en las sugerencias de Eclipse?¿Las puntas de desplazamiento Eclipse pueden mostrar comentarios de Doxygen desde el archivo de encabezado?

He establecido "Documentation tool comments Workspace default" en "Doxygen" en Preferences> C/C++> Editor.

Estoy usando Eclipse 3.6.2 con CDT 7.0.2 en Ubuntu 11.04.

comentarios
+0

Me tropecé con el mismo problema. Eclipse CDT puede mostrar documentación de los archivos de encabezado sin problemas siempre que no tenga acceso a la fuente de implementación porque luego prefiere mostrar la documentación desde allí (incluso si no hay ninguna). Realmente molesto. – kayahr

Respuesta

1

Doxygen se muestran en Eclipse en vuelo estacionario cuando se escribe en:

  • cpp (o cabecera) archivo antes de fuente de método (no declaración) Archivo
  • cabecera antes de la declaración de clase
+4

Sí, su respuesta es consistente con lo que he encontrado también. ¿Sabes si hay alguna forma de que Eclipse muestre los comentarios de Doxygen del archivo de encabezado para los métodos y las variables de miembro? –

+1

En realidad, no veo sentido para eso. Creo que son los mejores lugares para describir el código porque puedes ver lo que describes solo en este caso. Los comentarios en los archivos de encabezado solo son útiles al escribir/usar bibliotecas. –

+4

@Yuriy Petrovskiy descripción en el encabezado es mucho más útil, ya que no debe mirar el código de implementación, solo en la interfaz en el encabezado – avim

0

Encontré una solución para este problema, sin embargo, es bastante incómodo para el uso general.

Si está utilizando un sistema de compilación externo (make/cmake, por ej.) Donde eclipse no puede transmitir sus definiciones de macros, entonces todo lo que necesita hacer es colocar la implementación en su propio include guard y agregar el include guarda las definiciones de los símbolos macro a eclipse. Esto ocultará esa sección de código de eclipse, forzándolo a usar los comentarios previstos sin afectar la compilación.

Por ejemplo:

#ifndef INCLUDE_GUARD_FOR_IMPLEMENTATION 
#define INCLUDE_GUARD_FOR_IMPLEMENTATION 

// Implementation code 

#endif 

y luego en el proyecto -> propiedades -> C/C++ General -> Caminos y símbolos añadir INCLUDE_GUARD_FOR_IMPLEMENTATION en la sección de símbolos.

Por supuesto, tiene el efecto secundario de encapsular la sección, y si no puede o no quiere poner el código de implementación en un encabezado separado, podría parecer bastante fuera de lugar.

Cuestiones relacionadas