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

We've reached semi-official status, we need a status bar #4074

Closed
matklad opened this issue Apr 21, 2020 · 14 comments
Closed

We've reached semi-official status, we need a status bar #4074

matklad opened this issue Apr 21, 2020 · 14 comments
Labels
A-vscode vscode plugin issues E-medium

Comments

@matklad
Copy link
Member

matklad commented Apr 21, 2020

VS Code provides API for a status bar:

https://code.visualstudio.com/api/references/vscode-api#StatusBarItem

we should implement status bar for rust-analyzer, for the following purposes:

  • clearly indicating when rust-anlayzer is enabled
  • clearly indicating when rust-analyzer needs a reload. Our current strategy of showing a notification on every keypress in the config is pretty obnoxious, we really should just change the color of the status bar
  • indicate the "loading" state of rust-analyzer (?)
  • indicate presence of updates for nightly (?)
  • provide one-click troubleshooting options (?)
@matklad matklad added A-vscode vscode plugin issues E-medium labels Apr 21, 2020
@matklad
Copy link
Member Author

matklad commented Apr 21, 2020

cc @Veetaha this seems like something you might be interested in, as it touches on many systems you've helped to improve already!

@Veetaha
Copy link
Contributor

Veetaha commented Apr 21, 2020

Not sure how the status bar pertains to yesterday's RFC, but I'll try to take a look into this task anyway

@Veetaha
Copy link
Contributor

Veetaha commented Apr 22, 2020

@matklad what do you mean by a notification on every keypress? This shouldn't happen on each keypress, if it does then this is a bug, but it does clearly work as intended for me now, i.e. you get the notification when the config value is modified once and never thereafter until you touch it again

@Veetaha
Copy link
Contributor

Veetaha commented Apr 22, 2020

Besides that, I am used to having a blue color of the status bar and orange when in debugging mode, I am not sure we should abuse this power to add new states to the status bar

@Veetaha
Copy link
Contributor

Veetaha commented Apr 22, 2020

3d we do indicate the loading of packages as a progress notification, could you elaborate on this item more?

@Veetaha
Copy link
Contributor

Veetaha commented Apr 22, 2020

5th which troubleshooting options are you implying? Please elaborate...

@eminence
Copy link
Contributor

RA already uses the status bar in some places. Just to be clear if we're talking about the same thing... When first loading a workspace, the initial analysis status is shown:

image

And if running cargo-check-on-save is enabled, a StatusBarItem is shown also:

image

Is the proposal to have a new permanent StatusBarItem that is always visible? (Similar to the github status bar item, which is always visible when I've opened a project that's hosted on github)

@matklad
Copy link
Member Author

matklad commented Apr 23, 2020

what do you mean by a notification on every keypress?

Peek 2020-04-23 11-44

@Veetaha
Copy link
Contributor

Veetaha commented Apr 23, 2020

@matklad Do you have files.autoSave, enabled?

@matklad
Copy link
Member Author

matklad commented Apr 23, 2020 via email

@Veetaha
Copy link
Contributor

Veetaha commented Apr 25, 2020

@matklad, could you elaborate on this and this

@eminence
Copy link
Contributor

eminence commented May 8, 2020

Here's another use-case for a status bar -- after RA has loaded, it does a prime_caches step. This can take a while, and until this is done, semantic highlighting will be missing. Yet there's no hint (other than high cpu usage) that RA is doing anything. So a notification in the status bar would be useful here!

Veetaha added a commit to Veetaha/rust-analyzer that referenced this issue May 10, 2020
Veetaha added a commit to Veetaha/rust-analyzer that referenced this issue May 10, 2020
Veetaha added a commit to Veetaha/rust-analyzer that referenced this issue May 10, 2020
Veetaha added a commit to Veetaha/rust-analyzer that referenced this issue May 10, 2020
Veetaha added a commit to Veetaha/rust-analyzer that referenced this issue May 10, 2020
Veetaha added a commit to Veetaha/rust-analyzer that referenced this issue May 10, 2020
Veetaha added a commit to Veetaha/rust-analyzer that referenced this issue May 10, 2020
Veetaha added a commit to Veetaha/rust-analyzer that referenced this issue May 10, 2020
Veetaha added a commit to Veetaha/rust-analyzer that referenced this issue May 10, 2020
Veetaha added a commit to Veetaha/rust-analyzer that referenced this issue May 10, 2020
Veetaha added a commit to Veetaha/rust-analyzer that referenced this issue May 10, 2020
Veetaha added a commit to Veetaha/rust-analyzer that referenced this issue May 10, 2020
Veetaha added a commit to Veetaha/rust-analyzer that referenced this issue May 10, 2020
Veetaha added a commit to Veetaha/rust-analyzer that referenced this issue Jun 18, 2020
@bjorn3
Copy link
Member

bjorn3 commented Jul 2, 2020

What is missing after #5188?

@matklad
Copy link
Member Author

matklad commented Jul 2, 2020

Nothing, the "one step troubleshooting" unforunately has to go, as status bar icons don't support context menu

@matklad matklad closed this as completed Jul 2, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-vscode vscode plugin issues E-medium
Projects
None yet
Development

No branches or pull requests

4 participants