Tuve una búsqueda en la fuente de CDT, y encontré una configuración de preferencia no documentada que puede utilizar para cambiar lo que se genera en ${include_guard_symbol}
. Tampoco hay una GUI, pero si agrega la configuración codetemplates.includeGuardGenerationScheme
a <projectpath>/.settings/org.eclipse.cdt.ui.prefs
, puede elegir entre el nombre del archivo (predeterminado), la ruta del archivo o UUID.
Dado el archivo <projectpath>/src/include/Class.h
, los siguientes valores de dar a estos resultados:
- 0 da un nombre de archivo en mayúsculas, es decir
CLASS_H_
- 1 da un UUID, por ejemplo.
HC9ABE718_D04E_411C_B5A2_F9FE1D9F9409
- 2 proporciona una ruta de archivo en mayúsculas, es decir,
SRC_INCLUDE_CLASS_H_
Para evitar cualquier duda, aquí es el contenido de nuestra .settings/org.eclipse.cdt.ui.prefs
:
codetemplates.includeGuardGenerationScheme=2
eclipse.preferences.version=1
formatter_settings_version=1
Obviamente no es exactamente lo que está después, pero usamos 2
para darnos una aproximación de nuestros espacios de nombres ya que, en términos generales, nuestros espacios de nombres siguen nuestra estructura de carpetas.
El código en cuestión es en estos archivos en el origen CDT:
core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/PreferenceConstants.java
de las constantes para cada opción
core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/corext/codemanipulation/StubUtility.java
para el método generateIncludeGuardSymbol()
que hace el trabajo.
Sería realmente agradable ver una opción adicional agregada para usar el espacio de nombres y una GUI también.
posible duplicado de [Eclipse-CDT: El uso de espacio de nombres en automática generada incluye-guardias] (http: // stackoverflow.com/questions/3520943/eclipse-cdt-use-namespace-in-automatic-generated-include-guard) – Mark