Workspaces isolated/detached mode #137091
Labels
feature-request
Request for new features or functionality
*out-of-scope
Posted issue is not in scope of VS Code
workbench-multiroot
Multi-root (multiple folders) issues
Milestone
vs-code workspaces are a great feature, but I think we can do better, especially because it doesn't resolve the main concern when using large or mono-repo projects.
For me the use case is simple, we have a mono-repo that is becoming fairly large, for this, we are using VSCode workspaces with multiple folders, but we noticed that it didn't solve our performance problems, also configuring the extensions as per project is not possible actually, in fact, I am not sure if vs-code loads the extensions per project or it just loads them per workspace, if it is the latest, then the extensions are loaded for projects they are not needed into, the problem becomes serious when certain extensions try to work on the entire folder tree, if I need to include the root as a workspace folder, the problem is even worse. For this, I want to be able to divide my project into multiple projects and have the possibility to configure every project in isolation, disable extensions, and have a different configuration. I know that it could become challenging for vs-code maintainers, but most of the developers work on multiple projects anyway, having the possibility to isolate every project's configuration becomes crucial.
So maybe vs-code-workspaces is not the solution for this problem, at least in the current implementation. If I had to suggest a solution I would propose an entirely different approach. Instead of loading every sub-project in one instance of vs-code, why not load multiple instances of vs-code in one workspace, an example of this would be how most of the multi-messaging applications deal with different channels/apps like in Slack:
The result would be something like that:
Or even better IMO, the projects list on the top:
This way every project in the workspace has its own configuration, and extensions can now be loaded as per project only.
we also simplify the file tree since now path handling becomes simpler as we are showing them relative to the currently selected project.
For the configuration, things become interesting as I can now have a configuration per project:
Voilà, I hope this adds another perspective and helps tackle this problem that so many developers are dealing with nowadays.
The text was updated successfully, but these errors were encountered: