Which project is this window?
With a few VS Code windows open, they all look the same. Nameplate puts the project's name in the status bar and gives every project its own status bar color, so you can tell the windows apart at a glance, even the ones in the background.
The problem
VS Code gives every window the same theme and the same layout. The only sign of which project a window belongs to is the folder name in the title bar, in small gray text, and after a few quick switches you stop reading it.
That is how a migration runs in the wrong terminal, a commit gets pushed from the wrong repository, or you spend ten minutes editing a second clone of a project and wonder why nothing changes.
A color is recognized before you read anything. Nameplate gives each project one, keeps it the same every day, and puts the name next to it so there is no doubt what the color means.
A name and a color for each project
The name comes from the project: the folder, package.json, Expo's app.json, pyproject.toml, go.mod, Cargo.toml or the Git remote. If one of them spells it with capitals, such as BrightDesk, that spelling is used.
The color is worked out from the Git remote, so the same repository has the same color on your laptop and your desktop. The eleven automatic colors were picked so that every one of them looks clearly different from all the others. Red and yellow are left out because they look like errors and warnings.
Windows opened together still differ
Start VS Code with five projects and each window gets a different color. The windows take turns: each one checks which colors are already on screen and picks one that looks clearly different. Colors are compared the way the eye sees them, so near-identical shades such as teal and green count as the same color.
If two windows ever end up alike, the newer one changes color and shows a short message saying so.
Change it from the status bar
Click the name to rename the project, pick a color with a live preview, add a label such as PROD, copy the path or the Git remote, or open the repository in the browser.
These are ordinary VS Code menus, and every action is also in the Command Palette.
Your repository stays clean
VS Code keeps a window's colors in the project's .vscode/settings.json, and many projects commit that file. Nameplate adds a small local Git filter for it, so Git reads the file without Nameplate's lines.
git status stays clean, the colors never end up in a commit, and your own edits to the file show up as usual. There is nothing to set up, and Nameplate removes the filter when it stops coloring the project.
Runs in your editor
Nameplate uses only the standard extension API, so it runs in VS Code and in the editors built on it. Editors that can't use Microsoft's Marketplace install it from Open VSX.
- Visual Studio Marketplace
- Open VSX
- Open VSX
- Open VSX
- Open VSX
- Open VSX
- Open VSX
- .vsix file
Any editor based on VS Code 1.85 or later can install the .vsix from the GitHub releases page (Extensions view, Install from VSIX). Remote windows over SSH, WSL and Dev Containers work too.
Questions
How can I tell VS Code windows apart?
Give every project its own status bar color and show its name. Nameplate does both automatically. It reads the project name from the folder, package.json or the Git remote, and gives each project a color that looks different from the other open windows.
How do I change the status bar color for one project?
VS Code reads workbench.colorCustomizations from the project's .vscode/settings.json and applies it to that window only. Nameplate writes the status bar colors there for you, picks a readable text color, and lets you choose another color by clicking the project name.
Will it change files in my Git repository?
The colors have to be in .vscode/settings.json, but Git never sees them. A settings file Nameplate creates is listed in .git/info/exclude, and in a settings file you commit, a local Git filter hides Nameplate's lines. Nothing shows up in git status or in a commit.
Does it work in Cursor, Windsurf, Antigravity or Kiro?
Yes. Nameplate uses the standard extension API. Cursor, Windsurf, Antigravity, Kiro, Positron and VSCodium install it from Open VSX, and VS Code installs it from the Visual Studio Marketplace.
How is it different from Peacock?
Peacock colors the title bar, activity bar and status bar with colors you choose and stores them in the workspace settings. Nameplate picks colors automatically, adds the project name, keeps open windows from sharing a color, and keeps the settings out of Git. You can use both; Nameplate leaves colors set by Peacock alone.
Does it collect any data?
No. Nameplate makes no network requests and has no telemetry. Everything it stores stays in VS Code's storage on your computer.
Is it free?
Yes. Nameplate is free and open source under the MIT license.
Good to know
- There is nothing to configure. Every open window is labeled as soon as the extension is installed.
- It makes no network requests and collects no data.
- The text on the status bar is white or black, whichever is easier to read on that color, with a contrast ratio of at least 4.5:1.
- Colors set by you or by another extension, such as Peacock, are left alone, and turning Nameplate off restores what was there before.
- The name is always shown, so the window can be identified without relying on color.
Install
Search for Nameplate in the Extensions view, or use one of these links.