Effectuer directement des actions sur les fichiers du Workspace Eclipse

Avertissement
Dernière modification de cet article le 2011-10-17, le contenu pourrait être dépassé/obsolète.

J’utilise Eclipse comme IDE autant pour coder en Java que pour faire des scripts PHP.

Il est généralement complet et suffisant pour tout le développement d’application mais à plusieurs reprises j’avais besoin de :

  • Avoir une fenêtre de l’Explorateur Windows / Nautilus / Finder qui me montre où se trouve un fichier ou un dossier.
  • Ouvrir un fichier source dans un autre logiciel comme Notepad++.

Faire cela implique de réduire Eclipse et de se taper, à la main, tout le cheminement (naviguer de dossier en dossier) jusqu’au fichier voulu : C’est lourd et fastidieux…

Mais heureusement, Eclipse intègre une notion d’External Tools. Cela permet de créer sur mesure, des commandes à exécuter qui sont directement accessibles dans le menu “Run” et qui permettent d’agir sur les fichiers directement depuis le workspace d’Ecplise.

/2011/10/effectuer-directement-actions-sur-fichiers-workspace-eclipse/images/Eclipse-External-Tools.png

Cela permet d’ouvrir une fenêtre de votre gestionnaires de fichiers Windows directement sur l’emplacement du fichier ou dossier qui est sélectionné dans la vue Package Explorer ou PHP Explorer (votre gestionnaire de fichier interne à Eclipse en fait).

Aller dans le menu Run puis choisir External Tools puis External Tools Configurations…. Choisir ensuite Program dans le panneau latéral gauche et cliquer le bouton New (feuille blanche avec le symbole jaune “+”) Renseigner les champs affichés de la manière suivante :

  • Name : Windows Explorer
  • Working Directory :
  • Location : ${env_var:SystemRoot}explorer.exe
  • Arguments : /select,${resource_loc}

Valider et tester le tout par le bouton Run : Une nouvelle fenêtre de l’explorateur Windows devrait s’ouvrir et le dossier/fichier qui était sélectionné dans Eclipse devrait être surligné dans celle-ci.

Cela permet d’ouvrir le fichier sélectionné dans votre workspace d’Ecplise directement avec le logiciel Notepad++, un vrai couteau suisse pour toute édition de fichier texte.

Je vais vous donner la méthode pour créer un External Tool pour Notepad++ mais elle est suffisamment générique pour être réutilisée avec n’importe quel logiciel dont le premier argument est un emplacement de fichier (surement le cas de tous les éditeurs de texte).

Aller dans le menu Run puis choisir External Tools puis External Tools Configurations….

Choisir ensuite Program dans le panneau latéral gauche et cliquer le bouton New (feuille blanche avec le symbole jaune “+”)

Renseigner les champs affichés de la manière suivante :

  • Name : Notepad++
  • Working Directory : ${container_loc}
  • Location : ${env_var:ProgramFiles(x86)}Notepad++ 5.9notepad++.exe
  • Arguments : ${resource_loc}

Valider et tester le tout par le bouton Run : Notepad++ devrait se lancer et ouvrir votre fichier.

Il vous faut bien évidemment adapter la valeur de Location avec l’emplacement de votre Notepad++ ou autre logiciel. Notez que j’utilise la variable d’environnement Windows correspondant au dossier des programmes x86 : %<strong>ProgramFiles(x86)</strong>% accessible dans Eclipse avec ${env_var:<strong>ProgramFiles(x86)</strong>}.

Alors oui, c’est assez simpliste comme outil. Oui, une personne qui a besoin d’ouvrir l’explorateur et qui doit aller loin pour atteindre ses fichiers sources est surement mal organisée.

Peut-être que oui : Mais la possibilité est là et est suffisamment malléable (notamment grâce aux variables) pour faire pas mal de choses bien utiles.

N’hésitez pas à regarder la liste des variables (et leur signification) accessible via le bouton Variables dans l’assistant de création d’External Tools. Voici la liste des plus utiles :

  • ${resource_loc} : Chemin complet vers la ressource (fichier/dossier)
  • ${container_loc} : Chemin complet vers le contenant (= dossier parent) de la ressource
  • ${project_loc} : Chemin complet vers le projet auquel appartient la ressource
  • ${selected_text} : Le texte sélectionné. Pourrait très bien servir à balancer du code source sur pastebin.com, copypastecode.com ou snipplr.com.
  • ${string_prompt} : Une fenêtre demandera de saisir du texte
  • ${password_prompt} : Comme une ${string_prompt}, sauf que la saisie sera masquée (utile pour les mots de passe d’archive compressée par exemple)

Les variables débutant par “container”, “resource”, “selected_resource” et “project” sont déclinées en 3 variables “_loc”, “_name” et “_path” donnant respectivement le chemin absolu/complet, le nom et enfin le chemin relatif (par rapport au workspace).

Liste d’idées en vrac :

  • Archiver/Compresser
  • Création de copies de sauvegarde/travail
  • Lancer des tests unitaires
  • Upload de fichier sur Internet
  • Partage de code sur des service de mise en ligne de snippets

Source : EclipseZone : « Open the windows explorer with a file selected in eclipse… »