Skip to content
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

Allow extensions to opt-in to pinning their Language Status Item by default #145995

Closed
andyleejordan opened this issue Mar 24, 2022 · 10 comments
Closed
Assignees
Labels
languages-basic Basic language support issues under-discussion Issue is under discussion for relevance, priority, approach ux User experience issues workbench-status Status bar

Comments

@andyleejordan
Copy link
Member

Originally posted by @andschwa in #145950 (comment)

Have talked with @TylerLeonhardt about this too. When the PowerShell extension switched from its own status bar icon to the new Language Status Item API, the user experience was forcibly changed: the PowerShell icon (with the current version) is now by default hidden under {} (the language status item icon), which is confusing enough to our users that we've added it to our troubleshooting document, and have kept it in our extension's preview channel.

While I understand the rationale of having all language status items under the {} menu, and like being able to pin each icon, it seems that extension's should be able to opt-in to pinning their icon be default so as to not overly change the existing user experience.

@andyleejordan
Copy link
Member Author

FWIW, in the original, original issue, it seems that pinned/unpinned is inconsistent: #129037 (comment)

@andyleejordan
Copy link
Member Author

/cc @jrieken

@andyleejordan andyleejordan changed the title Allowing extensions to opt-in to pinning their Language Status Item by default Allow extensions to opt-in to pinning their Language Status Item by default Mar 24, 2022
@jrieken jrieken added under-discussion Issue is under discussion for relevance, priority, approach languages-basic Basic language support issues ux User experience issues workbench-status Status bar labels Mar 24, 2022
@jrieken
Copy link
Member

jrieken commented Mar 24, 2022

I believe that the population of VS Code users isn't divided by "power shell" users, "fooLang" users, or "barLang" users. Instead, I believe that the population is divided by users that like feature A to be a certain way, and feature B to be a certain other way. I also believe that extension authors are naturally biased towards "their feature contributions". So, I am trying to say "no" to allowing extensions to control this and "yes" to let's consider if this could/should be a user setting.

@andyleejordan
Copy link
Member Author

andyleejordan commented Mar 24, 2022

Well, the user setting is to click the "pin" button; this is more about a breaking change in behavior that all our users are having to contend with.

@jrieken
Copy link
Member

jrieken commented Mar 24, 2022

Well, the user setting is to click the "pin" button;

No, I meant a user setting that goes "all language status items are pinned by default and need to be unpinned"

a breaking change in behavior that all are users are having to contend with.

Well, what should I say 🤷 Yes, many people don't like changes. If you truly believe that all your users are put off by this then don't make this change or only make this change for new users and let existing users chose. Python, for instance, takes a two step approach: move status to the right, later move status into the language status item. This is all up to you and 100% in your control.

@andyleejordan
Copy link
Member Author

Hey @CsCherrYY in #129037 (comment) I think I see the confusion. I had unpinned the menu bar item "Editor Language" which you have pinned, so you see {} Java <language status item>, and the Java part is just the selected "Editor Language". The {} icon does look a little less weird with the language next to it!

@andyleejordan
Copy link
Member Author

Well, what should I say 🤷 Yes, many people don't like changes. If you truly believe that all your users are put off by this then don't make this change or only make this change for new users and let existing users chose. Python, for instance, takes a two step approach: move status to the right, later move status into the language status item. This is all up to you and 100% in your control.

I didn't say "my" users I said "our" users, as in the users of VS Code and its extensions. We're already at Python's step 1, our status icon has been on the right-side (and was one of the impetuses for the development of the language status item, so all extensions can converge on this API). I'm just pointing out that (our, collective) users of VS Code and its extensions (like PowerShell, and Python, and TypeScript) have a breaking change incoming and we should either make it less breaking for them, or more documented, as the small userbase we've tested with have complained. I will point them this way if ship with it unpinned by default 😊

@CsCherrYY
Copy link
Contributor

Hey @CsCherrYY in #129037 (comment) I think I see the confusion. I had unpinned the menu bar item "Editor Language" which you have pinned, so you see {} Java , and the Java part is just the selected "Editor Language".

@andschwa Yeah, that's the gap here.

The {} icon does look a little less weird with the language next to it!

That would be the reason why the default behavior of "Editor Language" is pinned. I didn't try to unpin the "Editor Language" before🙂.

@andyleejordan
Copy link
Member Author

FWIW after GA'ing with the language status item that is not pinned...no complaints (except the original few from our preview users) 🤷

@jrieken
Copy link
Member

jrieken commented May 19, 2022

Thanks for the update

@github-actions github-actions bot locked and limited conversation to collaborators Jul 2, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
languages-basic Basic language support issues under-discussion Issue is under discussion for relevance, priority, approach ux User experience issues workbench-status Status bar
Projects
None yet
Development

No branches or pull requests

4 participants