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.

ext install rowhitswami.nameplate

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.

Storefront
Blue #216de8
Docs
Cyan #50dee9
Infra
Teal #158280
Mobile App
Green #0c6427
Search
Lime #c3ea43
Website
Orange #c74b15
Admin
Ocean #0a557d
Analytics
Pink #c63a86
Auth
Magenta #9212a4
Billing API
Purple #9051eb
Design System
Indigo #4132b9

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.

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

Install

Search for Nameplate in the Extensions view, or use one of these links.