One Dark Darker YY
A One Dark variant for VS Code, built on the OneDark themes of other
publishers with the addition of JetBrains RubyMine IDE colors — ported
hex-for-hex from the original files rather than matched by eye:
- UI chrome (backgrounds, borders, accent color) from the One Dark Darker
IntelliJ Platform theme.
- Syntax highlighting from a One Dark editor color scheme, including the
Ruby-specific attributes most One Dark ports skip — symbols, local
variables, string interpolation, regular expressions.
Screenshots
Credits and inspiration
This theme would not exist without the work of others. It is a personal port,
not an original design:
- One Dark Darker
by Obelisk — the JetBrains IDE theme whose UI palette this reproduces.
If you use a JetBrains IDE, go get the original.
- One Dark Pro by Binaryify —
the reference One Dark implementation for VS Code, and the reason a port
like this one was even worth attempting. It is far more configurable than
this theme and supports five variants.
- Atom One Dark — the origin of
the palette everything above descends from.
Several colors are taken from a JetBrains RubyMine color scheme (.icls
export). Every color here traces back to either that scheme or the One Dark
Darker plugin's UI theme, apart from a single fully-transparent sentinel used
to suppress the bracket-match border.
The JetBrains source files themselves are deliberately not kept in this
repository — they belong to their authors, and redistributing a third-party
plugin's files is not this project's to do.
This project is not affiliated with or endorsed by JetBrains, Obelisk, or
Binaryify.
Install (local, unpublished)
Symlink this folder into your VS Code extensions directory:
ln -s "$(pwd)" ~/.vscode/extensions/one-dark-darker-yy
Restart VS Code, then pick One Dark Darker YY from
Preferences: Color Theme (Cmd+K Cmd+T).
Preview without installing
code --extensionDevelopmentPath="$(pwd)" --new-window "$(pwd)"
Verify colors
Every color in this theme was checked programmatically against the original
JetBrains source files — each hex traces back to a specific attribute of the
plugin's UI theme or the editor color scheme, rather than being matched by eye.
Both the checking script and those source files are local development tools,
deliberately untracked, so they are not part of a clone.
Publishing to the VS Code Marketplace
Read the "Before you publish" section first — publishing this particular
theme is not only a technical question.
Before you publish
This is a port of someone else's design (see Credits above). The color
values themselves are not meaningfully copyrightable and One Dark variants are
everywhere, so this is a courtesy question more than a legal one: keep the
credits visible, and consider telling the original authors. The extracted
JetBrains source files are in neither this repository nor the packaged
.vsix, so no third-party plugin content is redistributed.
Manifest state
package.json is publish-ready: publisher, license, repository and
keywords are filled in, and a LICENSE file exists.
Two things still need attention each time:
version must be bumped for every publish — the Marketplace rejects a
version that already exists.
icon is absent. Optional, but the listing looks unfinished without one:
a 128×128 PNG, referenced as "icon": "icon.png".
Two ways to publish
Web upload — no token needed. Build the package, then upload it by hand:
npx @vscode/vsce package
Go to https://marketplace.visualstudio.com/manage, open your publisher, and
upload the generated .vsix. This is the simplest path for an occasional
release.
CLI — needs a Personal Access Token. The token is the only reason Azure
DevOps enters the picture; creating the publisher itself needs nothing but a
Marketplace login.
- Create an organization at https://dev.azure.com (free).
- User settings → Personal access tokens → New Token. Set
Organization to All accessible organizations and scope it to
Marketplace → Manage. A token scoped to one organization fails to
authenticate.
- Then:
npx @vscode/vsce login YaroslavYe # paste the PAT when prompted
npx @vscode/vsce publish
vsce publish minor will bump the version, commit it, and publish in one go.
Note the @vscode/ scope — the unscoped vsce package is deprecated.
Check the package before releasing it
npx @vscode/vsce package
code --install-extension one-dark-darker-yy-0.1.0.vsix
package prints the file list. Verify reference/, docs/, scripts/ and
.superpowers/ are absent, and that themes/ and package.json are present.
The listing page goes live immediately; search indexing takes a few minutes.
After publishing
Unpublishing is possible (npx @vscode/vsce unpublish <publisher>.<name>) but
it frees the name for anyone else and breaks installs for whoever already has
it. Treat the first publish as effectively permanent.