microsoft / microsoft/vscode-cpptools
Change the 0-3 status bar icons to a single persistent icon?
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 6.2k
- Forks
- 1.7k
- Avg merge
- 14h 46m
- Merged PRs (30d)
- 61
Description
This is a proposal to combine the search, flame, and database icons into a single icon that always appears (i.e. a general cpptools icon). The icon would change its image and/or color depending on the work that is occurring
• No “long running” tasks, i.e. idle or processing quick tasks.
• Only low priority “background work” (workspace symbol parsing). Operations may be missing symbols in this state. Similar to the database icon currently.
• High priority “blocking” work (i.e. recursive includes tag parsing, IntelliSense parsing, or Find All References). Operations may be stuck “loading”, give stale results, or fallback to “tag parser” in this state. Similar to the search and flame icons currently.
Clicking the single icon would popup multiple progress UIs for every task that is running (tag parsing, IntelliSense parsing, Find All Refs, etc.) as well as show a list of valid/useful C++ commands applicable to the current state. This would be similar to clicking the bottom left icon in VS for background tasks.
One issue is that the available status bar icons is very limited, so maybe we could get VS Code to add more or add an API for contributing our own icons?
Here’s one possibility using the existing “issues” icons (with potentially green or white, red, yellow coloring?)…the available list is https://code.visualstudio.com/api/references/icons-in-labels :
This would solve multiple problems:
• The search icon for Find All References is not clickable after it’s done, so it makes post-op filtering difficult. Other post-op commands for configuring tag parsing or IntelliSense might also be useful.
• The flame/database icons appearing/disappearing can cause users to accidentally click the wrong icon when they attempt to click the search icon.
• The red flame icon looks strange now in Insiders.
• The red flame and database icons don’t currently have a progress UI like the Find All References does, so the operations are not easily cancelable and progress is harder to monitor for users who want to see it, although this could be added to the existing icons.
• It would allow us to add more progress indication for additional tasks without adding more icons, such as tag parsing caused by opening a file, which currently either shows nothing or shows the red flame (in the recursive includes case).
- I would also deal with https://github.com/microsoft/vscode-cpptools/issues/4101 .
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the existing search, flame, and database status-bar icon implementations and the VS Code status-bar icon API linked in the issue. Define a single persistent icon that reflects task state, exposes progress UIs and applicable commands when clicked, and addresses the listed usability problems; confirm whether the required icon contributions are supported.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- developer-experience, devtools
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100