File Exchange

image thumbnail

Project-specific preferences, settings, and history

version (1.73 KB) by Petr Krysl
How to use project-specific Matlab and preferences, settings and history.


Updated 02 Nov 2012

View Version History

View License

Project-specific Matlab preferences/settings/history

Solution by Petr Krysl.

Most of the time, I use or develop two, three, or more Matlab projects.
For each I like to have their separate settings: list of open files, list of visited folders, command history, shortcuts, and so on.

My solution is to fire up Matlab (under Windows) by double-clicking a batch file, which sets the MATLAB_PREFDIR environment variable before invoking Matlab. Thus, Matlab is informed where to find its settings in this particular instance.

One can run several instances of Matlab, each with its own set of preferences, settings, and history.

The project-specific settings I put into a project folder. For instance, one of my projects is in the folder SA_tools with the following structure:


The folder "profile" holds the Matlab preferences that I want to use for this project (it may be created by copying the default preferences
folder: use the Matlab command prefdir to find it; otherwise, Matlab can create this folder if it doesn't exist, and one can then tweak the
preferences in any way they like).

The batch file "start.bat" first sets the environment variable, and then invokes Matlab. The contents of this file are:

set MATLAB_PREFDIR=%cd%\profile
matlab.exe /nosplash /r SA_tools_init

Double-clicking start.bat I bring up Matlab, telling it to load the preferences from the SA_tools\profile folder, and to initialize the
project settings by running SA_tools_init.m.

Cite As

Petr Krysl (2020). Project-specific preferences, settings, and history (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (1)

Peter Giles

This is an interesting idea and one I will use.

I had to do a little tweaking on my own to make it work, though. In my installation the preferences directory is constructed from the UserProfile environment variable, plus a subfolder structure (ApplicationData/MathWorks ...) which I couldn't figure out how to change. So if you want to copy your preferences from one project to another you have to copy the entire structure and not just the contents of the folder returned by prefdir().

Also, one annoying side effect -- each "project" so defined will have its own helpdesk favourites, which is probably not that useful.

MATLAB Release Compatibility
Created with R2012b
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!