---
title: ZedのTypeScript言語サーバーとしてtsrsを使う方法
url: https://roboin.io/article/2026/11/14/how-to-use-tsrs-as-the-typescript-language-server-in-zed/
description: TypeScriptコンパイラーをRustに移植したtsrsをZedのTypeScript言語サーバーで使う方法について解説します。
publishedDate: 2026-11-13T17:53:25.737Z
modifiedDate: 2026-11-13T17:53:25.737Z
thumbnail: https://roboin.io/api/og/2026/11/14/how-to-use-tsrs-as-the-typescript-language-server-in-zed/
thumbnailAlt: 記事のサムネイル画像
thumbnailCaption: N/A
---

# ZedのTypeScript言語サーバーとしてtsrsを使う方法

TypeScriptコンパイラーをRustに移植したtsrsをZedのTypeScript言語サーバーで使う方法について解説します。

## tsrsとは？

tsrsはTypeScript 7をRustに移植したTypeScriptコンパイラーで、OxlintやOxfmtの開発元のVoidZeroとCloudflareが開発・公開しています。公式ブログによれば、tsrsはTypeScript 7.0と比較して最大8倍高速でメモリー使用量は70%少ないとのことです。

[https://blog.cloudflare.com/typescript-rust-port/](https://blog.cloudflare.com/typescript-rust-port/)

tsrsの開発チームとTypeScriptの開発チームは協力しており、tsrsで実施した最適化の一部をGo版の本家TypeScriptに取り入れているようです。

## ZedのTypeScript言語サーバーとしてtsrsを使う方法

tsrsをZedのTypeScript言語サーバーとして使うには、Go版のTypeScriptを言語サーバーとして使えるようにするTypeScript Language Server拡張機能をインストールします。

[https://zed.dev/extensions/tsgo](https://zed.dev/extensions/tsgo)

インストールしたら、TypeScript Language Server拡張機能をTypeScriptの言語サーバーとして指定します。

```json
{
    "languages": {
        "TypeScript": {
            "language_servers": ["!vtsls", "!typescript-language-server", "typescript-ls", "..."]
        },
        "TSX": {
            "language_servers": ["!vtsls", "!typescript-language-server", "typescript-ls", "..."]
        },
        "JavaScript": {
            "language_servers": ["!vtsls", "!typescript-language-server", "typescript-ls", "..."]
        }
    }
}
```

次に、tsrsをシステムにグローバルインストールします。

```bash
npm install -g tsrs
```

TypeScript Language Serverのバイナリーとしてtsrsを指定します。

```json
{
    "lsp": {
        "typescript-ls": {
            "binary": {
                "path": "path/to/tsrs",
                "arguments": ["--lsp", "--stdio"]
            }
        }
    },
    "languages": {
        "TypeScript": {
            "language_servers": ["!vtsls", "!typescript-language-server", "typescript-ls", "..."]
        },
        "TSX": {
            "language_servers": ["!vtsls", "!typescript-language-server", "typescript-ls", "..."]
        },
        "JavaScript": {
            "language_servers": ["!vtsls", "!typescript-language-server", "typescript-ls", "..."]
        }
    }
}
```

miseでtsrsを管理する場合は、次のように指定します。

```json
{
    "lsp": {
        "typescript-ls": {
            "binary": {
                "path": "mise",
                "arguments": ["exec", "--", "tsrs", "--lsp", "--stdio"]
            }
        }
    },
    "languages": {
        "TypeScript": {
            "language_servers": ["!vtsls", "!typescript-language-server", "typescript-ls", "..."]
        },
        "TSX": {
            "language_servers": ["!vtsls", "!typescript-language-server", "typescript-ls", "..."]
        },
        "JavaScript": {
            "language_servers": ["!vtsls", "!typescript-language-server", "typescript-ls", "..."]
        }
    }
}
```

これで、ZedのTypeScript言語サーバーとしてtsrsを使えるようになりました。

## Verification details and sources

### Verification environment

- OS：Windows 11
- Zed：バージョン1.28.1
- tsrs：バージョン0.23.0-ts7.1.0-beta

### Verification details

WindowsとWSL環境でZedのTypeScript言語サーバーとして、miseで管理しているtsrsを指定して日常的にコーディングし、動作を確認しました。

### Last verification date

2026-11-13T17:50:00.000Z

### Reference links

- [Introducing tsrs: a Port of TypeScript to Rust | Cloudflare Blog](https://blog.cloudflare.com/typescript-rust-port/)
- [TypeScript Language Server — Zed Extension](https://zed.dev/extensions/tsgo)
- [oxc-project/tsrs: Rust port of the TypeScript 7 type checker](https://github.com/oxc-project/tsrs)