Skip to main content
Home Theme VS Code Oceanic Dark A VSCode theme with Vibrant colors against a dark background, the depths of the ocean are full of color for those who know how to observe.
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 #333842 activityBar.foreground #D7DAE0 activityBarBadge.background #1BB2AF dropdown.background #353b45 dropdown.border #181A1F editor.background #1C1F24 tokenColors TextMate scopes and font styles (syntax highlighting rules).
scope foreground fontStyle — #eeffffff italic comment, punctuation.definition.comment #546E7A italic variable, string constant.other.placeholder #EEFFFF — constant.other.color #ffffff — invalid, invalid.illegal
Shiki preview TypeScript sample highlighted with this variant's colors and tokenColors.
Oceanic Dark — Oceanic Dark
editor.foreground
#d4d4d4
editor.lineHighlightBackground #2C313A
editor.selectionBackground #3E4451
editorCursor.foreground #1BB2AF
editorGroup.border #181A1F
editorGroupHeader.tabsBackground #21252B
editorHoverWidget.background #21252B
editorHoverWidget.border #181A1F
editorIndentGuide.background #3C4049
editorLineNumber.foreground #636D83
editorSuggestWidget.background #21252B
editorSuggestWidget.border #181A1F
editorSuggestWidget.selectedBackground #2C313A
editorWhitespace.foreground #3C4049
editorWidget.background #21252B
list.activeSelectionBackground #2C313A
list.activeSelectionForeground #D7DAE0
list.focusBackground #2C313A
list.highlightForeground #D7DAE0
list.hoverBackground #2C313A66
list.inactiveSelectionBackground #2C313A
list.inactiveSelectionForeground #D7DAE0
menu.separatorBackground #222
sideBar.background #21252B
sideBarSectionHeader.background #333842
sideBarTitle.foreground #bbbbbb
statusBar.background #141619
statusBar.foreground #9DA5B4
statusBar.noFolderBackground #21252B
statusBarItem.hoverBackground #141619
tab.activeBackground #333842
tab.border #181A1F
tab.inactiveBackground #272b33
titleBar.activeBackground #21252B
titleBar.activeForeground #9DA5B4
titleBar.inactiveBackground #21252B
titleBar.inactiveForeground #9DA5B4 keyword, storage.type, storage.modifier #C792EA —
constant.other.color, meta.tag, punctuation, punctuation.definition.tag, 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 #58e2e0 —
entity.name.tag, meta.tag.sgml, markup.deleted.git_gutter #f07178 —
variable.function, entity.name.function, meta.function-call, support.function, keyword.other.special-method #1BB2AF —
meta.block variable.other #f07178 —
support.other.variable, string.other.link #f07178 —
constant.numeric, constant.language, support.constant, constant.character, constant.escape, variable.parameter, keyword.other.unit, keyword.other #F78C6C —
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 #C3E88D bold
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 #FFCB6B —
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 #B2CCD6 —
entity.name.module.js, variable.import.parameter.js, variable.other.class.js #FF5370 —
variable.language #FF5370 italic
entity.name.method.js #82AAFF italic
meta.class-method.js entity.name.function.js, variable.function.constructor #82AAFF —
entity.other.attribute-name #99c794 —
text.html.basic entity.other.attribute-name.html, text.html.basic entity.other.attribute-name #FFCB6B italic
entity.other.attribute-name.class #FFCB6B —
source.sass keyword.control #82AAFF —
constant.character.escape #89DDFF —
*url*, *link*, *uri* — underline
tag.decorator.js entity.name.tag.js, tag.decorator.js punctuation.definition.tag.js #82AAFF italic
source.js constant.other.object.key.js string.unquoted.label.js #FF5370 italic
source.json meta.structure.dictionary.json support.type.property-name.json #92b8ea —
source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json #FFCB6B —
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 #F78C6C —
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 #FF5370 —
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 #C17E70 —
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 #82AAFF —
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 #f07178 —
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 #C792EA —
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 #C3E88D —
text.html.markdown, punctuation.definition.list_item.markdown, meta.tag #EEFFFF —
text.html.markdown markup.inline.raw.markdown #C792EA —
text.html.markdown markup.inline.raw.markdown punctuation.definition.raw.markdown #65737E —
text.html.markdown meta.dummy.line-break —
markdown.heading, markup.heading | markup.heading entity.name, markup.heading.markdown punctuation.definition.heading.markdown #C3E88D —
markup.italic #f07178 italic
markup.bold, markup.bold string #f07178 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 #f07178 bold
markup.underline #F78C6C underline
markup.strike #65737E italic
markup.quote punctuation.definition.blockquote.markdown #65737E bold
string.other.link.title.markdown #82AAFF —
string.other.link.description.title.markdown #C792EA —
constant.other.reference.link.markdown #FFCB6B —
markup.raw.block.fenced.markdown #00000050 —
punctuation.definition.fenced.markdown #00000050 —
markup.raw.block.fenced.markdown, variable.language.fenced.markdown, punctuation.section.class.end #EEFFFF —
variable.language.fenced.markdown #65737E —
meta.separator #65737E bold
token.error-token #f44747 —
token.debug-token #b267e6 —
punctuation.definition.tag.begin.html, entity.name.tag.html, punctuation.definition.tag.end.html #ec5f67 —
entity.other.attribute-name.html #99c794 —
punctuation.separator.key-value.html #cdd3de —
punctuation.definition.string.begin.html, punctuation.definition.string.end.html, string.quoted.double.html, string.quoted.single.html #fac863 —
variable.other.php, punctuation.definition.variable.php #f99157 —
punctuation.section.embedded.end.php, punctuation.section.embedded.begin.php, variable.language.this.php #FFA573 —
keyword.control.else.php, keyword.control.foreach.php, keyword.control.endforeach.php, keyword.control.if.php, keyword.control.endif.php, punctuation.definition.begin.bracket.round.php, punctuation.definition.end.bracket.round.php, entity.name.function.php, punctuation.definition.arguments.begin.bracket.round.php, punctuation.definition.arguments.end.bracket.round.php, support.function.string.php, variable.other.property.php, support.function.construct.php, support.function.array.php, support.function.calendar.php #1BB2AF —
punctuation.terminator.statement.php, punctuation.terminator.expression.php, keyword.operator.class.php, support.function.construct.output.php, keyword.operator.logical.php #58e2e0 —
punctuation.separator.delimiter.php, keyword.operator.star.sql #cdd3de —
punctuation.definition.string.begin.php, punctuation.definition.string.end.php #7b9750 —
storage.modifier.php, storage.type.function.php, storage.modifier.extends.php, storage.type.class.php, keyword.operator.string.php, keyword.operator.assignment.php, keyword.operator.comparison.php, keyword.operator.arithmetic.php, keyword.operator.math.sql, punctuation.definition.string.begin.sql #C792EA —
support.function.aggregate.sql, keyword.other.alias.sql, keyword.other.DML.sql, keyword.other.DDL.create.II.sql, keyword.operator.comparison.sql, support.function.system.sql, punctuation.definition.string.begin.sql, punctuation.definition.string.end.sql, keyword.operator.math.sql, keyword.other.sql, support.function.ranking.sql, punctuation.section.scope.end.sql, punctuation.section.scope.begin.sql #7b9750 —
constant.numeric.sql #C3E88D —
keyword.operator.new.js, variable.language.this.js, keyword.control.conditional.js, storage.type.function.js, keyword.control.loop.js, keyword.control.switch.js #ec5f67 —
keyword.control.flow.js, storage.type.js #58e2e0 —
punctuation.definition.string.end.js, punctuation.definition.string.begin.js #7b9750 —
punctuation.terminator.statement.js, meta.objectliteral.js, meta.object.member.js, meta.array.literal.js, keyword.operator.ternary.js, meta.object.member.js, punctuation.separator.key-value.js, punctuation.separator.comma.js, punctuation.separator.parameter.js, punctuation.accessor.js, keyword.operator.assignment.js #cdd3de —
meta.object-literal.key.js, support.function.dom.js, entity.name.type.js, support.function.js, support.function.console.js, variable.other.property.js, punctuation.definition.parameters.begin.js, punctuation.definition.parameters.end.js, entity.name.function.js, support.variable.property.dom.js, meta.brace.round.js, support.function.json.js, variable.other.constant.property.js, support.variable.property.js, variable.other.readwrite.js, keyword.control.default.js #1BB2AF —
variable.other.object.property.js #1c908e —
meta.object-literal.key.ts, support.function.dom.ts, entity.name.type.ts, support.function.ts, support.function.console.ts, variable.other.property.ts, punctuation.definition.parameters.begin.ts, punctuation.definition.parameters.end.ts, entity.name.function.ts, support.variable.property.dom.ts, meta.brace.round.ts, support.function.tson.ts, variable.other.constant.property.ts, support.variable.property.ts, variable.other.readwrite.ts, keyword.control.default.ts #1BB2AF —
variable.other.object.property.ts #1c908e —
meta.attribute.directive.control.vue #99c794 —
string.quoted.double.js, string.quoted.single.js #C3E88D —
support.class.console.js, variable.other.object.js, support.variable.dom.js, support.constant.json.js, punctuation.definition.block.js, support.type.object.module.js #58e2e0 —
variable.other.constant.object.property.js, support.constant.math.js #f99157 —
support.function.math.js #FFA573 —
meta.var.expr.ts, variable.language.this.ts, keyword.operator.new.ts, meta.block.ts meta.var.expr.ts #ec5f67 italic
string.quoted.single.ts, punctuation.definition.string.begin.ts, punctuation.definition.string.end.ts #fac863 —
variable.scss, keyword.control.export.js #C792EA —
punctuation.separator.comma.ts, punctuation.separator.key-value.ts, meta.brace.square.ts, punctuation.definition.block.ts, meta.brace.round.ts, punctuation.definition.parameters.begin.ts, punctuation.definition.parameters.end.ts, punctuation.terminator.statement.ts, keyword.operator.assignment.ts, punctuation.accessor.ts #CDD3DE —
meta.object-literal.key.ts, entity.name.function.ts, variable.other.property.ts, support.function.ts, entity.name.type.ts #99c794 —
variable.other.constant.ts, meta.definition.variable.ts, variable.other.readwrite.ts, variable.other.constant.object.property.js #f99157 —
variable.other.object.ts #6699cc —
keyword.control.flow.python, support.function.builtin.python #1BB2AF —
punctuation.definition.string.begin.python, punctuation.definition.string.end.python #7b9750 —
punctuation.definition.arguments.begin.python, punctuation.definition.arguments.end.python, punctuation.definition.parameters.begin.python, punctuation.definition.parameters.end.python, keyword.control.import.python, punctuation.parenthesis.begin.python, punctuation.parenthesis.end.python, support.type.python #58e2e0 —
punctuation.separator.arguments.python, punctuation.separator.period.python, punctuation.separator.colon.python, punctuation.section.function.begin.python, punctuation.separator.element.python #CDD3DE —
punctuation.definition.entity.css, punctuation.separator.key-value.scss, punctuation.terminator.rule.scss #CDD3DE —
support.type.property-name.css #1BB2AF —
entity.other.attribute-name.pseudo-class.css, entity.other.attribute-name.pseudo-element.css, support.type.property-name.media.css, support.type.property-name.media.scss, keyword.other.important.scss #58e2e0 —
constant.numeric.css #F78C6C —
entity.other.attribute-name.class.css, punctuation.definition.entity.css, punctuation.section.property-list.begin.bracket.curly.scss, punctuation.section.property-list.end.bracket.curly.scss, punctuation.section.property-list.begin.bracket.curly.css, punctuation.section.property-list.end.bracket.curly.css #fac863 —
punctuation.terminator.rule.scss, punctuation.terminator.rule.css #c9a662 —
entity.name.tag.css, entity.name.tag.reference.scss, punctuation.definition.keyword.scss, punctuation.definition.keyword.css #ec5f67 —
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 } ! ` ;
}
Oceanic Dark | Coding Theme