IntroductionCe projet a pour but d'automatiser l'édition des fichiers de labels. Sous la forme d'une extension Visual Studio, ce programme permet d'harmoniser tous les labels du référentiel sélectionné vers les autres fichiers. InstallationPour installer cette extension, il faut télécharger le dépôt. Vous trouverez UtilisationSur le fichier de label voulu, il suffit de faire Code sourceLa solution est découpée en deux projets :
Des commentaires ont été ajoutés dans le code pour facilité la relecture de code. La librairie VerifyLabelFile :Cette librairie est constituée de trois classes :
Label est un objet composé de trois attributs :
LabelFile est un objet composé de quatre attributs :
La classe FileMethod est composée de sept méthodes :
AddaptModelCette méthode permet de d'adapter la donnée d'entrée qui est à l'origine le nom du projet. La valeur de retour est une string qui contient uniquement le modèle du projet. AddaptFileNameCette méthode permet de d'adapter la donnée d'entrée qui est à l'origine le nom du fichier avec son extension. La valeur de retour est une string qui contient uniquement le nom du fichier sans l'extension. GetLabelFilesLa méthode reçoit une liste de fichiers de labels, le nom du modèle et le nom du fichier référence. Elle se place directement à l'endroit où sont stocké les fichiers de labels puis elle attribut un path, le nom et le contenu du fichier à un objet FileLabel qui est insérer dans la liste des fichiers de labels. Cette méthode retourne une liste qui contient la totalité des fichiers de labels. Content2ListLabelCette méthode reçoit la liste de fichiers de labels. Chaque fichier de label est parcouru et découpé de trois manières différentes. Une pour le LabelID, une pour le LabelText et une pour le LabelDescription. Chaque élément est alors associé a un objet Label qui est lui-même ajouté à une liste de label associé a chaque fichier. CompareCompleteSuppLabelFileCette méthode reçoit la liste des fichiers de label et le nom du fichier de référence. Elle récupère le fichier référence puis, pour chaque fichier de la liste, rajoute les labels manquant. Lorsqu'un label est manquant, il est alors ajouté à la fin du fichier. Si d'autres labels existent, mais ne sont pas référencés dans le fichier référence, ils sont alors supprimés. SaveAllDataCette méthode va créer un dossier 'LabelBAK' dans le répertoire 'Mes documents' de l'utilisateur. Dans ce dossier il y aura un autre dossier avec le nom du model utilisé. Un dossier avec la date du jour et l'heure contiendra tous les fichiers de labels. L'architecture se présente de la manière suivante :
VerifyLabelCette méthode est l'encapsulation des autres méthodes. Elle reçoit le modèle et le nom du fichier référence. Dans un premier temps, elle déclare une liste de fichiers de labels et adapte le modèle et le nom du fichier référence (AddaptModel et AddaptFilename). Ensuite, la méthode récupère les fichiers de labels et convertis les données brutes en liste de labels. A ce moment la méthode SaveAllData fait un Backup des fichiers de labels. La dernière étape est la comparaison des labels du fichier de référence aux autres fichiers de labels. Le projet VSIX AddinLabel :Ce projet est composé de plusieurs éléments :
AddinLabel.csCette classe contient des attributs, un constructeur, une méthode InitializeAsync et une CheckLabel. La méthode CheckLabel récupère le nom du projet et le nom du fichier de référence. Pour chaque élément sélectionné, la méthode exécutera VerifyLabel et synchronisera les fichiers de labels. AddinLabelPackage.vsctCe fichier est au format xml et agit sur la configuration des tables de commandes. On y définit une commande, un bouton, son placement et la corrélation entre son GUID et ID. |