Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>TypeShadeNew to Visual Studio Code? Get it now.
TypeShade

TypeShade

Type Shade

|
1 install
| (0) | Free
TypeShade language support for VS Code: diagnostics, hover, completions and navigation for "use typeshade" files, with a WGSL and GLSL preview.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

TypeShade for VS Code

Language support for TypeShade, the TypeScript shader language whose files start with the "use typeshade" directive and compile to WGSL and GLSL ES 3.00.

A "use typeshade" file is a TypeScript file, and this extension makes the editor answer for it the way the compiler does: diagnostics, hover, completions, signature help, go to definition, references and rename come from TypeShade's language service, through a TypeScript server plugin the extension turns on. TypeScript's own false errors on a shader file go away. Every other TypeScript file is left as it is.

Commands

Command What it does
TypeShade: Show WGSL Opens the preview beside the editor, on the WGSL the active file compiles to
TypeShade: Show GLSL The same, on the GLSL ES 3.00 vertex and fragment shaders
TypeShade: Show Reflection The same, on the bind groups, entry points and uniforms
TypeShade: Show Canvas The same, drawing the shader instead of printing it (needs WebGPU)
TypeShade: Run Entry on CPU Runs a function of the file on the CPU, with the arguments you type
TypeShade: Copy Output Copies the text of the preview's open tab
TypeShade: Open in Playground Opens the file, the files it imports and its passes in the site's Playground
TypeShade: Open Playground Link Writes the workspace a Playground link carries to a folder, and opens it

The preview follows the active editor and recompiles as you type. A folder downloaded from the Playground carries a typeshade.json that names its main file and its passes, and Open in Playground reads it.

The Canvas tab draws the active file every frame the way the Playground does: a file with no @vertex entry gets the fullscreen triangle, the passes of a typeshade.json that names the file are drawn in order into textures the size of the canvas, and the main file is drawn last. A uniform struct's time, resolution (pixels), mouse (0 to 1 from the bottom left), frame and timeDelta fields are filled, and any other field is zero; a texture_2d<f32> that is not a pass shows a checker. The Canvas uses WebGPU, so it draws only where VS Code's webview has an adapter; where it has none the tab says so and draws nothing. A file that stops compiling keeps the last frame on screen under a banner that says why.

Settings

Setting Default Meaning
typeshade.preview.autoUpdate true Recompile the preview while you type
typeshade.preview.debounceMs 300 How long after the last keystroke the preview recompiles
typeshade.diagnostics.replace true Let the plugin replace TypeScript's answers on a shader file
typeshade.debug.precision f32 The arithmetic Run Entry on CPU uses
typeshade.trace.server off Log the plugin's requests into the TypeScript server log

VS Code for the Web

On vscode.dev and other VS Code for the Web pages the extension gives a "use typeshade" file the language features and nothing else: diagnostics, TypeScript's false errors gone, hover, and imports between shader files. They come from the same TypeScript server plugin as on the desktop.

Every command listed above needs the desktop version. On the web each one shows a message that says so and does nothing else: there is no preview, no Canvas, no Run Entry on CPU and no Playground link. The settings listed above are not read on the web.

Two conditions apply:

  • VS Code for the Web 1.110 or newer. An older one does not load the plugin at all, so TypeScript's own false errors stay on a shader file. The extension installs there anyway and shows a warning once.
  • A page that is cross-origin isolated. Without it the TypeScript server does not run its semantic checks in the browser, so there are no TypeShade diagnostics and TypeScript shows none of its own either; the extension shows a warning once. vscode.dev is isolated: the installed 0.2.0 was checked there on 2026-09-29, with the page, the extension host and both TypeScript servers isolated (docs/measurements/vscode-dev-live/ in the repository). github.dev was not checked. A VS Code for the Web you host yourself needs the Cross-Origin-Opener-Policy and Cross-Origin-Embedder-Policy headers.

Completion, signature help, references, rename and the outline use the same plugin methods on the web, and are not covered by the extension's web tests. The web build was tested on VS Code for the Web 1.139.1 and 1.110.0 in Chromium; other browsers were not tested.

Requirements

VS Code 1.90 or newer on the desktop (see above for the web). A repository that pins its own typescript gets the plugin too: the extension enables it for the workspace TypeScript version.

The status bar names the entry points of a shader file, and says so when TypeScript is still reporting its own errors on one, which means the plugin did not load.

Source

github.com/typeshade/vscode-typeshade, under the Apache License 2.0.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft