Changer de répertoire rapidement (part 2)

  • Autre méthode : utilisation du package editoservices

Si vous avez au moins 1 fichier ouvert dans le MATLAB Editor , vous pouvez taper la commande suivante pour aller dans le répertoire contenant le fichier.

>>cd(fileparts(editorservices.getActiveFilename))

Cela pallie à la limitation de la fonctionnalité de la 4ème méthode que j’avais présentée : Change Current folder to ( dispo depuis la 10b) . En effet pas besoin d’avoir 2 fichiers ouverts dans l’Editor , un seul suffit.
Cette commande marche à la fois sous Windows et linux.

  • editoservices en bref

La commande suivante en R2010b :

>> help editorservices

retourne dans le Command Window les différentes méthodes pour faire mumuse avec l’Editor :

EDITORSERVICES Summary of Editor services functionality
Programmatically access the MATLAB Editor to open, change, save, or close
documents.

MATLAB Version 7.11 (R2010b) 03-Aug-2010

Work with all documents currently open in the Editor:
closeGroup – Close Editor and all open documents.
getAll – Identify all open Editor documents.

Work with single document currently open in the Editor:
getActive – Find active Editor document.
getActiveFilename – Find file name of active document.
find – Create EditorDocument object for an open document.
isOpen – Determine whether specified file is open in Editor.

Open an existing document or create a new one:
new – Create document in Editor.
open – Open file in Editor.
openAndGoToFunction – Open MATLAB file and highlight specified function.
openAndGoToLine – Open file and highlight specified line.

  • Limitation

La commande cd(fileparts(editorservices.getActiveFilename)) ne fonctionne qu’à partir de la R2010a.
Dans les précédentes releases, vous aurez les messages d’erreur suivant:

en R12Sp1
??? Undefined variable ‘editorservices’.

en R13Sp1
?? Undefined variable ‘editorservices’ or class ‘editorservices.getActiveFilename’.

en R2009a ou R2009b:
??? Undefined function or variable ‘editorservices’.

Mais mais en cherchant bien on peut trouver des solutions de contournement:
Is it possible to open and close multiple files in the Editor programmatically in MATLAB 7.9 (R2009b)?
D’ailleurs la solution proposée utilise également le package editorservices.

Le premier post de TMW à en parler date d’octobre 2009 et est de Michael Katz : The MATLAB Editor at your fingertips

  • Dernier test

Et que se passe t-il si en R2010a ou en R2010b si on tape la commande alors qu’aucun fichier n’est ouvert dans l’Editor MATLAB… suspense …

??? Error using == > cd
Cannot CD to (Name is nonexistent or not a directory).

normal !!

  • Conclusion

Bon moi du coup c’est ma méthode préférée et je m’en suis fais un shortcut MATLAB , c’est super pratique!!

Laisser un commentaire