Cómo cambiar el valor de la variable $ {user} utilizada en las plantillas de Eclipse

261

En lugar de codificar la plantilla @author predeterminada, me gustaría que Eclipse use el nombre real del usuario tomado de la información de la cuenta (en Linux, pero la solución de Windows también es bienvenida). Introducirlo en algún lugar de la configuración de Eclipse también sería aceptable, por desgracia, no puedo encontrar el lugar correcto.

Rajish
fuente
1
Si tiene curiosidad, puede obtener la versión predeterminada de la variable llamando a: System.getProperty ("user.name") y de dónde Java la toma depende del sistema.
Maciej Biłas
Este artículo muestra el orden en que eclipse usa para determinar el valor de la variable que encontré útil. martijndashorst.com/blog/2006/04/21/…
Steven Mai
El enlace de StevenMai está muerto ... Aquí hay una versión archivada: web.archive.org/web/20180927010751/http://…
Sometowngeek

Respuestas:

286

Parece que su mejor opción es redefinir la user.namevariable java ya sea en su línea de comando o usando el eclipse.iniarchivo en su directorio raíz de instalación de eclipse.

Esto parece funcionar bien para mí:

-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256M
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Duser.name=Davide Inglima
-Xms40m
-Xmx512m    

Actualizar:

http://morlhon.net/blog/2005/09/07/eclipse-username/ es un enlace muerto ...

Aquí hay uno nuevo: https://web.archive.org/web/20111225025454/http://morlhon.net:80/blog/2005/09/07/eclipse-username/

Davide Inglima
fuente
16
El riesgo es que esto interrumpirá cualquier complemento que necesite conocer la ID de usuario (que es el valor documentado de la propiedad user.name). Sería bueno si hubiera una mejor manera de ajustar el valor que Eclipse usará para esa variable.
Diastrofismo
30
Para mí la "causó un problema, que tenía que hacer: -Duser.name=Ron Kitaypara que se comporte adecuadamente
ronk
27
Una solución aún MEJOR sería que Eclipse tuviera otra variable como $ {programmer} que uno pudiera definir y luego usar en las plantillas (¡o incluso permitir que las personas creen sus propias variables!). Pero esto ES Eclipse, suspiro.
Scott Biggs
3
El -Duser.namedebe venir después de la -vmargsbandera (probado con Eclipse Mars).
Jan Chimiak
2
Enlace muerto, aquí hay un archivo: web.archive.org/web/20111225025454/http://morlhon.net:80/blog/…
nloveladyallen
96

Abra Eclipse, navegue a Ventana -> Preferencias -> Java -> Estilo de código -> Plantillas de código -> Comentarios -> Tipos y luego presione el botón 'Editar'. Allí puede cambiar su nombre en el comentario generado de @Author $ {user} a @Author Rajish.

singletony
fuente
41
Esa no es la respuesta a la pregunta
Rajish
15
@Rajish: tiene toda la razón, pero puede ser la única solución razonable. Después de evaluar las opciones, es lo que hice.
Scott Biggs
13
En mi opinión, esta es la mejor respuesta: en lugar de meterse con la línea de comandos y eclipse.ini, que dependen de la plataforma y posiblemente demasiado engorrosos para la tarea que realizan, uno simplemente a menudo desea hacer una configuración por proyecto, y hacerlo en Las propiedades del proyecto como las sugeridas anteriormente pueden ser actualmente la única forma de hacerlo.
amn
2
Creo que no es la respuesta correcta porque hay muchos lenguajes y editores que usan Eclipse, no solo Java. Así que eso solo resuelve el problema para los que usan Eclipse para editar Java, no todos los demás lenguajes.
Lucas Gabriel Sánchez
44
Esta solución tampoco es apropiada si está utilizando definiciones de plantillas compartidas con otros usuarios.
Christopher Barber
36
Windows > Preferences > Java > Code Style > Code Templates > Comments

ingrese la descripción de la imagen aquí

O Abra el eclipse.iniarchivo y agregue lo siguiente.

-Duser.name=Sumit Singh // Your Name

ingrese la descripción de la imagen aquí

Sumit Singh
fuente
18

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.nameclave de configuración de Git y la user.namepropiedad del sistema de Java, user.authorse 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.authorclave 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 @authoretiqueta 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 @authoretiqueta 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.

Frelling
fuente
Esto es bueno, pero ¿por qué no usarlo ${author:git_config(user.name)}ya que ya es estándar?
RobertDeRose
@RobD: como se menciona en la publicación (quinto párrafo desde arriba), para evitar confusiones. Eres libre de usar lo que quieras. Aunque en un entorno de producción, es mejor separar los elementos de configuración del proyecto de los elementos de configuración del sistema.
Frelling
16

En lugar de cambiar ${user}en eclipse, es aconsejable introducir

-Duser.name=Whateverpleaseyou

en el eclipse.inique está presente en su carpeta eclipse.

Anuj Balan
fuente
3
-1 No, eclipse.ini incluso guardado ya que UTF-8 no maneja correctamente el acento francés como àôéù ...
Aubin
26
¿Cuál es el punto de publicar, cuatro años después, la misma solución que la aceptada?
PhiLho
2
@Aubin en este momento estoy ejecutando un eclipse que admite acentos como áóë ... etc. sin problemas. Entonces esta es una respuesta correcta y útil.
Lucas Gabriel Sánchez
1
@PhiLho Esta respuesta es compacta y concisa, solo 3 oraciones. Además, el enlace en la respuesta seleccionada está roto.
johnnieb
3

dovescrywolf dio propina como comentario en un artículo vinculado por Davide Inglima

Fue muy útil para mí en MacOS.

  • Cierre Eclipse si está abierto.
  • Abra Termnal (consola bash) y haga lo siguiente:

    $ pwd /Users/You/YourEclipseInstalationDirectory  
    $ cd Eclipse.app/Contents/MacOS/  
    $ echo "-Duser.name=Your Name" >> eclipse.ini  
    $ cat eclipse.ini
  • Cierre la Terminal e inicie / abra Eclipse nuevamente.

Łukasz Siwiński
fuente
1

Este es el archivo que todos estamos buscando (dentro de su espacio de trabajo de Eclipse):

.plugins / org.eclipse.core.runtime / .settings / org.eclipse.jdt.ui.prefs

Encontrará una etiqueta @author con el nombre que desea cambiar. Reinicie Eclipse y funcionará.

Para los acentos, debe usar el formato Unicode (por ejemplo, '\ u00E1' para á).

También puede modificar el archivo 'ini' como sugieren las respuestas anteriores o establecer el nombre de usuario var para una solución global. O anule la etiqueta @author en el menú Preferencias para una solución local. Esas son soluciones válidas para este problema.

Pero si está buscando 'ese' nombre de autor que nos molesta a la mayoría de nosotros, está en ese archivo.

FranMowinckel
fuente
Esta opción en realidad modifica la configuración que se muestra en las preferencias de eclipse (elimina la etiqueta {usuario}), a mano.
Alfabravo
La ubicación del archivo no está actualizada para Eclipse Luna.
Martin Carney
Está $WORKSPACE/.metadata/.plugins/org.eclipse.core.runtime/.settings/... en Marte, y también hay $WORKSPACE/$PROJECT/.settings/... para cada proyecto. Como se mencionó, estas son las preferencias del espacio de trabajo o del proyecto, que pueden editarse más cómodamente a mano (y excluirse explícitamente por el OP).
Dirk
0

edite el archivo /etc/eclipse.inipara contener la entrada como;

-Duser.name=myname

Reinicie el "eclipse" y ahora, al crear cualquier archivo nuevo, con el asistente (c / c ++ / java), usará "myname" en lugar de $ {user}.

parasitar
fuente
-1

Ventana -> Preferencias -> Java -> Estilo de código -> Plantillas de código -> Comentarios -> Tipos Cambia el tage infront $ {user} a tu nombre.

antes de

/**
 * @author ${user}
 *
 * ${tags}
 */

Después

/**
 * @author Waqas Ahmed
 *
 * ${tags}
 */

ingrese la descripción de la imagen aquí

Waqas Ahmed
fuente
-4

Solo otra opción. ir a PREFERENCIAS >> JAVA >> EDITOR >> PLANTILLAS , seleccione @author y cambie la variable $ {user}.

OJVM
fuente