-
Notifications
You must be signed in to change notification settings - Fork 29.8k
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
View Layout Customizations Part 4 #94688
Comments
Planning DiscussionsDebt
Polish
Features
Key Takeaways
|
Does this goes into a generated container? |
Concrete Example 1
Should Bing Search live in the panel with search? Does your answer change if the user put search into the explorer? Concrete Example 2cc @eamodio
Should the new view appear in the original GitLens viewlet that no longer exists? Or worse, the user has put SCM in the gitlens viewlet and removed all GitLens views so therefore it really isn't GitLens anymore. ProposalOne idea from 1:1 with Kai, view containers are removed from extension authoring. Rather, views are considered "adjacent" to another view. If an extension contributes a single view and does not specify an "adjacent" view, it will get a generated container using its icon. If a view specifies an adjacent view, it will default to the current location of that view. |
Not sure I'm a fan of that idea. Basically because it removes a nice logical grouping mechanism. For example, in this proposal, GitLens would basically contribute 1 view (say Repositories) without an adjacent view, and then all the rest could be adjacent to that view. But now the container would be called It also creates greater dependency on view ids, which doesn't seem like a great thing to me, because changing a view id would then kind of be a breaking change. |
What if instead a container could be of a defined "container type". So A user would also have the ability to "create" a custom container -- by allowing them to choose the title/icon themselves. There might be a need to allow only one container of a type at a time, but I'm not sure it would be too big of a deal if there were multiple -- if that is what the user wanted. This is more complex, but what if a view container could have a pre-defined "type" which could be |
This is already the case for view container ids
In this proposal, repositories view would have optional |
For your proposal, I'm not sure I fully understand it. Could you explain how it would work with Concrete Example 1 |
I would say new views or those which are not seen by user yet goes into their default locations. And user can move them after the fact they appear. IMO being too smart can lead to inconsistencies and confusions. |
I think the proposal is not about being too smart but rather changing the way we work in the future to match our end goal. Viewlets and Panels are no longer static concepts but created and destroyed at the users command. Built-in views are just examples and should not be static either. Consider that a company or school provisions VS Code on machines with a few extensions built-in. These viewlets are somehow treated differently than built-in? That doesn't make much sense to them. |
One thing of which I believe we are convinced is that view containers are ephemeral and lack self-identity. This is demonstrated by them having a meaningless identifier with no ties to their creator view. The next step in tackling this is understanding how we give these views identity. i.e. How do we pick icons and a name for them? As the plan item suggests, this will be dynamic. And lastly, we have a final thing to consider, which is how to handle the views which are contributed to a container that has been transformed by view movement. Starting with the last issue, I propose the following plan: If an extension view is contributed to a container:
With the above logic in place, I think our dynamic view icons and titles can glean some behavior:
|
The text was updated successfully, but these errors were encountered: