ろぼいんブログ

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

約4分で読めます

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

目次

tsrsとは?

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

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

広告

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

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

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

settings.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をシステムにグローバルインストールします。

Terminal window
npm install -g tsrs

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

settings.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を管理する場合は、次のように指定します。

settings.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を使えるようになりました。

広告
この記事の検証内容と情報源

検証環境

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

検証内容

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

最終検証日

参考リンク

記事をシェア

フォローして最新情報を入手

Googleの優先ソースに追加すると、このサイトの記事をGoogleで見つけやすくなります。また、ぜひXやRSSフィードもフォローしてください。

Googleの優先ソースとして追加するGoogleの優先ソースとして追加する
著者のアイコン画像

生まれた時から、母国語よりも先にJavaScriptを使っていました。ネットの海のどこにもいなくてどこにでもいます。

Webフロントエンドプログラマーとして、TypeScriptを用いたWebアプリやブラウザー拡張機能を制作。Xのシャドウバン検知ツール「Shadowban Scanner」やリンクカード復活ツール「Restore Link Card」を公開し、国内外のメディアで紹介されました。iGEM 2023ではJapan-UnitedチームのWikiを制作してGrand Prizeの獲得に貢献。ブログではXやSNSの最新ニュース、不具合の検証と対処法、フロントエンド開発の知見を発信しています。