EGit Solution
Es de esperar que la creación o el cambio de variables de plantilla por proyecto, espacio de trabajo o entorno sea una característica estándar de Eclipse. Lamentablemente, no lo es. Más aún, dado que los complementos de Eclipse pueden definir nuevas variables y plantillas, debería haber complementos que ofrezcan una solución. Si lo son, deben ser difíciles de encontrar. mmm-TemplateVariable , que está disponible en Eclipse Marketplace, es un paso en la dirección correcta para los usuarios de Maven, ya que ofrece la posibilidad de incluir versiones, artifactId, etc. en las plantillas.
Afortunadamente, EGit , que es una herramienta de Eclipse para Git, proporciona medios muy flexibles para incluir muchas variables diferentes en las plantillas de código. El único requisito es que su proyecto use Git. Si no usa Git, pero se toma en serio el desarrollo de software, ahora es el momento de aprender ( libro Pro Git ). Si se ve obligado a utilizar un sistema de control de versiones heredado, intente cambiar de opinión.
Gracias a los esfuerzos de harmsk , EGit 4.0 y superior incluye la capacidad de usar los valores clave de configuración de Git en las plantillas. Esto permite configurar valores de plantilla basados en la configuración del repositorio (proyecto), la configuración del usuario (cuenta) y / o la configuración global (estación de trabajo).
El siguiente ejemplo muestra cómo configurar Eclipse y Git para una estación de trabajo de desarrollo multiusuario y usar una clave de configuración Git personalizada en lugar de ${user}
proporcionar más flexibilidad. Aunque el ejemplo se basa en una instalación de Windows 10 de Eclipse Mars y Git para Windows, el ejemplo es aplicable a Linux y OSX que ejecutan Eclipse y Git utilizando sus respectivas herramientas de línea de comandos.
Para evitar una posible confusión entre la user.name
clave de configuración de Git y la user.name
propiedad del sistema de Java, user.author
se utilizará una clave de configuración de Git personalizada para proporcionar el nombre y / o credenciales del autor.
Configurar plantillas
El formato de una variable de plantilla Git es el siguiente
${<name>:git_config(<key>)}
donde <name>
es cualquier nombre de variable arbitrario y <key>
es la clave de configuración de Git cuyo valor debe usarse. Dado eso, cambiando la plantilla Comentarios → Tipos a
/**
* @author ${author:git_config(user.author)}
*
* ${tags}
*/
ahora intentará resolver el nombre del autor a partir de la user.author
clave de configuración de Git . Sin ninguna configuración adicional, los comentarios recién creados no incluirán un nombre después @author
, ya que ninguno se ha definido todavía.
Configurando Git
Desde la línea de comando
Configuración del sistema de Git : este paso de configuración realiza cambios en la configuración de todo el sistema de Git aplicable a todas las cuentas en la estación de trabajo, a menos que el usuario o la configuración del repositorio lo anulen. Debido a que las configuraciones de todo el sistema son parte de la aplicación Git subyacente (por ejemplo, Git para Windows), los cambios requerirán privilegios de administrador. Ejecute Git Bash, cmd o PowerShell como administrador. El siguiente comando establecerá el autor de todo el sistema.
git config --system user.author “SET ME IN GLOBAL(USER) or REPOSITORY(LOCAL) SETTINGS”
El propósito de este "autor" es servir como un recordatorio de que debe establecerse en otro lugar. Esto es particularmente útil cuando se utilizan nuevas cuentas de usuario en la estación de trabajo.
Para verificar esta configuración, cree un proyecto Java vacío que use Git o abra un proyecto existente basado en Git. Cree una clase y use Fuente → Generar comentario de elemento desde el menú contextual, ALT-SHIFT-J , o inicie un comentario JavaDoc. La @author
etiqueta resultante debe ir seguida de la advertencia.
Los cambios de configuración restantes se pueden realizar sin privilegios de administrador.
Configuración global de Git (usuario): las configuraciones globales o de usuario son aquellas asociadas con un usuario específico y anularán las configuraciones de todo el sistema. Esta configuración se aplica a todos los proyectos basados en Git a menos que la configuración del repositorio la anule. Si el nombre del autor es diferente debido a varios tipos de proyectos, como trabajo, contribuciones de código abierto o personal, configure aquí el más utilizado.
git config --global user.author “Mr. John Smith”
Una vez configurado el valor global, regrese al proyecto de prueba utilizado temprano y aplique un comentario de clase. La @author
etiqueta ahora debería mostrar la configuración global.
Configuración del repositorio de Git (local) : por último, se puede usar un repositorio o una configuración local para configurar un autor para un proyecto específico. A diferencia de las configuraciones anteriores, una configuración de repositorio debe hacerse desde el repositorio. Usando Git Bash, PowerShell, etc. navegue al repositorio del proyecto de prueba.
git config --local user.author “smithy”
Dado esto, los nuevos comentarios en el proyecto de prueba utilizarán el nombre del autor definido localmente. Otros proyectos basados en Git seguirán utilizando el nombre global del autor.
Desde dentro de Eclipse
Los cambios de configuración anteriores también se pueden configurar desde Eclipse a través de sus Preferencias: Equipo → Configuración de Git . Eclipse debe ejecutarse como administrador para cambiar las configuraciones de Git en todo el sistema.
En suma
Aunque este ejemplo se ocupó específicamente del problema más común, el de cambiar ${user}
, este enfoque se puede usar para más. Sin embargo, se debe tener precaución de no usar claves de configuración definidas por Git, a menos que esté específicamente diseñado.