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

Tune the extension tips appearance in status bar #3633

Closed
egamma opened this issue Mar 2, 2016 · 10 comments
Closed

Tune the extension tips appearance in status bar #3633

egamma opened this issue Mar 2, 2016 · 10 comments
Assignees
Labels
feature-request Request for new features or functionality
Milestone

Comments

@egamma
Copy link
Member

egamma commented Mar 2, 2016

The extension tips should appear whenever there are new extensions for a user to look at.

@egamma egamma added the important Issue identified as high-priority label Mar 2, 2016
@egamma egamma added this to the Feb 2016 milestone Mar 2, 2016
@joaomoreno joaomoreno added the bug Issue identified by VS Code Team member as probable bug label Mar 3, 2016
@joaomoreno
Copy link
Member

It is still not clear to me how this should work.

Currently it behaves this way:

  • The statusbar widget appears as soon as a new extension tip comes up
  • Once clicked, all extensions that are suggested will be remembered for 28 days. During that period, suggestions of those same extensions would not make the widget appear.
  • Only new suggestions for other extensions would trigger the appearance of the widget.
  • It has a global scope, irrelevant to workspace.

Now, I can take that 28-days-memento out, but still... what would happen to the widget when clicked? Would it go away? Why, and when would it come back?

@egamma @chrisdias

@egamma
Copy link
Member Author

egamma commented Mar 3, 2016

I think we should remove the 28days memento, but let's go through a scenario:

The user opens a JS file.

  • Code finds a list of extension suggestions for the user, e.g., vscode-eslint, vscode-jshint.
  • Code notifies the user that there are candidate extensions, by showing the extension tips notification in the statusbar

The user discovers the notification, clicks it, the list of extension appears in the quick box. The user reviews the extensions and installs eslint. Doesn't install jshint since he doesn't use jshint it would be nice if there was a message above the quick box that explains that these are popular extension when editing files of this type.

  • Since the user has reviewed the extensions, the notification that there are interesting extensions goes away.

The user opens a PHP file

  • Code finds new suggestions for the user's working set.
  • The extension tips notification shows up again to inform the user that there are new extensions to review.

The user clicks on the notification and sees the PHP debugger in the list of suggestion. Installs it

  • Is jshint still shown in the list at this point? I'd say no, since the user has removed it.
  • The extension tips notification disappears.

@chrisdias
Copy link
Member

I don't like the idea of the notification in the status bar coming and going. I end up playing games trying to figure out how to make it come back again. What if i pressed Enter to install one of the four extensions listed (instead of clicking the download button) and now I want to install another one? If the status bar indicator is gone how do I get it back? I don't know that i can go to the command palette and choose "Extension Tips"... if I did I wouldn't need this status bar indicator at all! Related, if we remove items from the list because I didn't install them the first time I saw them, how would I get them back?

Here is how I see the scenario:

I open a workspace with JavaScript, TypeScript, CSS, HTML, and C# files present

Assume there are 5 extensions recommended for this workspace (jshint, jscs, tslint, omnisharp, and can i use). Also assume the suggestion icon is always in the status bar given my concerns about trying to figure out how to make it come up again.

The user clicks on the icon, gets a list of extensions they could install, and presses Enter on TSLint. The list goes away, the extension is installed, and I restart VSCode.

Now, I want to install jshint because i saw that in the list. I go back to the status bar indicator, click on it, and I see 4 items in the list now because I installed TSLint already. I repeat the process, installing jshint and omnisharp.

A few days later I add a .php file to the workspace

Knowing that Code gave me extension suggestions before, I can click on the status bar and a list shows up that now includes a PHP extension. I follow the same workflow as above and I install the PHP extension.

Ideally we would show a number/badge in the status bar indicating how many extensions are suggested. Maybe in a week a new extension list comes out and there are new opportunities. I could see the badge change to say "1" or "2" and I would click on it to see what's new. If there are updated extensions I could imagine the update extension icon having a badge telling me how many are available. Same with errors.

CC @waderyan

@egamma
Copy link
Member Author

egamma commented Mar 3, 2016

Looks like the only disagreement is whether the extension tips notification comes and goes. Since we have a setting to disable 'extension tips' I'm fine with having it always in the status bar.

I would still like to have an info message in the quick box, that explains what this list is about.

The extension tips should be visually aligned with 'outdated' extensions and it should also be visually more compact than what the message is today (same as we do with errors).

@joaomoreno
Copy link
Member

Yes, removing the 28 day memento easily comes to the conclusion that that thing is always in your status bar and never goes away...

Will just do that for GA: if there are tips, just always show it. Not happy about it though. We definitely need extensions to be a core workbench concept, UI-wise.

@chrisdias
Copy link
Member

👍

@waderyan
Copy link

waderyan commented Mar 3, 2016

@seanmcbreen feel free to add more thoughts here.

One suggestion (by @egamma and @seanmcbreen) is to add a small prompt for why these specific extensions are shown. Something like: "Here are extensions that could be useful based on the files in your workspace" (feel free to change that language).

@egamma
Copy link
Member Author

egamma commented Mar 4, 2016

Conclusion after discussion among @egamma, @joaomoreno, @waderyan, @chrisdias

  • remove the status bar contribution
  • keep the action but rename it to 'Recommended Extensions'
  • remove the setting
  • remove the time memento of 28 days
  • don't change the recommendation list unless the extension is installed

@joaomoreno
Copy link
Member

@egamma What about the quick open text. Currently it is ext tips. Should it be ext recommend?

joaomoreno added a commit that referenced this issue Mar 4, 2016
joaomoreno added a commit that referenced this issue Mar 4, 2016
joaomoreno added a commit that referenced this issue Mar 4, 2016
@isidorn isidorn assigned waderyan and unassigned joaomoreno Mar 18, 2016
@waderyan waderyan added feature-request Request for new features or functionality and removed bug Issue identified by VS Code Team member as probable bug important Issue identified as high-priority stable-candiate labels Mar 18, 2016
@waderyan
Copy link

This will be worked on as part of a holistic improvement to the extension experience in product.

@vscodebot vscodebot bot locked and limited conversation to collaborators Nov 18, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
feature-request Request for new features or functionality
Projects
None yet
Development

No branches or pull requests

5 participants