BeaDarkColorful code, quieter surroundings. BeaDark is a collection of nine contrast-checked color themes for Visual Studio Code, including two optional Neon variants. It also offers independent, reversible commands for reading typography and focus. The project explores ways to make code easier to read with strong contrast, consistent syntax colors and fewer visual distractions. It does not diagnose or treat ADHD or dyslexia, and no theme or font works best for everyone.
Get started · Themes · Reading fonts · Accessibility and evidence · Contributing · Report an issue InstallationFrom a VSIXBeaDark requires desktop VS Code 1.118.0 or later. Download a
Alternatively, if the
Replace the path with the downloaded file; quote it if it contains spaces. To build a VSIX from source, follow Develop and validate. The optional commands use a desktop extension host; VS Code for the Web is not currently a documented target. First stepsTry Bea Theme Onyx for a dark, calm palette or Bea Theme Polar for a light one. For brighter syntax accents, select Bea Theme Neon Night or Bea Theme Neon Day. Choosing a theme does not change your font or enable the focus settings. To try the optional settings, open the Command Palette and run BeaDark: Choose Reading Typography or BeaDark: Enable Focus Settings. You can review and cancel the proposed changes before they are applied. Themes
Select Preferences: Color Theme and choose a Bea Theme. All nine themes are included in one VSIX. The original seven labels are unchanged, but their colors now have stronger contrast, including readable comments. These remain ordinary dark/light themes, not VS Code's native high-contrast modes. System high-contrast detection can take priority over a selected theme; BeaDark deliberately leaves that accessibility preference untouched. Syntax color roles
Neon is an optional aesthetic, not a proven attention aid. Neon Day uses darker versions of the six accents: fluorescent colors on a pale background would not be readable. Neither collection uses halos, flashing or rainbow UI borders. Warnings have their own UI role, separate from types and decorators. TextMate scopes provide the baseline. Language extensions can refine the result through semantic tokens; exact coverage depends on the grammar/provider. The same role keeps its color across languages within a collection. Use BeaDark: Show Syntax Color Legend for the selected theme's actual hex values. Color alone is not enough: syntax, squiggles and diagnostic messages remain useful, including for people who cannot distinguish all six hues. Optional commandsOpen the Command Palette:
Typography and focus are independent. Each command lets you choose user settings in the current VS Code profile or workspace settings, then shows a change preview and asks for confirmation. Canceling makes no changes. The theme is never switched automatically. Backups are saved locally before settings are written and survive extension-host restarts. Restoration removes values that were originally absent and preserves later user edits. Repeated applications keep the original backup; reapplying after a manual change takes that newer choice as the restoration point. If a write fails, BeaDark reports it, attempts rollback and retains any remaining recovery backup. Details appear in the BeaDark output channel. Workspace/folder and language-specific settings can override user preferences. BeaDark warns about detected overrides in the active document; it does not rewrite them or inspect every possible language. Restore in the original profile/workspace before uninstalling, deleting that workspace, or changing profiles. Uninstalling an extension cannot reliably run a restoration command. Reading fontsFonts must be installed manually on the computer running the VS Code UI.
A color theme cannot install or enforce a font. BeaDark cannot enumerate installed
fonts: if a family is unavailable, VS Code uses the configured
On macOS, install fonts using Font Book; on Windows, use the font file's Install action; on Linux, follow your distribution's font installation instructions. Restart VS Code if a newly installed font is not picked up. No font is universally best for dyslexia, and this extension does not diagnose or treat ADHD/dyslexia. Larger spacing is adjustable, not imposed as a treatment. Contrast targets and evidenceThe build checks 134 declared foreground/background pairs per theme:
Transparent backgrounds are composited before measurement; thresholds are not rounded to pass. Decorative borders and whitespace are intentionally quieter. This is not a blanket WCAG certification of VS Code, its extensions, terminal output, every popup, stacked decoration or custom user override. Terminal ANSI colors also depend on applications' chosen foreground/background combinations. Sources informing the design:
Try short, comparable reading tasks using your normal font and a proposed font. Compare comfort, mistakes and navigation in both light and dark environments. Keep what helps you; high contrast and saturated accents are not comfortable for everyone. Troubleshooting
For a reproducible problem, open an issue and include the VS Code and extension versions, operating system, theme name, steps to reproduce and expected behavior. For syntax-color issues, include a small example, language extension and whether semantic highlighting is enabled. Remove private code and personal information from screenshots and logs. Develop and validateNode.js 22+ and npm:
See the specification and
validation checklist for scope and visual checks.
The contribution guide explains the source files, generated
outputs and pull request workflow.
The build-only ReleasesPushes to Marketplace publication is separate: after updating License and contributionsBeaDark is available under the MIT License. Contributions, bug reports and accessibility feedback are welcome; see CONTRIBUTING.md. Font files are not included in the extension and remain subject to their own licenses. |