- 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!!