Fork of zed-extensions/tsgo
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
zed-zippy[bot] 1cc91be6c9
Update CI workflows to 3183c04 (#39)
This PR updates the CI workflow files from the main Zed repository
based on the commit
zed-industries/zed@3183c04515

The update includes a new version of the extension CLI which adds
validation for semantic token rules for languages

Co-authored-by: zed-zippy[bot] <234243425+zed-zippy[bot]@users.noreply.github.com>
2026-03-25 18:56:12 +00:00
.github/workflows Update CI workflows to 3183c04 (#39) 2026-03-25 18:56:12 +00:00
src Apply suggestions from code review 2025-11-10 15:34:09 +01:00
.gitignore fix caching the binary and refactor to use the tsgo native binary directly instead of through the nodejs wrapper 2025-05-27 22:43:24 +02:00
Cargo.lock Bump version to 0.0.4 (#18) 2025-11-10 17:26:08 +01:00
Cargo.toml Bump version to 0.0.4 (#18) 2025-11-10 17:26:08 +01:00
extension.toml Bump version to 0.0.4 (#18) 2025-11-10 17:26:08 +01:00
LICENSE Create LICENSE 2025-09-30 11:56:25 -04:00
README.md add version support 2025-10-29 09:49:08 -05:00

tsgo: Native TypeScript Compiler Integration for Zed

This extension integrates tsgo, Microsoft's native Go-based TypeScript compiler, into the Zed editor, delivering enhanced performance and efficiency for TypeScript development.

🚀 Why tsgo?

Microsoft is transitioning the TypeScript compiler from its JavaScript implementation to a native version written in Go, aiming for significant performance improvements:

  • Faster Compilation: Achieves up to 10x speed improvements in large projects.
  • Reduced Memory Usage: Optimized memory handling in native execution.
  • Improved Editor Performance: Faster IntelliSense and language services.
  • Scalability: Better handling of large codebases.

Example Benchmarks:

  • VS Code: 77.8s → 7.5s (10.4x speedup)
  • Playwright: 11.1s → 1.1s (10.1x speedup)
  • TypeORM: 17.5s → 1.3s (13.5x speedup)

Source: Microsoft Developer Blog

🛠 Installation

  1. Open Zed's Extensions page.
  2. Search for tsgo and install the extension.

⚙️ Configuration

Note: tsgo is currently in preview and may not support all features of the standard tsc compiler.

Basic Setup

Enable tsgo in your Zed settings:

{
  "languages": {
    "TypeScript": {
      "language_servers": ["tsgo"]
    }
  }
}

You can also use tsgo in tandem with other language servers (e.g. typescript-language-server or vtsls). Zed will use tsgo for features it supports and fallback to the next language server in the list for unsupported features. To do that with vtsls, use:

{
  "languages": {
    "TypeScript": {
      "language_servers": ["tsgo", "vtsls"]
    }
  }
}

Advanced Configuration

Specifying a Package Version

By default, the extension installs and uses the latest version of the @typescript/native-preview npm package. To pin a specific version:

{
  "lsp": {
    "tsgo": {
      "settings": {
        "package_version": "7.0.0-dev.20251029.1"
      }
    }
  }
}

This is useful for:

  • Ensuring consistent behavior across the project
  • Testing specific versions
  • Avoiding automatic updates that might introduce issues

🧪 Status

This extension is in early development stages. While it offers significant performance benefits, some features may be incomplete or unstable. Contributions and feedback are welcome to improve its functionality.