microsoft/vscode

Customizable status bar item locations

ellman121 opened this issue ยท 41 comments

Hello

It would be really nice if one could customize the location of the items in the status bar at the bottom of the editor. For instance, I would want to have git branch information on the right, text encoding and position on the left, etc.

Maybe allow people to sort things with something like

"window.statusBar.items": {
    "left" : ["cursorPosition", "tabWidth"],
    "right": ["textEncoding", "gitBranch", "feedbackButton" ] 
}

Is there a canonical list somewhere of what items may be displayed in the status bar area? For example, I'm uncertain if extensions can add their own items. If so, there might need to be a way to specify the desired location of items not explicitly listed in the configuration setting:

"window.statusBar.items": {
  "left" : ["cursorPosition", "tabWidth", "*"], # i.e., "put anything I didn't list on the left"
  "right": ["textEncoding", "gitBranch", "feedbackButton" ] 
}

So status bar items are placed by calling addEntry on an IStatusbarService. The current algorithm for inserting items is priority based as seen here. So the way status bar items are added to the status bar would likely be need to be refactored to allow users to configure where items can be placed.

As well, @benkimball, Extensions are allowed to add their own entries to the status bar, so that will have to be accounted for as well.

@bpasero, Do you or anyone else on the vscode team know of a possible way to implement such?

Any update on this?

Pinging to see if any updates on this?

Yes, please make this a feature and I will use VSCode as my new editor. But for now, Atom will have to do.

+1

Maybe it could be prioritized, e.g. 100, 95, 65 etc. to have more flexible ways
Example:

    "window.statusBar.items": {
        "left": [
            "cursorPosition": 100,
            "tabWidth": 85
        ],
        "right": [
            "textEncoding": 100,
            "gitBranch": 56",
            "feedbackButton": 24"
        ]
    }

Maybe allow people to sort things with something like

"window.statusBar.items": {
    "left" : ["cursorPosition", "tabWidth"],
    "right": ["textEncoding", "gitBranch", "feedbackButton" ] 
}

Please no more settings in json. Drag and drop would work just fine..

But it still needs to be saved somewhere, and settings is the natural place. Drag-n-drop as an alternative UI for this seems like a good idea though.

@PLyczkowski I happen to enjoy modifying my settings in raw JSON. Beyond that, it makes it super easy to transport between installations and also allows for users to see directly how things are "under the hood"

I don't have anything to add apart from to bump this issue. Even exposing the priority of built-in status bar items would go some way to alleviating this problem.

imkzh commented

how much is the chance that someone may want some items being centered?

also vote up for prioritized value, because user may be in a RTL context/culture.

    "window.statusBar.items": {
        "major": {
            "cursorPosition": 100,
            "tabWidth": 85
        },
        "minor": {
            "textEncoding": 100,
            "gitBranch": 56",
            "feedbackButton": 24",
        },
        "center": {"timeAndDate": 1},
        "hidden": ["feedback", "gitPush"]
    }

for items not mentioned in the list, it should be placed at it's default place with some predefined/requested priority level (saying "lowest" | "highest" | value ).

In my case, it will be useful to move the "Project manager" button to the far-left position.

I would like to change the location of the status bar items too :) ๐Ÿ‘

Well I would like to move git blame to the end of the status bar. For some reason it keeps flashing as I type meh. Surely when you right click the menu couldn't you make that a draggable list like with tree view.. and just add a seperter for left and right.

vscode-fixthis

Any Update on this ?

Is this still a possibility to get implemented?

is there any notification about this feature? because I tried working on the settings.js for this but nothing is activated!

Would love to have this items-drag-with-mouse functionality in vscode status bar.

This would be incredible useful :(

Pinging to see if any updates on this? #35744 (comment)

Two years later. Maybe one day we'll get this... one day. See you again in 2023 with the same reply.

Still no updates on this? :(

This would be so good. :(

This would be so nice. ๐Ÿคฉ

plz...

Please don't post comments just saying you want this feature. That's what the ๐Ÿ‘ reaction is for. These comments are not constructive and just send unnecessary notifications to the people watching this issue.

I want to move "workspace trust" indicator to the very left to have a clearer focus on important notification.

narze commented

I workaround by using Customize UI extension to inject the stylesheet

{
  "customizeUI.stylesheet": {
    "footer.part.statusbar > .left-items #status\\.host": "order: -999;", // Fix host to the most left by default
    "footer.part.statusbar > .left-items #alefragnani\\.project-manager\\.projectManager\\.statusBar": "order: -1;" // The second Item
  }
}

Element ID will have to be inspected with Developer: Toggle Developer Tools

I'm also using Customize UI to change things around to how I had them in Atom.

   "#RoscoP\\.ActiveFileInStatusBar": "order: 1;",
    "#status\\.problems": "order: 2;",
    "#mkxml\\.vscode-filesize": "order: 3;",
    "#status\\.scm\\.0": "order: 4;",

However, it should be noted that this doesn't allow me to move items from the left to the right, and vice versa, since those are different container elements. We'd have to inject some JS to do that.

This is a feature I'd very much like to see. I'd be up for writing the code to make this happen, but I've had a pretty bad first contribution experience trying to get answers from maintainers on something as simple as adding data attributes to file explorer nodes so I'm really not hopeful that maintainers would even entertain this idea unless it's blessed by Microsoft.

Any progress so far?

Pinging to see if any updates on this? #35744 (comment)

Two years later. Maybe one day we'll get this... one day. See you again in 2023 with the same reply.

Now its 2023. @xcesiv its time to come backand renew the pinning.

Pinging to see if any updates on this? #35744 (comment)

Two years later. Maybe one day we'll get this... one day. See you again in 2023 with the same reply.

Now its 2023. @xcesiv its time to come backand renew the pinning.

Guess who? Still hoping on that one day. See you again in 2025 folks.

Still no updates!

still no updates

Bump. I have this weird thing where the GitLab & Jest extensions have intermingled Status Bar items, and I'd like to manually fix their positions:
image

Please include this! It would be so helpful to be able to arrange these items based on what they show and how I want them. Please!

Pesc0 commented

Bump!

It would be lovely if I could fix the current Jira issue and GitHub PR to be next to each other.
image

It's 2055.
@xcesiv
Your turn

zweack commented

@Erik-vdb chatgpt will get frustrated with this and recreate vs code for AI. We can borrow that.