I think no one say that this feature are simple (as all of us are developer, we can aware what need to be change) and I guest people comment on this ticket just want to show how important it is, how priority should it be, and how to compare this feature vs some VS Code brothers (Atom, Sublime for example).īut because this already in the road map (anyone can confirm that the wiki page still correct) we should discuss about how to implement this instead of just saying how we need and how important it is (as again, I guess VS Code core team already know how we need it and how important this feature).
Im not saying that it couldn't be solved, but I don't quite understand why switching between multiple windows and/or instances is an issue. I think it would be way more confusing and, frankly, less useful than to alt-tab/cmd+tab between a few separate instances of VSCode, each happily managing their own isolated working path without all the extra effort and edge case issues. These are just some examples of how something seemingly simple can get very complicated, very quickly. If I refactor a class name in TypeScript, should it refactor in project A or project B, or both? What if the same class name exists in both projects with different meanings? What if one is loosely referencing the other? If I use the git integration to commit, am I committing project A or project B? Even with submodules, they are read-only by default for exactly that reason.Īt any rate, what just mentioned is one of the reasons I am wary of having this type of multi-working path interface in a single instance/window: you have to handle integrations (like git), extensions, refactoring, debugging, etc, etc, etc. You wouldn't be able to reliably make changes to support one project without worrying about the change having consequences for other consumers down the road. If the modules are tightly coupled, then they really aren't isolated modules. This problem is what package managers are largely intended to solve. Sounds like a use case for submodules I'm not sure how your project would reference another, unless you were aliasing with some mechanism, such as npm linking, etc.