Skip to main content
Home Theme VS Code Dark Modern But Better Basically dark modern theme but with changed coloring rules
VS Code preview Full workbench mockup using this variant's colors and tokenColors.
colors Workbench UI color keys from the theme JSON colors map.
actionBar.toggledBackground #383a49 activityBar.activeBorder #0078D4 activityBar.background #181818 activityBar.border #2B2B2B activityBar.foreground #D7D7D7 activityBar.inactiveForeground #868686 tokenColors TextMate scopes and font styles (syntax highlighting rules).
scope foreground fontStyle comment #777 italic entity.name.function, support.function, support.constant.handlebars, source.powershell variable.other.member, entity.name.operator.custom-literal #d8d88a — variable, meta.definition.variable.name, support.variable, entity.name.variable #d4d4d4 — keyword.control, source.cpp keyword.operator.new, keyword.operator.delete, keyword.other.using, keyword.other.directive.using, keyword.other.operator, entity.name.operator #569cd6
Shiki preview TypeScript sample highlighted with this variant's colors and tokenColors.
Dark Modern But Better — Dark Modern But Better
activityBarBadge.background
#007ACC
activityBarBadge.foreground #FFFFFF
badge.background #616161
badge.foreground #F8F8F8
button.background #0078D4
button.border #FFFFFF12
button.foreground #FFFFFF
button.hoverBackground #026EC1
button.secondaryBackground #313131
button.secondaryForeground #CCCCCC
button.secondaryHoverBackground #3C3C3C
chat.slashCommandBackground #34414B
chat.slashCommandForeground #40A6FF
checkbox.background #313131
checkbox.border #6B6B6B
debugToolBar.background #181818
descriptionForeground #9D9D9D
dropdown.background #313131
dropdown.border #3C3C3C
dropdown.foreground #CCCCCC
dropdown.listBackground #1F1F1F
editor.background #1E1E1E
editor.findMatchBackground #9E6A03
editor.foreground #D4D4D4
editor.inactiveSelectionBackground #3A3D41
editor.selectionHighlightBackground #ADD6FF26
editorGroup.border #FFFFFF17
editorGroupHeader.tabsBackground #181818
editorGroupHeader.tabsBorder #2B2B2B
editorGutter.addedBackground #2EA043
editorGutter.deletedBackground #F85149
editorGutter.modifiedBackground #0078D4
editorIndentGuide.activeBackground1 #707070
editorIndentGuide.background1 #404040
editorLineNumber.activeForeground #CCCCCC
editorLineNumber.foreground #6E7681
editorOverviewRuler.border #010409
editorWidget.background #202020
errorForeground #F85149
focusBorder #0078D4
foreground #CCCCCC
icon.foreground #CCCCCC
input.background #313131
input.border #3C3C3C
input.foreground #CCCCCC
input.placeholderForeground #A6A6A6
inputOption.activeBackground #2489DB82
inputOption.activeBorder #2488DB
keybindingLabel.foreground #CCCCCC
list.activeSelectionIconForeground #FFF
list.dropBackground #383B3D
menu.background #252526
menu.border #454545
menu.foreground #CCCCCC
menu.selectionBackground #0078d4
menu.separatorBackground #454545
notificationCenterHeader.background #1F1F1F
notificationCenterHeader.foreground #CCCCCC
notifications.background #1F1F1F
notifications.border #2B2B2B
notifications.foreground #CCCCCC
panel.background #181818
panel.border #2B2B2B
panelInput.border #2B2B2B
panelTitle.activeBorder #0078D4
panelTitle.activeForeground #CCCCCC
panelTitle.inactiveForeground #9D9D9D
peekViewEditor.background #1F1F1F
peekViewEditor.matchHighlightBackground #BB800966
peekViewResult.background #1F1F1F
peekViewResult.matchHighlightBackground #BB800966
pickerGroup.border #3C3C3C
ports.iconRunningProcessForeground #369432
progressBar.background #0078D4
quickInput.background #222222
quickInput.foreground #CCCCCC
settings.dropdownBackground #313131
settings.dropdownBorder #3C3C3C
settings.headerForeground #FFFFFF
settings.modifiedItemIndicator #BB800966
sideBar.background #181818
sideBar.border #2B2B2B
sideBar.foreground #CCCCCC
sideBarSectionHeader.background #0000
sideBarSectionHeader.border #ccc3
sideBarSectionHeader.foreground #CCCCCC
sideBarTitle.foreground #BBBBBB
statusBar.background #181818
statusBar.border #2B2B2B
statusBar.debuggingBackground #0078D4
statusBar.debuggingForeground #FFFFFF
statusBar.focusBorder #0078D4
statusBar.foreground #CCCCCC
statusBar.noFolderBackground #1F1F1F
statusBarItem.focusBorder #0078D4
statusBarItem.prominentBackground #6E768166
statusBarItem.remoteBackground #16825D
statusBarItem.remoteForeground #FFF
tab.activeBackground #1F1F1F
tab.activeBorder #1F1F1F
tab.activeBorderTop #0078D4
tab.activeForeground #FFFFFF
tab.border #2B2B2B
tab.hoverBackground #1F1F1F
tab.inactiveBackground #181818
tab.inactiveForeground #9D9D9D
tab.lastPinnedBorder #ccc3
tab.selectedBackground #222222
tab.selectedBorderTop #6caddf
tab.selectedForeground #ffffffa0
tab.unfocusedActiveBorder #1F1F1F
tab.unfocusedActiveBorderTop #2B2B2B
tab.unfocusedHoverBackground #1F1F1F
terminal.foreground #CCCCCC
terminal.inactiveSelectionBackground #3A3D41
terminal.tab.activeBorder #0078D4
textBlockQuote.background #2B2B2B
textBlockQuote.border #616161
textCodeBlock.background #2B2B2B
textLink.activeForeground #4daafc
textLink.foreground #4daafc
textPreformat.background #3C3C3C
textPreformat.foreground #D0D0D0
textSeparator.foreground #21262D
titleBar.activeBackground #181818
titleBar.activeForeground #CCCCCC
titleBar.border #2B2B2B
titleBar.inactiveBackground #1F1F1F
titleBar.inactiveForeground #9D9D9D
welcomePage.progress.foreground #0078D4
welcomePage.tileBackground #2B2B2B
widget.border #303031 constant.numeric, keyword.operator.plus.exponent, keyword.operator.minus.exponent, keyword.other.unit #ee9090 —
string, meta.embedded.assembly, meta.preprocessor.string, string.tag, string.value, support.constant.property-value, support.constant.font-name, support.constant.media-type, support.constant.media, constant.other.color.rgb-value, constant.other.rgb-value, support.constant.color #9fda81 —
source.json meta.structure.dictionary.json support.type.property-name.json #d4d4d4 —
entity.name.function, support.function, support.constant.handlebars, source.powershell variable.other.member, entity.name.operator.custom-literal #d8d88a —
variable, meta.definition.variable.name, support.variable, entity.name.variable #d4d4d4 —
keyword.control, source.cpp keyword.operator.new, keyword.operator.delete, keyword.other.using, keyword.other.directive.using, keyword.other.operator, entity.name.operator #569cd6 —
constant.numeric, keyword.operator.plus.exponent, keyword.operator.minus.exponent, keyword.other.unit #ee9090 —
string, meta.embedded.assembly, meta.preprocessor.string, string.tag, string.value, support.constant.property-value, support.constant.font-name, support.constant.media-type, support.constant.media, constant.other.color.rgb-value, constant.other.rgb-value, support.constant.color #9fda81 —
source.json meta.structure.dictionary.json support.type.property-name.json #d4d4d4 —
entity.name.function, support.function, support.constant.handlebars, source.powershell variable.other.member, entity.name.operator.custom-literal #d8d88a —
variable, meta.definition.variable.name, support.variable, entity.name.variable #d4d4d4 —
keyword.control, source.cpp keyword.operator.new, keyword.operator.delete, keyword.other.using, keyword.other.directive.using, keyword.other.operator, entity.name.operator #569cd6 —
constant.numeric, keyword.operator.plus.exponent, keyword.operator.minus.exponent, keyword.other.unit #ee9090 —
string, meta.embedded.assembly, meta.preprocessor.string, string.tag, string.value, support.constant.property-value, support.constant.font-name, support.constant.media-type, support.constant.media, constant.other.color.rgb-value, constant.other.rgb-value, support.constant.color #9fda81 —
source.json meta.structure.dictionary.json support.type.property-name.json #d4d4d4 —
entity.name.function, support.function, support.constant.handlebars, source.powershell variable.other.member, entity.name.operator.custom-literal #dcdcaa —
support.class, support.type, entity.name.type, entity.name.namespace, entity.other.attribute, entity.name.scope-resolution, entity.name.class, storage.type.numeric.go, storage.type.byte.go, storage.type.boolean.go, storage.type.string.go, storage.type.uintptr.go, storage.type.error.go, storage.type.rune.go, storage.type.cs, storage.type.generic.cs, storage.type.modifier.cs, storage.type.variable.cs, storage.type.annotation.java, storage.type.generic.java, storage.type.java, storage.type.object.array.java, storage.type.primitive.array.java, storage.type.primitive.java, storage.type.token.java, storage.type.groovy, storage.type.annotation.groovy, storage.type.parameters.groovy, storage.type.generic.groovy, storage.type.object.array.groovy, storage.type.primitive.array.groovy, storage.type.primitive.groovy #4EC9B0 —
meta.type.cast.expr, meta.type.new.expr, support.constant.math, support.constant.dom, support.constant.json, entity.other.inherited-class #4EC9B0 —
keyword.control, source.cpp keyword.operator.new, keyword.operator.delete, keyword.other.using, keyword.other.directive.using, keyword.other.operator, entity.name.operator #c586c0 —
variable, meta.definition.variable.name, support.variable, entity.name.variable, constant.other.placeholder #9cdcfe —
variable.other.constant, variable.other.enummember #4FC1FF —
meta.object-literal.key #9CDCFE —
support.constant.property-value, support.constant.font-name, support.constant.media-type, support.constant.media, constant.other.color.rgb-value, constant.other.rgb-value, support.constant.color #CE9178 —
punctuation.definition.group.regexp, punctuation.definition.group.assertion.regexp, punctuation.definition.character-class.regexp, punctuation.character.set.begin.regexp, punctuation.character.set.end.regexp, keyword.operator.negation.regexp, support.other.parenthesis.regexp #CE9178 —
constant.character.character-class.regexp, constant.other.character-class.set.regexp, constant.other.character-class.regexp, constant.character.set.regexp #d16969 —
keyword.operator.or.regexp, keyword.control.anchor.regexp #d8d894 —
keyword.operator.quantifier.regexp #d7ba7d —
constant.character, constant.other.option #569cd6 —
constant.character.escape #d7ba7d —
entity.name.label #C8C8C8 —
entity.name.function, support.function, support.constant.handlebars, source.powershell variable.other.member, entity.name.operator.custom-literal #d8d88a —
variable, meta.definition.variable.name, support.variable, entity.name.variable #d4d4d4 —
keyword.control, source.cpp keyword.operator.new, keyword.operator.delete, keyword.other.using, keyword.other.directive.using, keyword.other.operator, entity.name.operator #569cd6 —
constant.numeric, keyword.operator.plus.exponent, keyword.operator.minus.exponent, keyword.other.unit #ee9090 —
string, meta.embedded.assembly, meta.preprocessor.string, string.tag, string.value, support.constant.property-value, support.constant.font-name, support.constant.media-type, support.constant.media, constant.other.color.rgb-value, constant.other.rgb-value, support.constant.color #9fda81 —
source.json meta.structure.dictionary.json support.type.property-name.json #d4d4d4 —
entity.name.function, support.function, support.constant.handlebars, source.powershell variable.other.member, entity.name.operator.custom-literal #dcdcaa —
support.class, support.type, entity.name.type, entity.name.namespace, entity.other.attribute, entity.name.scope-resolution, entity.name.class, storage.type.numeric.go, storage.type.byte.go, storage.type.boolean.go, storage.type.string.go, storage.type.uintptr.go, storage.type.error.go, storage.type.rune.go, storage.type.cs, storage.type.generic.cs, storage.type.modifier.cs, storage.type.variable.cs, storage.type.annotation.java, storage.type.generic.java, storage.type.java, storage.type.object.array.java, storage.type.primitive.array.java, storage.type.primitive.java, storage.type.token.java, storage.type.groovy, storage.type.annotation.groovy, storage.type.parameters.groovy, storage.type.generic.groovy, storage.type.object.array.groovy, storage.type.primitive.array.groovy, storage.type.primitive.groovy #4EC9B0 —
meta.type.cast.expr, meta.type.new.expr, support.constant.math, support.constant.dom, support.constant.json, entity.other.inherited-class #4EC9B0 —
keyword.control, source.cpp keyword.operator.new, keyword.operator.delete, keyword.other.using, keyword.other.directive.using, keyword.other.operator, entity.name.operator #c586c0 —
variable, meta.definition.variable.name, support.variable, entity.name.variable, constant.other.placeholder #9cdcfe —
variable.other.constant, variable.other.enummember #4FC1FF —
meta.object-literal.key #9CDCFE —
support.constant.property-value, support.constant.font-name, support.constant.media-type, support.constant.media, constant.other.color.rgb-value, constant.other.rgb-value, support.constant.color #CE9178 —
punctuation.definition.group.regexp, punctuation.definition.group.assertion.regexp, punctuation.definition.character-class.regexp, punctuation.character.set.begin.regexp, punctuation.character.set.end.regexp, keyword.operator.negation.regexp, support.other.parenthesis.regexp #CE9178 —
constant.character.character-class.regexp, constant.other.character-class.set.regexp, constant.other.character-class.regexp, constant.character.set.regexp #d16969 —
keyword.operator.or.regexp, keyword.control.anchor.regexp #d8d894 —
keyword.operator.quantifier.regexp #d7ba7d —
constant.character, constant.other.option #569cd6 —
constant.character.escape #d7ba7d —
entity.name.label #C8C8C8 —
meta.embedded, source.groovy.embedded, string meta.image.inline.markdown, variable.legacy.builtin.python #D4D4D4 —
constant.language #569cd6 —
constant.numeric, variable.other.enummember, keyword.operator.plus.exponent, keyword.operator.minus.exponent #b5cea8 —
entity.name.tag.css, entity.name.tag.less #d7ba7d —
entity.other.attribute-name #9cdcfe —
entity.other.attribute-name.class.css, source.css entity.other.attribute-name.class, entity.other.attribute-name.id.css, entity.other.attribute-name.parent-selector.css, entity.other.attribute-name.parent.less, source.css entity.other.attribute-name.pseudo-class, entity.other.attribute-name.pseudo-element.css, source.css.less entity.other.attribute-name.id, entity.other.attribute-name.scss #d7ba7d —
markup.underline — underline
markup.heading #569cd6 bold
markup.strikethrough — strikethrough
punctuation.definition.quote.begin.markdown #6A9955 —
punctuation.definition.list.begin.markdown #6796e6 —
markup.inline.raw #ce9178 —
punctuation.definition.tag #808080 —
meta.preprocessor, entity.name.function.preprocessor #569cd6 —
meta.preprocessor.string #ce9178 —
meta.preprocessor.numeric #b5cea8 —
meta.structure.dictionary.key.python #9cdcfe —
storage.modifier, keyword.operator.noexcept #569cd6 —
string, meta.embedded.assembly #ce9178 —
punctuation.definition.template-expression.begin, punctuation.definition.template-expression.end, punctuation.section.embedded #569cd6 —
meta.template.expression #d4d4d4 —
support.type.vendored.property-name, support.type.property-name, source.css variable, source.coffee.embedded #9cdcfe —
keyword.operator.new, keyword.operator.expression, keyword.operator.cast, keyword.operator.sizeof, keyword.operator.alignof, keyword.operator.typeid, keyword.operator.alignas, keyword.operator.instanceof, keyword.operator.logical.python, keyword.operator.wordlike #569cd6 —
keyword.other.unit #b5cea8 —
punctuation.section.embedded.begin.php, punctuation.section.embedded.end.php #569cd6 —
support.function.git-rebase #9cdcfe —
constant.sha.git-rebase #b5cea8 —
storage.modifier.import.java, variable.language.wildcard.java, storage.modifier.package.java #d4d4d4 —
variable.language #569cd6 —
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 } !` ;
}
Dark Modern But Better | Coding Theme