Skip to content
| Marketplace
Sign in
Visual Studio Code>Themes>Ash Sharp ThemeNew to Visual Studio Code? Get it now.
Ash Sharp Theme

Ash Sharp Theme

ash-sharp-vs-theme

|
77 installs
| (1) | Free
Visual Studio Code theme designed to enhance code syntax of various supported programming languages.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Ash Sharp Theme

Dark Theme for Visual Studio Code

Ash Sharp Theme

Theme Preview

Theme Preview

Installation

  1. Open Extension's sidebar panel in VS Code. "View → Extensions"
  2. Search for "Ash Sharp Theme"
  3. Click Install
  4. Click Reload
  5. File > Preferences > Color Theme > Ash Sharp Theme

Features

  • Dark theme with a focus on readability and aesthetics
  • Designed for a comfortable coding experience
  • Supports a wide range of languages and file types
  • Custom syntax highlighting for popular languages
  • Optimized for dark backgrounds

Contribute or Customize

As this theme is open-source, you may contribute or customize this theme. When changing the theme colors, please do NOT change the order of "TokenColors" scopes.

Token Colors Order

Token colors order matters, when VS Code reads these scopes to implement the theme extension. We have divided the Token Colors into the following sections, to maintain the best order of scopes.

To create a well-structured and effective tokenColors array in a VS Code theme, including punctuation scopes, here's a recommended order that balances specificity, readability, and override safety:

  1. :key: Core Keywords: These are the keywords of most languages, font style (bold)

    1. "keyword"
    2. "keyword.control"
    3. "keyword.operator"
    4. "keyword.other"
  2. :beginner: Storage: Refers to keywords that introduce storage declarations—like static, extern, or register in C/C++

    1. "keyword.control"
    2. "keyword.operator"
  3. :construction: Core Constant Syntax: These are the core built-in types of most languages, font style (none)

    1. "constant.numeric"
    2. "constant.language"
    3. "constant.character"
    4. "constant.other"
  4. 🧠 Identifiers & Variables: These define names and references, font style (italic)

    1. "Variable"
    2. "variable.language"
    3. "variable.name"
    4. "variable.other"
    5. "variable.object"
    6. "variable.other.ReadWrite"
    7. "variable.parameter"
  5. 🧠 Symbols Types & Functions: These define names, types, and functions font style (none)

    1. "entity"
    2. "entity.name"
    3. "entity.name.class"
    4. "entity.name.function"
    5. "entity.name.method"
    6. "entity.name.section"
    7. "entity.name.selector"
    8. "entity.name.tag"
    9. "entity.name.type"
    10. "entity.other"
    11. "entity.other.attribute-name"
    12. "entity.other.inherited-class"
  6. 🧠 Supported Types & Functions: These define supported names, types, and functions font style (none)

    1. "support"
    2. "support.attribute"
    3. "support.class"
    4. "support.constant"
    5. "support.function"
    6. "support.other"
    7. "support.type"
    8. "support.variable"
  7. 🧾 String & Literals: For character values written directly in code, as strings (reference-heap, mutable) or literals (value-stack, read-only)

    1. "string"
    2. "string.interpolated"
    3. "string.other"
    4. "string.quoted"
    5. "string.regexp"
    6. "string.unquoted"
  8. 🧾 Semantic Tokens & Labels: For character values written directly in code, as strings (reference-heap, mutable) or literals (value-stack, read-only)

    1. "ellipses.c": Variadic function syntax, uses by C derived languages, that represents a string literal like (...)
    2. "emphasis": used in Markdown or markup-like scripting languages, applies italic styling or text wrapped in single asterisks *text* or underscores _text_
    3. "strong": used in Markdown or markup-like scripting languages, applies bold styling or text wrapped in double asterisks **text** or double underscores __text__
  9. 💬 Comments & Documentation: To visually separate commentary from code

    1. "comment.line"
    2. "comment.block"
    3. "comment.documentation"
  10. ✨ Punctuation: These define structure and delimiters

    1. "punctuation.definition.string.begin / .end"
    2. "punctuation.definition.comment"
    3. "punctuation.separator.key-value"
    4. "punctuation.terminator.statement"
    5. "punctuation.section.block.begin / .end"
    6. "punctuation.definition.parameters.begin / .end"
  11. :bricks: Meta & Structural: These wrap or describe other scopes

    1. "meta.function"
    2. "meta.class"
    3. "meta.block"
    4. "meta.embedded"
  12. :surfer: Markup & Markdown: Catch-all, rarely used, invalid, or general, font style (none)

    1. "markup.*" (for Markdown, etc.)
  13. :speech_balloon: Plain Text: Plain Text general, font style (none)

    1. "text.*"
  14. :speech_balloon: Log Text: Log Text general, font style (none)

    1. "log.*"
  15. :exclamation: Fallback and Uncategorized: any other rules not categorized

    1. "switch-*"
    2. "tag.*"
    3. "."
  16. :wolf: Wildcards & Invalid: Wildcards, Invalid, or illegal, font style (none)

    1. "invalid"
  17. :floppy_disk: Source: All supported languages source, font style (none)

    1. "source"

🔸Tip: Place punctuation rules after strings/comments but before general fallback scopes. This ensures punctuation doesn’t override the content it surrounds.

This order helps ensure that specific tokens get styled first, and broader structural or fallback rules don’t unintentionally override them.

Feedback and Issues

For any feedback or issues you can contact me on GitHub

License

This theme is released under the MIT

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft