Shape
Docs

Languages and tooling

Languages Shape highlights, plus Prettier, ESLint, LSP, Emmet, and design tools.

Shape contains syntax highlighting for many languages.

Change the language mode anytime with Change Language Mode in the command palette (Ctrl+Shift+P).

Syntax highlighting

These languages are available. Opening a file picks one automatically.

LanguageTypical files
Plain Textunknown extensions
TypeScript.ts, .tsx
JavaScript.js, .jsx, .mjs, .cjs
JSON.json, .jsonc
HTML.html, .htm (also used for .vue, .svelte, .astro highlighting)
CSS / SCSS / Less.css, .scss, .sass, .less
Handlebars / Pug / Twig / Liquid.hbs, .pug, .twig, .liquid
Markdown / MDX.md, .mdx
XML / YAML.xml, .yaml, .yml
GraphQL.graphql, .gql (also .prisma highlighting)
SQL / MySQL / PostgreSQL.sql and related
Python.py
Rust.rs
Go.go
Java.java
C# / F#.cs, .fs
C / C++.c, .h, .cpp, .hpp
Objective-C.m, .mm
PHP / Ruby / Swift / Kotlin / Dart / Scalamatching extensions
Clojure / Elixir / Lua / R / Julia / Perlmatching extensions
Shell / PowerShell / Batch.sh, .ps1, .bat, .cmd
DockerfileDockerfile, .dockerfile
HCL / Terraform.tf, .hcl
Bicep.bicep
Ini / TOML / Env.ini, .toml, .env
Protocol Buffers.proto
Solidity.sol
WGSL.wgsl
TypeSpec.tsp

Highlighting alone does not mean IntelliSense or formatting for that language. See the tables below for tooling coverage.

Prettier

Built-in document formatter when Enable Prettier is on (Settings → Features → ESLint & Prettier).

Formats with PrettierExtensions
JavaScript / TypeScript.js, .jsx, .ts, .tsx
JSON.json
CSS / SCSS / Less.css, .scss, .less
HTML.html
Markdown.md

Use Format Document (Alt+Shift+F), or turn on Format On Save in editor settings. Shape runs Prettier with your project config (.prettierrc, prettier.config.js).

ESLint

Linting for JavaScript and TypeScript projects (Settings → Features → ESLint & Prettier).

SupportedExtensions
ESLint.js, .jsx, .ts, .tsx, .mjs, .cjs, .vue, .svelte

Issues appear in the editor and the Problems panel. Optional Fix on save applies auto-fixable rules.

Language servers (IntelliSense)

ServerWhat it coversNotes
TypeScript.ts, .tsx, .js, .jsxCompletions, go-to-def, rename, quick fixes
HTML.htmlMarkup IntelliSense
CSS.css, .scss, .lessStylesheet IntelliSense
JSON.json, .jsoncSchema-aware editing
Python.pyPyright
Markdown.mdremark language service
GraphQL.graphqlGraphQL language service
Tailwind CSSclass-aware editing when the project uses TailwindToggle in Features → Language Servers
Vue / Sveltewhen those frameworks are detected in the projectBest results when the file language mode matches

Toggle the main servers under Settings → Features → Language Servers. Details: Lint and LSP and IntelliSense.

Emmet

HTML/CSS abbreviations and expansions in HTML, CSS/SCSS/Less, and JSX/TSX. Controlled by the Emmet toggle under Features → Language Servers.

Design tools

For UI work in web files:

ToolWhat it does
Visual designInspect the live preview and apply layout, fill, and type to source
Design autocompleteSuggests Tailwind-style classes and project patterns in className
Tailwind controlsInline panels for flex, gap, padding, colors
Design diagnosticsContrast and related accessibility checks
CSS variable IntelliSenseCompletions and hover for var(--*)

See Visual Design and Design Tools.

Other editor extras

FeatureWhere
Bracket pair colorizationEditor settings
Indent and bracket guidesEditor settings
Multi-cursor editingMonaco defaults — Editing Files
Markdown / MDX previewMarkdown Preview
Format on saveEditor settings (uses Prettier when enabled)
Edit