Skip to main content
VS Code preview Full workbench mockup using this variant's colors and tokenColors.
colors Workbench UI color keys from the theme JSON colors map.
activityBar.activeBackground #0e1011 activityBar.activeBorder #0c0c0d activityBar.background #0e1011 activityBar.foreground #7b7b7b activityBar.inactiveForeground #7b7b7b64 activityBarBadge.background #161616 tokenColors TextMate scopes and font styles (syntax highlighting rules).
scope foreground fontStyle comment, comment.line, comment.line.double-slash, comment.line.double-slash.js, comment.line.double-slash.jsx, comment.line.double-slash.ts, comment.line.double-slash.tsx, comment.block, comment.block.documentation, punctuation.definition.comment #10683c italic entity.name.tag.html #d3a9a9 — punctuation.definition.tag, punctuation.definition.tag.begin.html, punctuation.definition.tag.end.html #bfd5ffa2 — entity.other.attribute-name.html, text.html.basic entity.other.attribute-name.html
Shiki preview TypeScript sample highlighted with this variant's colors and tokenColors.
Asteria | Coding Theme
activityBarBadge.foreground #7f7f7f
badge.background #161616
badge.foreground #7f7f7f
breadcrumb.activeSelectionForeground #ebebeb
breadcrumb.background #0e1011
breadcrumb.focusForeground #d3d2d2
breadcrumb.foreground #eec0c0
breadcrumbPicker.background #0e0f10
dropdown.background #0e1011
dropdown.border #7b7b7b64
dropdown.foreground #7b7b7b
dropdown.listBackground #0e1011
editor.background #0e1011
editor.findMatchBackground #666
editor.findMatchBorder #000
editor.findMatchHighlightBackground #000
editor.findMatchHighlightBorder #000
editor.foldBackground #f5f8fa
editor.foreground #7b7b7b
editor.lineHighlightBackground #7b7b7b24
editor.selectionBackground #081c36
editor.symbolHighlightBackground #fff
editor.symbolHighlightBorder #000
editor.wordHighlightBackground #000
editor.wordHighlightStrongBackground #666
editorBracketMatch.border #7029f3
editorCursor.foreground #52faba
editorError.background #0e1011
editorError.border #ff2e2e
editorError.foreground #7b7b7b
editorGroupHeader.tabsBackground #0e1011
editorGutter.addedBackground #56d68c
editorGutter.background #0e1011
editorGutter.deletedBackground #f35858
editorGutter.foldingControlForeground #6b6a6d
editorGutter.modifiedBackground #f7f899
editorHoverWidget.background #090a0a
editorHoverWidget.border #131414
editorHoverWidget.foreground #6e7b7b
editorIndentGuide.activeBackground #48494a
editorIndentGuide.background #181a1b
editorLineNumber.activeForeground #dbcfcf
editorLineNumber.foreground #7b7b7b
editorSuggestWidget.background #090a0a
editorSuggestWidget.border #131414
editorSuggestWidget.foreground #6e7b7b
editorSuggestWidget.highlightForeground #767676
editorSuggestWidget.selectedBackground #040404
foreground #7b7b7b
menu.background #0e1011
menu.border #7b7b7b24
menu.foreground #7b7b7b
menu.selectionBackground #7b7b7b24
menu.selectionForeground #f1f1f1
menu.separatorBackground #cecece24
menubar.selectionBackground #7b7b7b24
menubar.selectionForeground #a8a7a6
minimap.background #0e1011
minimap.errorHighlight #f35858
minimap.findMatchHighlight #65d39c
minimap.selectionHighlight #ffbfbf
minimap.warningHighlight #d39165
minimapGutter.addedBackground #65d39c
minimapGutter.deletedBackground #f35858
minimapGutter.modifiedBackground #d39165
minimapSlider.activeBackground #ffffff48
minimapSlider.background #ffffff16
minimapSlider.hoverBackground #ffffff32
sash.hoverBorder #c5c5c5
scrollbar.shadow #cecece03
scrollbarSlider.activeBackground #484848
scrollbarSlider.background #323232
scrollbarSlider.hoverBackground #3a393d
sideBar.background #0e1011
sideBar.foreground #7b7b7b
sideBarSectionHeader.background #191a1c
sideBarSectionHeader.border #191a1c
sideBarSectionHeader.foreground #7d828b
sideBarTitle.foreground #cecece
statusBar.background #090a0a
statusBar.debuggingBackground #797983
statusBar.debuggingForeground #0c0c0d
statusBar.foreground #797979
statusBarItem.hoverBackground #020203
tab.activeBackground #0e1011
tab.activeBorderTop #aaaaaa
tab.activeForeground #d3d2d2
tab.border #0e101164
tab.hoverBackground #7b7b7b40
tab.hoverForeground #d3d2d2
tab.inactiveBackground #7b7b7b16
tab.inactiveForeground #d3d2d272
terminal.ansiBlack #0e1011
terminal.ansiBlue #6bb3ee
terminal.ansiCyan #8cebe3
terminal.ansiGreen #65d39c
terminal.ansiMagenta #f898d3
terminal.ansiRed #ff8e8e
terminal.ansiWhite #f8f8f8
terminal.ansiYellow #d39165
terminal.background #0e1011
terminal.border #7b7b7b
terminal.foreground #c7c7c7
terminal.selectionBackground #cecece24
terminalCursor.foreground #61f8ec88
titleBar.activeBackground #0e1011
titleBar.activeForeground #7b7b7b
titleBar.border #0e1011
titleBar.inactiveBackground #0e101196
titleBar.inactiveForeground #7b7b7b80
widget.shadow #7b7b7b08
window.activeBorder #7b7b7b24
window.inactiveBorder #0e101196 #A4B7D1
meta.attribute.content.html, meta.attribute.unrecognized.role.html, string.quoted.double.html, string.quoted.single.html #65d39c —
text.html.derivative #c0c0c0 —
punctuation.definition.string.begin.html, punctuation.definition.string.end.html, punctuation.separator.key-value.html #a4b7d19d —
constant.character #89ffff46 —
punctuation.definition.entity.html #89ffff98 —
punctuation.definition.comment.html #e7ffff11 —
comment.block.html #e7ffff21 —
source.css, source.sass #d4d4d4 —
comment.block.css, comment.block.scss, comment.block.sass, comment.block.documentation.scss, comment.block.documentation.sass, comment.line.scss, comment.line.sass #10683c italic
entity.name.tag.wildcard.css, entity.name.tag.wildcard.scss, entity.name.tag.wildcard.sass #ff9d4d bold
entity.other.attribute-name.id.css #ff8e8e —
entity.name.tag.css #9db6ec —
entity.other.attribute-name.pseudo-element.css #626969 bold
entity.other.attribute-name.class, entity.other.attribute-name.class.css #ffbfbf —
entity.other.attribute-name.pseudo-class.css #626969 italic bold
entity.other.attribute-name.css, entity.other.attribute-name.attribute.scss, entity.other.attribute-selector.sass #437878 —
punctuation.definition.entity.begin.bracket.square.css, punctuation.definition.entity.end.bracket.square.css, punctuation.definition.attribute-selector.begin.bracket.square.scss, punctuation.definition.attribute-selector.end.bracket.square.scss #589e9e —
meta.attribute-selector.scss #72b97b —
keyword.operator.combinator.css #ff8e8e —
support.type.property-name.css #ffffff80 —
support.constant.property-value.css, support.constant.media.css #356161 bold
string.quoted.single.css, string.quoted.single.scss, string.quoted.double.css, string.quoted.double.scss #72b97b —
constant.numeric.css #9c89f0 —
keyword.other.unit.px.css, keyword.other.unit.rem.css, keyword.other.unit.em.css, keyword.other.unit.vh.css, keyword.other.unit.vw.css, keyword.control.unit.css.sass, keyword.other.unit.percentage.css #6a5da3 bold
variable.css, variable.scss #c7a688 italic
support.function.misc.css, support.function.misc.scss, entity.name.function, support.function.calc.css, support.function.url.css #f1a7bd italic
punctuation.section.function.begin.bracket.round.css, punctuation.section.function.end.bracket.round.css, punctuation.section.function.scss, entity.name.function.close #f1a7bd
keyword.control.at-rule #5f6f81 bold
keyword.operator.logical.and.media.css #626969 italic
meta.at-rule.media.header.css #5f6f81 —
keyword.other.important.css, keyword.other.important.scss, keyword.other.default.scss #ff8e8e —
punctuation.definition.entity.css, punctuation.separator.key-value.css, punctuation.terminator.rule.css #4d5353 bold
constant.other.color.rgb-value.hex.css #7b80a8 bold
support.constant.color.w3c-standard-color-name.css, support.constant.color.w3c-extended-color-name.css #ad919a italic bold
comment.punctuation.comma.sass #4f5757 —
keyword.operator.logical.js, keyword.operator.logical.jsx, keyword.operator.logical.ts, keyword.operator.logical.tsx, keyword.operator.comparison.js, keyword.operator.comparison.jsx, keyword.operator.comparison.ts, keyword.operator.comparison.tsx, keyword.operator.assignment.js, keyword.operator.assignment.jsx, keyword.operator.assignment.ts, keyword.operator.assignment.tsx, keyword.operator.ternary.js, keyword.operator.ternary.jsx, keyword.operator.ternary.ts, keyword.operator.ternary.tsx, storage.type.function.arrow.js, storage.type.function.arrow.jsx, storage.type.function.arrow.ts, storage.type.function.arrow.tsx, meta.arrow.js, meta.arrow.jsx, meta.arrow.ts, meta.arrow.tsx, keyword.operator.optional.js, keyword.operator.optional.jsx, keyword.operator.optional.ts, keyword.operator.optional.tsx, punctuation.terminator.statement.js, punctuation.terminator.statement.jsx, punctuation.terminator.statement.ts, punctuation.terminator.statement.tsx #ffffff38 —
storage.type, storage.type.js, storage.type.jsx, storage.type.ts, storage.type.tsx, storage.type.function #363b3b italic bold
support.variable.property.js, support.variable.property.jsx, support.variable.property.ts, support.variable.property.tsx #f4f4f4 —
constant.language.boolean.true.js, constant.language.boolean.true.jsx, constant.language.boolean.true.ts, constant.language.boolean.true.tsx, constant.language.boolean.false.js, constant.language.boolean.false.jsx, constant.language.boolean.false.ts, constant.language.boolean.false.tsx #589e9e italic bold
constant.language.null.js, constant.language.null.jsx, constant.language.null.ts, constant.language.null.tsx, constant.language.undefined.js, constant.language.undefined.jsx, constant.language.undefined.ts, constant.language.undefined.tsx #ccc9c9 italic
storage.modifier.async.js, storage.modifier.async.jsx, storage.modifier.async.ts, storage.modifier.async.tsx #356161 italic bold
keyword.control.conditional.js, keyword.control.conditional.jsx, keyword.control.conditional.ts, keyword.control.conditional.tsx, keyword.control.trycatch.js, keyword.control.trycatch.jsx, keyword.control.trycatch.ts, keyword.control.trycatch.tsx, keyword.control.switch.js, keyword.control.switch.jsx, keyword.control.switch.ts, keyword.control.switch.tsx, keyword.operator.expression.instanceof.js, keyword.operator.expression.instanceof.jsx, keyword.operator.expression.instanceof.ts, keyword.operator.expression.instanceof.tsx, storage.type.function.js, storage.type.function.jsx, storage.type.function.ts, storage.type.function.tsx #356161 italic bold
keyword.control.loop.js, keyword.control.loop.jsx, keyword.control.loop.ts, keyword.control.loop.tsx, keyword.control.loop.js, keyword.operator.expression.of.js, keyword.operator.expression.of.jsx, keyword.operator.expression.of.ts, keyword.operator.expression.of.tsx #356161 italic bold
keyword.control.flow.js, keyword.control.flow.jsx, keyword.control.flow.ts, keyword.control.flow.tsx #616183 italic bold
variable, string constant.other.placeholder #a4b7d1 —
variable.language.this.js, variable.language.this.jsx, variable.language.this.ts, variable.language.this.tsx #ff8e8e italic
variable.language.super.js, variable.language.super.jsx, variable.language.super.ts, variable.language.super.tsx #cfabab italic bold
keyword.operator.new.js, keyword.operator.new.jsx, keyword.operator.new.ts, keyword.operator.new.tsx #faffe067 italic bold
keyword.control.import.js, keyword.control.import.jsx, keyword.control.import.ts, keyword.control.import.tsx, keyword.control.from.js, keyword.control.from.jsx, keyword.control.from.ts, keyword.control.from.tsx, keyword.control.as.js, keyword.control.as.jsx, keyword.control.as.ts, keyword.control.as.tsx, keyword.control.export.js, keyword.control.export.jsx, keyword.control.export.ts, keyword.control.export.tsx, keyword.control.default.js, keyword.control.default.jsx, keyword.control.default.ts, keyword.control.default.tsx, storage.modifier.js, storage.modifier.jsx, storage.modifier.ts, storage.modifier.tsx #363b3b italic bold
constant.language.import-export-all.js, constant.language.import-export-all.jsx, constant.language.import-export-all.ts, constant.language.import-export-all.tsx #cfabab bold
entity.name.function, entity.name.function.js, entity.name.function.jsx, entity.name.function.ts, entity.name.function.tsx, meta.function-call, meta.function-call.js, meta.function-call.jsx, meta.function-call.ts, meta.function-call.tsx #ffbfbf —
storage.type.class.js, storage.type.class.jsx, storage.type.class.ts, storage.type.class.tsx #776479 italic bold
entity.name.type.class.js, entity.name.type.class.jsx, entity.name.type.class.ts, entity.name.type.class.tsx, entity.other.inherited-class.js, entity.other.inherited-class.jsx, entity.other.inherited-class.ts, entity.other.inherited-class.tsx #fac7c7 italic
string.quoted.single.js, string.quoted.single.jsx, string.quoted.single.ts, string.quoted.single.tsx, string.quoted.double.js, string.quoted.double.jsx, string.quoted.double.ts, string.quoted.double.tsx, string.template.js, string.template.jsx, string.template.ts, string.template.tsx #65d39c —
punctuation.definition.template-expression.begin.js, punctuation.definition.template-expression.begin.jsx, punctuation.definition.template-expression.begin.ts, punctuation.definition.template-expression.begin.tsx, punctuation.definition.template-expression.end.js, punctuation.definition.template-expression.end.jsx, punctuation.definition.template-expression.end.ts, punctuation.definition.template-expression.end.tsx #d3ffd8de —
constant.numeric.decimal.js, constant.numeric.decimal.jsx, constant.numeric.decimal.ts, constant.numeric.decimal.tsx #d39165 —
entity.name.tag.js, entity.name.tag.jsx, entity.name.tag.ts, entity.name.tag.tsx #d3a9a9 —
entity.other.attribute-name.js, entity.other.attribute-name.jsx, entity.other.attribute-name.ts, entity.other.attribute-name.tsx #ffffffcc italic
storage.type.namespace.ts, storage.type.namespace.tsx, storage.type.type.ts, storage.type.type.tsx #363b3b italic bold
entity.name.type.module.ts, entity.name.type.module.tsx, entity.name.type.ts, entity.name.type.tsx #ffa6a6 italic
entity.name.type.alias.ts, entity.name.type.alias.tsx #ffbfa6 italic
support.type.primitive.ts, support.type.primitive.tsx #cea3ce —
support.type.property-name.json —
source.json meta.structure.dictionary.json support.type.property-name.json #e0e0e0 —
source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json #ffbfbf —
source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json #c0c0c0 —
source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json #a4b7d1 —
source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json #e0e0e0 —
source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json #ffbfbf —
source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json #c0c0c0 —
source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json #a4b7d1 —
source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json #e0e0e0 —
string.quoted.double.json #65d39c —
constant.numeric.json #d39165 —
constant.language.json #589e9e italic bold
punctuation.definition.array.begin.json, punctuation.definition.array.end.json #fcff3e —
punctuation.separator.dictionary.key-value.json, punctuation.separator.dictionary.pair.json #e0e0e0 —
punctuation.separator.array.json #e0e0e080 —
text.html.markdown, punctuation.definition.list_item.markdown #b8b8b8 —
text.html.markdown markup.inline.raw.markdown, markup.inline.raw.string.markdown #65d39c —
text.html.markdown markup.inline.raw.markdown punctuation.definition.raw.markdown #b8b8b8 —
markdown.heading, entity.name.section.markdown, markup.heading | markup.heading entity.name, markup.heading.markdown punctuation.definition.heading.markdown #a4b7d1 —
markup.italic.markdown #ffe1e1 italic
markup.bold, markup.bold string #ffe1e1 bold
markup.bold markup.italic, markup.italic markup.bold, markup.quote markup.bold, markup.bold markup.italic string, markup.italic markup.bold string, markup.quote markup.bold string #ffe1e1 italic bold
markup.underline #ffe1e1 underline
punctuation.definition.quote.begin.markdown #ffffff32 —
markup.quote.markdown #626969 italic bold
string.other.link.title.markdown, string.other.link.description.markdown #ff8e8e —
string.other.link.description.title.markdown #ff8e8e italic
constant.other.reference.link.markdown, markup.underline.link.markdown, markup.underline.link.image.markdown #FFBFBF —
punctuation.definition.string.begin.markdown, punctuation.definition.string.end.markdown, punctuation.definition.metadata.markdown #a4b7d1 —
punctuation.definition.list.begin.markdown #ffffff32 —
markup.list.numbered.markdown, markup.list.unnumbered.markdown #c7a688 —
punctuation.definition.markdown #ffffff32 —
meta.separator #ffe1e1 bold
string.unquoted.plain.out.yaml #7b7b7b —
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 } !` ;
}
fetchUser.ts
index.ts
README.md
src
components
fetchUser.ts
src
components
fetchUser.ts
fetchUser 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Problems1
Output
Debug Console
Terminal
Ports
~/my-project $ pnpm dev
▲ Next.js ready on http://localhost:3000
✓ compiled client and server successfully in 412ms
wait - compiling /theme/vscode...
~/my-project
main*
Button.tsx
31
$
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 } !` ;
}