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.background #0f111b activityBar.border #0f111b60 activityBar.foreground #30365F activityBarBadge.background #8cdefd activityBarBadge.foreground #000000 badge.background #00000030 tokenColors TextMate scopes and font styles (syntax highlighting rules).
scope foreground fontStyle — #30365F — comment, punctuation.definition.comment, string.quoted.docstring #30365F — variable, string constant.other.placeholder #ecf0c1 — constant.other.php #f2ce00 — constant.other.color
Shiki preview TypeScript sample highlighted with this variant's colors and tokenColors.
Material Space Duck — Material Space Duck
badge.foreground
#30365F
banner.iconForeground #30365f
breadcrumb.activeSelectionForeground #8cdefd
breadcrumb.background #0f111b
breadcrumb.focusForeground #30365F
breadcrumb.foreground #30365F
breadcrumbPicker.background #0f111b
button.background #30365F50
debugToolBar.background #0f111b
diffEditor.insertedTextBackground #5ccc9615
diffEditor.removedTextBackground #e3340020
dropdown.background #0f111b
dropdown.border #30365F10
editor.background #0f111b
editor.findMatchBackground #000000
editor.findMatchBorder #8cdefd
editor.findMatchHighlightBackground #00000050
editor.findMatchHighlightBorder #30365F30
editor.foreground #ecf0c1
editor.lineHighlightBackground #00000050
editor.selectionBackground #30365F50
editor.selectionHighlightBackground #FFCC0020
editorBracketMatch.background #0f111b
editorBracketMatch.border #FFCC0050
editorCursor.foreground #ecf0c1
editorError.foreground #e3340070
editorGroup.border #00000030
editorGroupHeader.tabsBackground #0f111b
editorGutter.addedBackground #5ccc9660
editorGutter.deletedBackground #e3340060
editorGutter.modifiedBackground #00a3cc60
editorHoverWidget.background #0f111b
editorHoverWidget.border #30365F10
editorIndentGuide.activeBackground #30365F
editorIndentGuide.background #30365F70
editorInfo.foreground #00a3cc70
editorLineNumber.activeForeground #ecf0c1
editorLineNumber.foreground #30365F80
editorLink.activeForeground #30365F
editorMarkerNavigation.background #30365F05
editorOverviewRuler.border #0f111b
editorOverviewRuler.errorForeground #e3340040
editorOverviewRuler.findMatchForeground #8cdefd
editorOverviewRuler.infoForeground #00a3cc40
editorOverviewRuler.warningForeground #f2ce0040
editorRuler.foreground #30365F
editorSuggestWidget.background #0f111b
editorSuggestWidget.border #30365F10
editorSuggestWidget.foreground #30365F
editorSuggestWidget.highlightForeground #8cdefd
editorSuggestWidget.selectedBackground #00000050
editorWarning.foreground #f2ce0070
editorWhitespace.foreground #30365F40
editorWidget.background #0f111b
editorWidget.border
editorWidget.resizeBorder #8cdefd
extensionButton.prominentBackground #8cdefd
extensionButton.prominentForeground #30365f
extensionButton.prominentHoverBackground #ecf0c1
focusBorder #30365F00
gitDecoration.conflictingResourceForeground #f2ce0090
gitDecoration.deletedResourceForeground #e3340090
gitDecoration.ignoredResourceForeground #30365F90
gitDecoration.modifiedResourceForeground #00a3cc90
gitDecoration.untrackedResourceForeground #5ccc9690
icon.foreground #30365f
input.background #00000050
input.border #30365F10
input.foreground #00a3cc
input.placeholderForeground #30365F60
inputOption.activeBackground #30365F30
inputOption.activeBorder #30365F30
inputOption.activeForeground #ecf0c1
inputOption.focusBorder: #ff0000
inputOption.hoverBackground #30365F30
inputValidation.errorBorder #e3340050
inputValidation.infoBorder #00a3cc50
inputValidation.warningBorder #f2ce0050
list.activeSelectionBackground #00000050
list.activeSelectionForeground #8cdefd
list.activeSelectionIconForeground #8cdefd
list.focusBackground #00000050
list.focusForeground #30365F
list.highlightForeground #8cdefd
list.hoverBackground #00000050
list.hoverForeground #30365F
list.inactiveSelectionBackground #00000030
list.inactiveSelectionForeground #8cdefd
list.inactiveSelectionIconForeground #8cdefd
listFilterWidget.background #00000030
listFilterWidget.noMatchesOutline #00000030
listFilterWidget.outline #00000030
menu.background #0f111b
menu.foreground #30365F
menu.selectionBackground #00000050
menu.selectionBorder #00000030
menu.selectionForeground #8cdefd
menu.separatorBackground #30365F
menubar.selectionBackground #00000030
menubar.selectionBorder #00000030
menubar.selectionForeground #8cdefd
notificationLink.foreground #8cdefd
notifications.background #0f111b
notifications.foreground #30365F
panel.background #0f111b
panel.border #0f111b60
panel.dropBackground #30365F
panelTitle.activeBorder #0f111b
panelTitle.activeForeground #ecf0c1
panelTitle.inactiveForeground #30365F
peekView.border #00000030
peekViewEditor.background #30365F05
peekViewEditor.matchHighlightBackground #30365F50
peekViewEditorGutter.background #30365F05
peekViewResult.background #30365F05
peekViewResult.matchHighlightBackground #30365F50
peekViewResult.selectionBackground #30365F70
peekViewTitle.background #30365F05
peekViewTitleDescription.foreground #30365F60
pickerGroup.foreground #8cdefd
progressBar.background #8cdefd
quickInput.foreground #39365F
scrollbar.shadow #0f111b00
scrollbarSlider.activeBackground #8cdefd
scrollbarSlider.background #30365F20
scrollbarSlider.hoverBackground #30365F10
selection.background #8cdefd
settings.checkboxBackground #0f111b
settings.checkboxForeground #30365F
settings.dropdownBackground #0f111b
settings.dropdownForeground #30365F
settings.headerForeground #8cdefd
settings.modifiedItemIndicator #8cdefd
settings.numberInputBackground #0f111b
settings.numberInputForeground #30365F
settings.textInputBackground #0f111b
settings.textInputForeground #30365F
sideBar.background #0f111b
sideBar.border #0f111b60
sideBar.foreground #30365F
sideBarSectionHeader.background #0f111b
sideBarSectionHeader.border #0f111b60
sideBarTitle.foreground #30365F
statusBar.background #0f111b
statusBar.border #0f111b60
statusBar.debuggingBackground #7a5ccc
statusBar.debuggingForeground #30365F
statusBar.foreground #30365F
statusBar.noFolderBackground #0f111b
statusBarItem.hoverBackground #30365F20
statusBarItem.remoteBackground #8cdefd
statusBarItem.remoteForeground #000000
tab.activeBackground #00000050
tab.activeForeground #8cdefd
tab.activeModifiedBorder #30365F
tab.border #0f111b
tab.inactiveBackground #0f111b
tab.inactiveForeground #30365F
tab.unfocusedActiveBorder #30365F
tab.unfocusedActiveForeground #30365F
terminal.ansiBlack #000000
terminal.ansiBlue #00a3cc
terminal.ansiBrightBlack #30365F
terminal.ansiBrightBlue #00a3cc
terminal.ansiBrightCyan #89DDFF
terminal.ansiBrightGreen #5ccc96
terminal.ansiBrightMagenta #7a5ccc
terminal.ansiBrightRed #e33400
terminal.ansiBrightWhite #30365F
terminal.ansiBrightYellow #f2ce00
terminal.ansiCyan #89DDFF
terminal.ansiGreen #5ccc96
terminal.ansiMagenta #7a5ccc
terminal.ansiRed #e33400
terminal.ansiWhite #30365F
terminal.ansiYellow #f2ce00
terminalCursor.background #000000
terminalCursor.foreground #f2ce00
textLink.activeForeground #30365F
textLink.foreground #8cdefd
titleBar.activeBackground #0f111b
titleBar.activeForeground #30365F
titleBar.border #0f111b60
titleBar.inactiveBackground #0f111b
titleBar.inactiveForeground #30365F
tree.indentGuidesStroke #30365F00
widget.shadow #00000030 invalid, invalid.illegal #e33400 —
invalid.deprecated #7a5ccc —
keyword, storage.type, storage.modifier #7a5ccc —
keyword.control, constant.other.color, punctuation.definition.tag, punctuation, punctuation.separator.inheritance.php, punctuation.definition.tag.html, punctuation.definition.tag.begin.html, punctuation.definition.tag.end.html, punctuation.section.embedded, keyword.other.template, keyword.other.substitution #89DDFF —
entity.name.tag, meta.tag.sgml, markup.deleted.git_gutter #e33400 —
entity.name.function, variable.function, support.function, keyword.other.special-method #00a3cc —
source.cpp meta.block variable.other #e33400 —
variable.other.constant #e33400 —
support.other.variable, string.other.link #e33400 —
constant.numeric, constant.language, support.constant, constant.character, constant.escape, keyword.other.unit, keyword.other #e39400 —
variable.parameter.function.language.special, variable.parameter #e33400 —
string, constant.other.symbol, constant.other.key, entity.other.inherited-class, markup.heading, markup.inserted.git_gutter, meta.group.braces.curly constant.other.object.key.js string.unquoted.label.js #5ccc96 normal
entity.name, support.type, support.class, support.orther.namespace.use.php, meta.use.php, support.other.namespace.php, markup.changed.git_gutter, support.type.sys-types #f2ce00 —
source.css support.type.property-name, source.sass support.type.property-name, source.scss support.type.property-name, source.less support.type.property-name, source.stylus support.type.property-name, source.postcss support.type.property-name #ecf0c1 —
entity.name.module.js, variable.import.parameter.js, variable.other.class.js #e33400 —
variable.language #e33400 —
entity.name.method.js #00a3cc —
meta.class-method.js entity.name.function.js, variable.function.constructor #00a3cc —
entity.other.attribute-name #7a5ccc —
entity.other.attribute-name.class #f2ce00 —
source.sass keyword.control #00a3cc —
constant.character.escape #89DDFF —
*url*, *link*, *uri* — underline
tag.decorator.js entity.name.tag.js, tag.decorator.js punctuation.definition.tag.js #00a3cc —
source.js constant.other.object.key.js string.unquoted.label.js #e33400 —
source.json meta.structure.dictionary.json support.type.property-name.json #7a5ccc —
source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json #f2ce00 —
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 #e39400 —
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 #e33400 —
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 #ce6f8f —
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 #00a3cc —
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 #e33400 —
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 #7a5ccc —
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 #5ccc96 —
text.html.markdown, punctuation.definition.list_item.markdown #ecf0c1 —
text.html.markdown markup.inline.raw.markdown #7a5ccc —
text.html.markdown markup.inline.raw.markdown punctuation.definition.raw.markdown #30365F50 —
text.html.markdown meta.dummy.line-break —
markdown.heading, markup.heading | markup.heading entity.name, markup.heading.markdown punctuation.definition.heading.markdown #5ccc96 —
markup.bold, markup.bold string #e33400 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 #e33400 bold
markup.underline #e39400 underline
markup.quote punctuation.definition.blockquote.markdown #30365F50 —
string.other.link.title.markdown #00a3cc —
string.other.link.description.title.markdown #7a5ccc —
constant.other.reference.link.markdown #f2ce00 —
markup.fenced_code.block.markdown, markup.inline.raw.string.markdown #ce6f8f —
variable.language.fenced.markdown #30365F50 —
meta.separator #30365F50 bold
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...
main*
Material Space Duck | Coding Theme
Button.tsx
31
~/my-project
$
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 } ! ` ;
}