Comment changer la valeur de la variable $ {user} utilisée dans les modèles Eclipse

261

Au lieu de coder en dur le modèle par défaut @author, j'aimerais qu'Eclipse utilise le vrai nom de l'utilisateur tiré des informations de compte (sous Linux - mais la solution Windows est également la bienvenue). L'entrer quelque part dans la configuration Eclipse serait également acceptable, hélas, je ne trouve pas le bon endroit.

Rajish
la source
1
Si vous êtes curieux, la version par défaut de la variable peut être obtenue en appelant: System.getProperty ("user.name") et où Java la prend dépend du système.
Maciej Biłas
Cet article montre l'ordre dans lequel eclipse utilise pour déterminer la valeur de la variable que j'ai trouvée utile. martijndashorst.com/blog/2006/04/21/…
Steven Mai
Le lien de StevenMai est mort ... Voici une version archivée: web.archive.org/web/20180927010751/http://…
Sometowngeek

Réponses:

286

Il semble que votre meilleur pari est de redéfinir la user.namevariable java soit sur votre ligne de commande, soit en utilisant le eclipse.inifichier dans votre répertoire racine d'installation eclipse.

Cela semble bien fonctionner pour moi:

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

Mettre à jour:

http://morlhon.net/blog/2005/09/07/eclipse-username/ est un lien mort ...

En voici une nouvelle: https://web.archive.org/web/20111225025454/http://morlhon.net:80/blog/2005/09/07/eclipse-username/

Davide Inglima
la source
16
Le risque est que cela brise tout plug-in qui a besoin de connaître l'ID utilisateur (qui est la valeur documentée de la propriété user.name). Ce serait bien s'il y avait un meilleur moyen d'ajuster la valeur qu'Eclipse utilisera pour cette variable.
Diastrophisme
30
Pour moi, cela a "causé un problème, je devais le faire: -Duser.name=Ron Kitaypour qu'il se comporte correctement
RonK
27
Une solution encore MEILLEURE serait qu'Eclipse ait une autre variable telle que $ {programmer} que l'on pourrait définir puis utiliser dans les modèles (ou même permettre aux gens de créer leurs propres variables!). Mais c'est Eclipse, soupir.
Scott Biggs
3
Le -Duser.namedoit venir après le -vmargsdrapeau (testé avec Eclipse Mars).
Jan Chimiak
2
Lien mort, voici une archive: web.archive.org/web/20111225025454/http://morlhon.net:80/blog/…
nloveladyallen
96

Ouvrez Eclipse, accédez à Fenêtre -> Préférences -> Java -> Style de code -> Modèles de code -> Commentaires -> Types, puis appuyez sur le bouton "Modifier". Là, vous pouvez changer votre nom dans le commentaire généré de @Author $ {user} en @Author Rajish.

singletonie
la source
41
Ce n'est pas la réponse à la question
Rajish
15
@Rajish: vous avez absolument raison, mais c'est peut-être la seule solution raisonnable. Après avoir évalué les options, c'est ce que j'ai fait.
Scott Biggs
13
C'est la meilleure réponse à mon avis - au lieu de jouer avec la ligne de commande et eclipse.ini, qui dépendent de la plate-forme et qui sont sans doute trop encombrants pour la tâche qu'ils accomplissent, on souhaite souvent faire un paramètre par projet - et le faire dans Les propriétés du projet telles que suggérées ci-dessus peuvent à l'heure actuelle être le seul moyen de le faire.
amn
2
Je pense que ce n'est pas la bonne réponse car il y a beaucoup de langages et d'éditeurs utilisant Eclipse, pas seulement Java. Donc cela ne résout que le problème pour ceux qui utilisent Eclipse pour éditer Java, pas tous les autres langages.
Lucas Gabriel Sánchez
4
Cette solution n'est pas non plus appropriée si vous utilisez des définitions de modèle partagées avec d'autres utilisateurs.
Christopher Barber
36
Windows > Preferences > Java > Code Style > Code Templates > Comments

entrez la description de l'image ici

Ou Ouvrez le eclipse.inifichier et ajoutez ce qui suit.

-Duser.name=Sumit Singh // Your Name

entrez la description de l'image ici

Sumit Singh
la source
18

Solution EGit

On peut s'attendre à ce que la création ou la modification de variables de modèle sur la base d'un projet, d'un espace de travail ou d'un environnement soit une fonctionnalité standard d'Eclipse. Malheureusement, ce n'est pas le cas. Plus encore, étant donné que les plugins Eclipse peuvent définir de nouvelles variables et de nouveaux modèles, il devrait y avoir des plugins fournissant une solution. S'ils le sont, ils doivent être difficiles à trouver. mmm-TemplateVariable , qui est disponible sur le marché Eclipse, est un pas dans la bonne direction pour les utilisateurs de Maven, donnant la possibilité d'inclure la version, l'artefactId, etc. dans les modèles.

Heureusement, EGit , qui est un outil Eclipse pour Git, fournit des moyens très flexibles pour inclure de nombreuses variables différentes dans les modèles de code. La seule condition est que votre projet utilise Git. Si vous n'utilisez pas Git, mais que vous êtes sérieux dans le développement de logiciels, c'est le moment d'apprendre ( livre Pro Git ). Si vous êtes obligé d'utiliser un système de contrôle de version hérité, essayez de changer d'avis.

Grâce aux efforts de harmsk , EGit 4.0 et supérieur inclut la possibilité d'utiliser les valeurs de clé de configuration Git dans les modèles. Cela permet de définir des valeurs de modèle basées sur les paramètres du référentiel (projet), les paramètres utilisateur (compte) et / ou les paramètres globaux (poste de travail).

L'exemple suivant montre comment configurer Eclipse et Git pour une station de travail de développement multi-utilisateurs et utiliser une clé de configuration Git personnalisée au lieu de ${user}pour offrir plus de flexibilité. Bien que l'exemple soit basé sur une installation Windows 10 d'Eclipse Mars et de Git pour Windows, l'exemple s'applique à Linux et OSX exécutant Eclipse et Git à l'aide de leurs outils de ligne de commande respectifs.

Pour éviter toute confusion possible entre la user.nameclé de configuration de Git et la user.namepropriété système de Java , une clé de configuration Git personnalisée - user.author- sera utilisée pour fournir le nom et / ou les informations d'identification de l'auteur.

Configuration des modèles

Le format d'une variable de modèle Git est le suivant

${<name>:git_config(<key>)}

<name>est n'importe quel nom de variable arbitraire et <key>est la clé de configuration Git dont la valeur doit être utilisée. Étant donné que, en changeant le modèle Commentaires → Types en

/**
 * @author ${author:git_config(user.author)}
 *
 * ${tags}
 */

va maintenant tenter de résoudre le nom de l'auteur à partir de la user.authorclé de configuration de Git . Sans autre configuration, les commentaires nouvellement créés n'incluront pas de nom après @author, car aucun n'a encore été défini.

Configurer Git

Depuis la ligne de commande

Configuration du système Git - Cette étape de configuration apporte des modifications à la configuration à l'échelle du système de Git applicables à tous les comptes sur le poste de travail, sauf en cas de substitution par les paramètres de l'utilisateur ou du référentiel. Étant donné que les configurations à l'échelle du système font partie de l'application Git sous-jacente (par exemple, Git pour Windows), les modifications nécessiteront des privilèges d'administrateur. Exécutez Git Bash, cmd ou PowerShell en tant qu'administrateur. La commande suivante définira l'auteur à l'échelle du système.

git config --system user.author “SET ME IN GLOBAL(USER) or REPOSITORY(LOCAL) SETTINGS”

Le but de cet «auteur» est de rappeler qu'il doit être placé ailleurs. Cela est particulièrement utile lorsque de nouveaux comptes d'utilisateurs sont utilisés sur le poste de travail.

Pour vérifier ce paramètre, créez un projet Java vide qui utilise Git ou ouvrez un projet Git existant. Créez une classe et utilisez Source → Générer un commentaire d'élément dans le menu contextuel, ALT-SHIFT-J , ou démarrez un commentaire JavaDoc. La @authorbalise résultante doit être suivie de l'avertissement.

Les modifications de configuration restantes peuvent être effectuées sans privilèges d'administrateur.

Configuration globale (utilisateur) de Git - Les configurations globales ou utilisateur sont celles associées à un utilisateur spécifique et remplaceront les configurations à l'échelle du système. Ces paramètres s'appliquent à tous les projets basés sur Git, sauf s'ils sont remplacés par les paramètres du référentiel. Si le nom de l'auteur est différent en raison de différents types de projets tels que pour le travail, les contributions open source ou personnelles, définissez le plus fréquemment utilisé ici.

git config --global user.author “Mr. John Smith”

Après avoir configuré la valeur globale, revenez au projet de test utilisé tôt et appliquez un commentaire de classe. La @authorbalise devrait maintenant afficher le paramètre global.

Configuration du référentiel Git (local) - Enfin, un référentiel ou une configuration locale peut être utilisé pour configurer un auteur pour un projet spécifique. Contrairement aux configurations précédentes, une configuration de référentiel doit être effectuée à partir du référentiel. À l'aide de Git Bash, PowerShell, etc., accédez au référentiel du projet de test.

git config --local user.author “smithy”

Compte tenu de cela, les nouveaux commentaires dans le projet de test utiliseront le nom d'auteur défini localement. D'autres projets basés sur Git utiliseront toujours le nom d'auteur global.

Depuis l'intérieur d'Eclipse

Les modifications de configuration ci-dessus peuvent également être définies depuis Eclipse via ses Préférences: Équipe → Configuration Git . Eclipse doit être exécuté en tant qu'administrateur pour modifier les configurations Git à l'échelle du système.

En somme

Bien que cet exemple traite spécifiquement du problème le plus courant, celui du changement ${user}, cette approche peut être utilisée pour plus. Cependant, il faut être prudent de ne pas utiliser les clés de configuration définies par Git, sauf si cela est spécifiquement prévu.

Frelling
la source
C'est bien, mais pourquoi ne pas simplement l'utiliser ${author:git_config(user.name)}car il est déjà standard?
RobertDeRose
@RobD - Comme mentionné dans le post (5ème paragraphe à partir du haut) - pour éviter toute confusion. Vous êtes libre d'utiliser ce que vous voulez. Bien que dans un environnement de production, il est préférable de séparer les éléments de configuration de projet des éléments de configuration système.
Frelling
16

Plutôt que de changer ${user}d’éclipse, il est conseillé d’introduire

-Duser.name=Whateverpleaseyou

dans eclipse.inilequel est présent dans votre dossier éclipse.

Anuj Balan
la source
3
-1 Non, eclipse.ini même enregistré en UTF-8 ne gère pas correctement l'accent français comme àôéù ...
Aubin
26
Quel est l'intérêt d'afficher, quatre ans plus tard, la même solution que celle acceptée?
PhiLho
2
@Aubin actuellement, je lance une éclipse qui prend en charge les accents comme áóë .. etc. sans aucun problème. C'est donc une réponse correcte et utile.
Lucas Gabriel Sánchez
1
@PhiLho Cette réponse est compacte et concise, seulement 3 phrases. En outre, le lien dans la réponse sélectionnée est rompu.
johnnieb
3

dovescrywolf a donné un pourboire en commentaire sur l' article lié par Davide Inglima

Cela m'a été très utile sur MacOS.

  • Fermez Eclipse s'il est ouvert.
  • Ouvrez Termnal (console bash) et faites les choses ci-dessous:

    $ pwd /Users/You/YourEclipseInstalationDirectory  
    $ cd Eclipse.app/Contents/MacOS/  
    $ echo "-Duser.name=Your Name" >> eclipse.ini  
    $ cat eclipse.ini
  • Fermez Terminal et redémarrez / ouvrez Eclipse.

Łukasz Siwiński
la source
1

Voici le fichier que nous recherchons tous (dans votre espace de travail Eclipse):

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

Vous trouverez une balise @author avec le nom que vous souhaitez modifier. Redémarrez Eclipse et cela fonctionnera.

Pour les accents, vous devez utiliser le format Unicode (par exemple '\ u00E1' pour á).

Vous pouvez également modifier le fichier «ini» comme les réponses précédentes le suggèrent ou définir le nom d'utilisateur var pour une solution globale. Ou remplacez la balise @author dans le menu Préférences pour une solution locale. Ce sont deux solutions valables à ce problème.

Mais si vous recherchez «ce» nom d'auteur qui dérange la plupart d'entre nous, se trouve dans ce fichier.

FranMowinckel
la source
Cette option modifie en fait le paramètre affiché dans les préférences d'éclipse (supprime la balise {user}), à la main.
Alfabravo
L'emplacement du fichier est obsolète pour Eclipse Luna.
Martin Carney
C'est $WORKSPACE/.metadata/.plugins/org.eclipse.core.runtime/.settings/… sur Mars, et il y en a aussi $WORKSPACE/$PROJECT/.settings/… pour chaque projet. Comme mentionné, ce sont les préférences de l'espace de travail ou du projet, qui peuvent être plus facilement éditées à la main (et explicitement exclues par l'OP).
Dirk
0

éditez le fichier /etc/eclipse.ini, afin de contenir l'entrée comme;

-Duser.name=myname

Redémarrez l '"éclipse" et maintenant, lors de la création de tout nouveau fichier, avec l'assistant (c / c ++ / java), il utilisera "myname" à la place de $ {user}.

parasite
la source
-1

Fenêtre -> Préférences -> Java -> Style de code -> Modèles de code -> Commentaires -> Types Chnage le tage en face $ {user} à votre nom.

Avant

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

Après

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

entrez la description de l'image ici

Waqas Ahmed
la source
-4

juste une autre option. goto PRÉFÉRENCES >> JAVA >> ÉDITEUR >> MODÈLES, Sélectionnez @author et modifiez la variable $ {user}.

OJVM
la source