Visual Studio Code status bar color
Asked Answered
I

11

162

Visual Studio Code's default status bar color is blue, and I find it quite distracting. I used this extension to change the color, but it has stopped working after the 1.10.2 update.

Incubus answered 14/3, 2017 at 8:24 Comment(3)
For people recently had same question, check a humble try of my own on the default theme colors change + integrating Material Icon theme installation github.com/mostafero/vscode-ubuntu-themeRavenravening
Personally, I didn't even want to customize it, I just wanted to find out the meaning of the colors. Other than the API reference, the only place they seem to document that purple is the "no folder" color is a "Note:" box in the Debugging section, long after which they also mention in passing that orange means debugging. But it's never presented in one place, or given a finite number of states (3). Feels like info that could live somewhere HERE.Manzoni
For how to turn off a change in status bar color when debugging, see https://mcmap.net/q/151833/-how-to-prevent-status-bar-colour-in-visual-studio-code-from-changing-to-orange-on-running-any-java-file. Set debug.enableStatusBarColor to false.Cacie
C
292

You can change the colour of the statusbar by editing the user settings by adding these lines of code in it:

"workbench.colorCustomizations": {
    "statusBar.background" : "#1A1A1A",
    "statusBar.noFolderBackground" : "#212121",
    "statusBar.debuggingBackground": "#263238"
}
Conspire answered 17/4, 2017 at 6:13 Comment(5)
can this be done dynamically? const config2 = vscode.workspace.getConfiguration('workbench.colorCustomizations.statusBar'); config2.update('background', '#1A1A1A'); doesn't seem to do anything?Orthman
@TomH I'm no expert and not quite sure how it's done "dynamically" but running Object.assign(vscode.workspace.getConfiguration('workbench.colorCustomizations'), { "statusBar.background" : "#00FF00"}) is giving me a TypeError telling me that we can't assign to a read only property. So I guess using the getConfiguration method isn't the correct way to do it.Conspire
This works well thanks @acesmndr. As described here: code.visualstudio.com/docs/getstarted/…, you can also make this change to the user settings file theme specific like this: "workbench.colorCustomizations": { "[Markdown Editor Dark]": { "statusBar.background" : "#1A1A1A", "statusBar.noFolderBackground" : "#212121", "statusBar.debuggingBackground": "#263238" } },Reflector
really helpful answer @ConspireKaltman
But how do I make it automatically switch back to dark when I change the theme to dark? UPD: Never mind, I just saw shacker's answer.Lake
M
128
  1. I am going to save 30 minutes of time to noobs like me - it has to be edited in the settings.json file. The easiest way to access it is menu command FilePreferencesSettings, search for "Color", choose an option "Workbench: Color Customizations" → "Edit in settings.json".

  2. This uses the solution proposed by Gama11, but note:
    the final form of the code in the settings.json file should be like this - note the double curly braces around "workbench.colorCustomizations":

     {
       // fontSize just for testing purposes, commented out.
       //"editor.fontSize" : 12
    
       // StatusBar color:
          "workbench.colorCustomizations": {
          "statusBar.background" : "#303030",
          "statusBar.noFolderBackground" : "#222225",
          "statusBar.debuggingBackground": "#511f1f"
         }
     }
    

After you copy/pasted code above, press Ctrl + S to save the changes to 'settings.json'.

The solution has been adapted from Status Bar colors.

Mote answered 26/1, 2019 at 21:30 Comment(1)
Thank you! Having a link to edit the settings file directly within Visual Code is a nice time saver. Also the themes are easy to change from that color search in settings as well. Visual Code is highly customizable, but getting to those settings are a bit awkward for me compared to other editors I've used.Philosophism
C
35

Since every theme is so different, you probably don't want to make changes like this globally. Instead, specify them on a per-theme basis: e.g.:

"workbench.colorCustomizations": {
    "[Some Theme Name]": {
        "statusBar.background" : "#486357",
        "statusBar.foreground" : "#c8e9c5",
    },
    "[Some Other Theme Name]": {
        "statusBar.background" : "#385357",
        "statusBar.foreground" : "#d7e9c4",
    }
},

That way when you switch between your favorite themes, your customizations of them will not be forgotten, and will make sense in that context.

Corrianne answered 1/5, 2019 at 6:49 Comment(2)
It's also great to apply this to workspace settings to differentiate between different projects, when multiple VSCode instances are open. One can also change titleBar.activeBackground and titleBar.activeForeground to make it even more apparent.Russellrusset
Note that, like in the other answers, you probably also want to set statusBar.noFolderBackground and statusBar.debuggingBackground, otherwise they won't be affected.Disconsider
S
12

These are the steps I took to set the Visual Studio Code status bar colors on macOS for a workspace (not globally).

Menu ViewCommand Palette... → search for "Open Workspace Settings (JSON)".

(This will open the project [project-name].code-workspace file.)

Add the color customizations in the settings property.

{
    "folders": [],
    "settings": {
        "workbench.colorCustomizations": {
            "statusBar.background": "#938e04",
            "statusBar.foreground": "#ffffff"
        }
    }
}

This is really useful when you have multiple instances of Visual Studio Code open and want to visually differentiate each window without having to change the global theme.

If you do not have a Workspace defined, Visual Studio Code will open .vscode/settings.json on command "Open Workspace Settings (JSON)".

If this is the case, you can just enter the workbench customizations directly:

{
   "workbench.colorCustomizations": {
        "statusBar.background": "#938e04",
        "statusBar.foreground": "#ffffff"
    }
}
Shippen answered 13/6, 2020 at 18:35 Comment(2)
On macOS, to make the color of the status bar permanent, i.e. you don't care about different windows having different colors, in the menu bar select Code > Preferences > Settings then enter "color" in the search bar. On the left, click on Workbench, and on the right where it says, Workbench: Color Customizations, click on "edit in settings.json", then enter the two "statusBar. lines in this answer.Rubella
And, if you want to make the text size bigger in the Terminal pane, add "terminal.integrated.fontSize": 18 to the same settings.json file but outside of workbench.colorCustomizations: {...}. In other words, the first line of the file is {, on the next line you can paste in "terminal.integrated.fontSize": 18, Don't forget the comma at the end. Credit: vscode.one/terminal-font-sizeRubella
O
5

There is a stronger, more robust solution than the previous answers in my opinion, and that’s to change the status bar color based on the file you're working on—it’s called ColorTabs, and it allows you to provide a list of regular expressions and change that color based on that.

Disclaimer - I wrote the extension.

Ovoid answered 5/10, 2019 at 11:23 Comment(4)
Nice extension - would love to have the regex work on full path so I can differentiate between all my VSCode opened projects.Judijudicable
It actually was on full paths, but I changed it to relative paths...Maybe it can be configuredOvoid
This would be nice to configure tab colours on the branch instead of the file name - if its develop -> green, qa -> orange, master -> red, others -> default?Phooey
The guy who wrote an extention that solves the problem has less votes than other posts which repeat what the top post says, nice.Egoist
L
3

I just registered so I can't comment directly on HelloWorldDude's reply, but that's exactly what I was looking for: Different colors per workspace to quickly differentiate between Visual Studio Code windows.

I'm on Windows 10 with Visual Studio Code 1.63.1 and the per-project setting is located in the .vscode folder of the project root, and the file itself is settings.json.

The syntax that worked for me does not include "folders" and "settings", but just the contents of the settings block, like so:

{
  "workbench.colorCustomizations": {
      "statusBar.background": "#7c0101",
      "statusBar.foreground": "#ffffff"
  }


}
Lichfield answered 15/12, 2021 at 15:16 Comment(1)
Related: Why do I need 50 reputation to comment? What can I do instead?.Sherrisherrie
M
2

You can change the color by edit extensions:

 "colors":{
        "statusBar.background": "#505050",
    },
Maxie answered 6/12, 2018 at 6:50 Comment(3)
What do you mean by "by edit extensions"? What menu command? What file? Where?Sherrisherrie
It may be a reference to file "settings.json".Sherrisherrie
This is superseded by J.Paul's answer. It contains all the instructions and other information.Sherrisherrie
I
2

There is one more extension available, Peacock, to change the color of the workplace. It allows you to choose a different color for every Visual Studio Code instance.

Import answered 6/2, 2020 at 13:28 Comment(0)
M
0

If you are using the Vim plugin, the best way to change status bar color depending on mode is to go to settings, search for "status bar color" and check "allow Visual Studio Code to change color based on mode"

Here is a snapshot of the Vim plugin status color control:

Snapshot

Midge answered 20/1, 2021 at 8:19 Comment(0)
E
0

Visual Studio 1.75 (Jan. 2023) will propose one more option, from issue 155294:

I am becoming a power-user of our debugger (yeah, finally).
This means that most of my "VS Code time" I have some kind of debuggee running or connected.

So, I am seeing the ugly orange debug status bar treatment a lot.
I don't like it and for me it's enough to see the activitybar icon decorations.

Instead of setting statusBar.debuggingBackground in workbench.colorCustomizations, there is now (PR 168513) a dedicated setting:

debug.enableStatusBarColor: Color status bar when debugger is active

This is available in VSCode insider today.

This is also mentioned in "How to prevent status bar colour in visual studio code from changing to orange on running any java file" by Mark.

Erleena answered 29/12, 2022 at 7:42 Comment(2)
Same: https://mcmap.net/q/151833/-how-to-prevent-status-bar-colour-in-visual-studio-code-from-changing-to-orange-on-running-any-java-fileCacie
@Cacie Thank you for the update. I have cross-referenced your answer in mine.Erleena
P
-1

Press Control + Shift + P when you just open Visual Studio Code and type "open settings(UI)" and search for window.titleBarStyle and change the option from native to custom so that you can restore the colour of status bar from white to black.

Important note: This technique works for update version 1.32 of Visual Studio Code released in February 2019. Make sure that you have updated your Visual Studio Code to the latest version 1.32 or further latest ones as it may not work for the older versions.

Example Screenshot

Phantasy answered 11/3, 2019 at 21:39 Comment(2)
does not answer the question, unrelated to status barMoving
like Gal said above, title bar is not status bar — former is at the top, latter is at the bottomSturrock

© 2022 - 2024 — McMap. All rights reserved.