Skip to main content
Coding Theme

Color themes

VS Code preview

Full workbench mockup using this variant's colors and tokenColors.

src
components
fetchUser.ts
User
tags
export interface User {
  id: string;
  name: string;
  role: "admin" | "member";
  tags: string[];
}

/**
 * Fetch user data by ID
 * @param id
 * @returns User object or null if ID is invalid
 */
export async function fetchUser(id: string): Promise<User | null> {
  if (!id) {
    return null;
  }

  const response = await fetch(`/api/users/${id}`, {
    method: "GET",
    headers: { Accept: "application/json" },
  });

  if (!response.ok) {
    throw new Error(`HTTP ${response.status}`);
  }

  return (await response.json()) as User;
}

function greet(user: User): string {
  // Simple greeting function that uses the user's name
  return `Hello, ${user.name}!`;
}
WSL
1 1
main*
Copilot
Ln 5, Col 12
Spaces: 2
UTF-8
LF
TypeScript
macOS Classic Dark

macOS Classic aims at native macOS apps such as TextMate and Safari. It has a light theme and two dark themes.

macOS Classic is white with black text. Comments are #007fff. Keywords and numbers are #0433ff. Strings are #036A07. Functions are #0000A2. Types are #6f42c1.

Dark uses background #131313 and text #DDDDDD. Comments are #9E9E9E. Keywords, numbers, and storage types are #E19773. Strings are #76BA53. Functions are #E1D797. Types are #A86D3B.

Dark v2 keeps that background. Text is #E8E4CF. Keywords and numbers are #AE9513. Functions are #c0b298. Types are #D73737. Strings stay #76BA53.

colors

Workbench UI color keys from the theme JSON colors map.

keyHEXRGBRGBA
activityBar.background
activityBar.border
activityBar.foreground
activityBar.inactiveForeground
activityBarBadge.background
activityBarBadge.foreground
button.background
button.border
button.hoverBackground
button.secondaryBackground
button.secondaryHoverBackground
dropdown.background
dropdown.border
dropdown.foreground
editor.background
editor.findMatchBackground
editor.findMatchHighlightBackground
editor.foreground
editor.lineHighlightBackground
editor.selectedForeground
editor.selectionBackground
editor.wordHighlightBackground
editorBracketMatch.background
editorBracketMatch.border
editorCursor.foreground
editorGroup.border
editorGroupHeader.border
editorGroupHeader.tabsBackground
editorGroupHeader.tabsBorder
editorHoverWidget.background
editorHoverWidget.border
editorHoverWidget.selectedBackground
editorIndentGuide.background
editorLineNumber.background
editorLineNumber.foreground
editorSuggestWidget.background
editorSuggestWidget.border
editorSuggestWidget.highlightForeground
editorSuggestWidget.selectedBackground
editorSuggestWidget.selectedForeground
editorWidget.background
editorWidget.border
focusBorder
input.background
input.border
input.foreground
inputOption.activeBackground
list.activeSelectionBackground
list.activeSelectionForeground
list.hoverBackground
list.hoverForeground
list.inactiveSelectionBackground
list.inactiveSelectionForeground
notification.background
panel.background
panel.border
panelInput.border
panelTitle.activeBorder
panelTitle.activeForeground
problemsWarningIcon.foreground
scrollbar.shadow
scrollbarSlider.activeBackground
scrollbarSlider.background
scrollbarSlider.hoverBackground
selection.background
sideBar.background
sideBar.border
sideBar.foreground
sideBarSectionHeader.background
sideBarSectionHeader.border
sideBarSectionHeader.foreground
sidebarTitle.background
sideBarTitle.foreground
statusBar.background
statusBar.border
statusBar.debuggingBackground
statusBar.debuggingForeground
statusBar.foreground
statusBar.noFolderBackground
statusBar.noFolderForeground
tab.activeBackground
tab.activeBorder
tab.activeBorderTop
tab.activeForeground
tab.border
tab.inactiveBackground
tab.inactiveForeground
terminal.ansiBlue
terminal.ansiBrightBlue
terminal.ansiBrightCyan
terminal.ansiBrightGreen
terminal.ansiBrightMagenta
terminal.ansiBrightRed
terminal.ansiBrightWhite
terminal.ansiCyan
terminal.ansiGreen
terminal.ansiMagenta
terminal.ansiRed
terminal.ansiWhite
titleBar.activeBackground
titleBar.border
titleBar.inactiveBackground
widget.border
widget.shadow

tokenColors

Foregrounds this theme assigns to the token scope catalog. A rule with only a font style is skipped, and a longer matching scope wins. Italic and bold rules are not listed — the preview above shows them in the code.

scopeHEXRGBRGBA
comment
comment.block
comment.block.documentation
comment.line
constant
constant.character
constant.character.escape
constant.numeric
constant.numeric.integer
constant.numeric.float
constant.numeric.hex
constant.numeric.octal
constant.other
constant.other.placeholder
entity
entity.name
entity.name.function
entity.name.tag
entity.name.type
entity.name.type.enum
entity.name.type.interface
entity.name.type.struct
entity.other
entity.other.attribute-name
entity.other.inherited-class
keyword
keyword.control
keyword.control.flow
keyword.operator
keyword.operator.new
keyword.operator.assignment
keyword.operator.arithmetic
keyword.operator.logical
keyword.other
markup
markup.inline.raw
meta
meta.function-call
meta.tag
punctuation.separator
storage
storage.modifier
storage.type
string
string.interpolated
string.other
string.quoted
string.quoted.double
string.quoted.other
string.quoted.single
string.quoted.triple
string.regexp
string.template
string.unquoted
support
support.class
support.constant
support.function
support.other
support.type
support.type.primitive
support.type.property-name
support.variable
variable
variable.language
variable.other
variable.other.constant
variable.other.readwrite
variable.parameter