-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Discussing a UI solution for multiroot/monorepo workspaces #41
Comments
I do like this solution as it makes it much clearer as to the state of each project under the workspace. I honestly cant think of a better solution so it gets a +1 from me. |
Impressions from trying the built in TreeView API(#45):
As much as I wanted to compromise I don't think this will provide the experience I'd like to have when using the extension. I'll be trying a WebView next to see how that works. Luckily doing the UI should be the easy part. |
Impressions from trying the webviews API(#46):
For the lack of other contenders, we've got a winner! |
Progress updateDone
TODO
Delibirations
How it looks with some dummy data and dummy events: |
Deliberations input
|
Following the discussion on the implementation of supporting multiroot workspaces, I have understood that the current UI solution (button + quick pick) will not suffice to handle multiroot/monorepo workspaces (referred to as m.workspaces from now on).
This realization led me to explore what other options VSCode provides for extensions. I have come up with a sidebar panel that displays a file tree-like structure, showing which presets are selected for which sub-roots.
When the extension detects an m.workspace, clicking the button in the status bar or running the
.ENV Switcher: Select preset
command will open this sidebar panel.For example, if the toggle is enabled, and I click on any of the
local.env
entries, all sub-roots will try to switch to a preset namedlocal.env
. Will not change a sub-root target content if a preset with the same name wasn't found.This issue doesn't deal with the implementation of m.workspaces, although it will be affected by and influence the chosen solution.
I'll leave this issue pinned to try and gather input, which is very welcome.
The text was updated successfully, but these errors were encountered: