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.name
clé de configuration de Git et la user.name
proprié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>)}
où <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.author
clé 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 @author
balise 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 @author
balise 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.