In my opinion MATLAB is rather lacking when it comes to modern software development. One of the things which always pissed me off is the absence of proper code hierarchy browser. Sure – there is current directory window but it displays everything, not only source code files and doesn’t provide any visual clues regarding logical organisation of the files. Fortunately class directories always start with @ and packages with + so you can figure it out eventually but it’s far from perfect. To work around these issues, I’ve created my own source code hierarchy browser using the “undocumented” uitree() function. It supports custom icons for package/class directories and for m/mat files. One can use it either in separate window or docked and in one- or two-panel mode. Double-clicking a file either opens it in the editor (M files) or loads its content to the workspace (MAT files). I found it very helpful so far, especially when working with several different locations on the filesystem at the same time – the ability to open many instances of this utility is quite useful.
That’s it I guess. Source code is BSD licensed as usual. In case you’re using one of the older MATLAB releases you will have to remove the ‘v0’ parameter from calls to uitree() and uitreenode(). Enjoy!