A simple collection of functions useful to manager multiple projects. You can save, load your projects and switch between them. Every time you load a project, it reopens all your files into the editor and set current search path, granting you to start to code without reset all your environment stuff.
* Save and Load sessions, system wide or locally
* Switch session via command line
* User-friendly dialogs
* Name collision warnings
* A complete user interface to manage all sessions
Each session is saved in a .mat file with .msession extension in your %userpath% folder on you local machine. This guarantees a safe place for sessions regardless of your current working path. Each session file contains:
* Files opened in matlab editor
* Current directory path
* Current working path
type 'SessionManager' in console to open the user interface.
See html help for more details about access session manager function programmatically.
I'm really sorry it broken, unfortunately i have not R2018b to check this error. hopefully you can continue to access the programmatic interface. As soon as possible i will try to fix it maybe with a new interface built with application api.
Works great in R2018a.
Unfortunately it's broken in R2018b:
Undefined function 'getViewport' for input arguments of type 'handle.handle'.
Error in SessionManager>listboxSessions_CreateFcn (line 165)
Thank you for you comment.
About save info in a mat file, i just use builtin matlab functions and they works as expected, so i can't help about.
I code this session manager as spin-off project, so i will add a complete related GUI when i will have some free time to spend here, i can just tell i don't add the gui shortly but it is yet in my plans for this contribution. At this stage i just provide some dialog boxes taking care of missing parameters and some name-collision checking to avoid to overwrite files or call two projects with the same name.
Thank you four your valuable contribution to the community.
I'm also working on a session manager project for MATLAB. Your code is more professional than mine. I also tried to save the session info in a .mat file however it is damaged in an unrecoverable way for some unknown reasons. Then, I tried to write all the info in a .txt file in a systematic way.
Will you/do you consider to provide a GUI for your session manager?
Bugfix: absolute path recovering for linked sessions.
Bugfix: naming a session 'LOCAL SESSION' conflicts with local session list display.
Fixed new session button bug.
Minor bugfix - 'more' callback now show information about current local session instead to throw an session not found error.
Added a new complete user interface. Type 'SessionManager' to use it!
Added html online help files i forgot in previews releases
Fixed a collateral bug on search path loading (restoring path ignore changes in global matlab searchpath due new toolbox or delete toolbox or changed directories). Now the path will be loaded incrementally taking account of changes.