Sublime Forum

Separate Sublime workspaces for different dev environments?


When I’m working on web projects, I like to set up a few web plugins through Package Control for my web-dev environment (TypeScript, CSS helpers, linters, HTML plugins, etc.). However, on weekends, I’ve been learning Unity, which requires C#, HLSL shaders, and other Unity-related plugins. It’s a whole different environment, and I have to spend a lot of time disabling, or reinstalling plugins for each time I switch environments.

Is there a way to save separate workspaces, one for JavaScript projects, and another one for C# projects? Is there some way so I can just open that workspace and get to work, without needing to disable and reinstall plugins each time I need to switch projects? Would I need to install two separate builds of SublimeText (is that even possible?), one with my web plugins installed, and the other one with Unity plugins?



Packages are an all or nothing install, they can’t be configured per window or per workspace. The closest you can get to something like that is to have multiple portable installations each configured differently.

Out of curiosity, why do you need to disable packages when you switch tasks? Are the packages that you’re using conflicting with each other in some fashion?



Always you can try portable version



It is not clear how you intent to use workspaces and how you intent to use work environments.

If you want to set up your local development machine for two different work environments then a common practice is to set up different user accounts, for example “unitydev” and “webdev”. In case of SublimeText you’d end up with a single installation for the entire machine and per user development environments, i.e. packages, configurations, etc, etc.

SublimeText workspaces are tied to the project. You could use multiple workspaces for different tasks if that makes sense to you, but usually i would be working with different projects when different types of environment are required, at least for the scenario you are describing.



I have another use case for this…

I have sublime projects that use Perforce (and thus the package to help with that).
I have other sublime projects that use git.

When I’m using the latter, the Perforce plugin will pop up inappropriate and annoying things – so I would like to simply have that package completely disabled when in those projects.