Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>R^ (Rhat) Language SupportNew to Visual Studio Code? Get it now.
R^ (Rhat) Language Support

R^ (Rhat) Language Support

SAM-tak

| (0) | Free
Language support for R^, powered by the native rhat language server (rhat lsp).
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

R^ (Rhat) Language Support

R^ (rhat) 用の VS Code 拡張です。.rh の構文強調と言語設定を提供し、 ネイティブ言語サーバー(rhat lsp)を stdio で起動します。 L^ の VS Code 拡張を参考に、R^ の構文とサーバーに合わせて構成しています。

機能

  • .rh の言語認識、構文強調、コメント操作、括弧・引用符の補完。
  • def^、f^、p^、if^、各種ループ、import^ などのスニペット。
  • rhat lsp による診断、ホバー、補完、定義移動、参照検索、シグネチャヘルプ、Outline、semantic tokens。
  • 未保存の編集、依存する .rh ファイルの変更通知。
  • サーバーの再起動・停止・ログ表示。設定やワークスペースフォルダーの変更時には再接続。

UI の多言語化、ビジュアルエディター、LTON、L^ の VM 用デバッグアダプターは含めません。 解析範囲と制限は rhat lsp に準じます。現在は開いた文書と import 依存が対象で、 rename や整形を独自には実装していません。

インストールと設定

VS Code 1.91 以降を使用してください。 このプロジェクトで生成する通常の VSIX には、ネイティブサーバーを同梱しません。 R^ 側で rhat をビルドまたはインストールし、その実行ファイルを設定します。言語サーバーは rhat lsp で、別の実行ファイルはありません。 R^ のビルドは rhat を .rhat-ls/ にもコピーするので、言語サーバーの実行中でもビルドできます(rhat.serverPath には .rhat-ls 側を指定します)。

{
  "rhat.serverPath": "C:/Users/Owner/source/repos/rhat/.rhat-ls/rhat.exe"
}

rhat.serverPath が空の場合は、拡張内の bin/rhat(.exe)、次に PATH を探索します。 F5 の Extension Development Host では、その間に隣の ../rhat/.rhat-ls、次に ../rhat/build/Debug、Release、 単一構成の build も探索します。通常インストールでは、隣のソースリポジトリを自動探索しません。 設定には実行ファイル名だけを渡し、lsp や --stdio などの引数を含めないでください。

追加の設定例です。

{
  "rhat.serverPath": "${workspaceFolder}/tools/rhat.exe",
  "rhat.modulePaths": ["modules", "${workspaceFolder:shared}/lib"],
  "rhat.stdlibPath": "C:/tools/rhat/share/rhat/stdlib",
  "rhat.serverAutoRestart": false
}
設定 内容
rhat.serverPath 実行ファイルのパス、または PATH 上のコマンド名。空なら自動探索。
rhat.stdlibPath std/random.rh などが入った標準ライブラリのルート。空ならサーバーに任せる。
rhat.modulePaths ユーザーモジュールの追加探索ディレクトリ。
rhat.serverAutoRestart 異常終了後の自動再起動。既定は true。

パスでは ${workspaceFolder}、${workspaceFolder:name}、${env:NAME}、~/ を使用できます。 相対パスは最初のワークスペースフォルダーを基準にします。 フォルダーなしでファイルだけを開いた場合は、そのファイルのディレクトリを基準にします。 設定はウィンドウ単位で、一つのサーバーが全ワークスペースフォルダーを受け持ちます。 リモート接続では拡張ホスト側にあるサーバーとパスを指定してください。

Restricted Mode では構文強調を利用でき、ネイティブサーバーはワークスペースを信頼した後に起動します。

コマンド

  • R^: Restart Language Server — 設定を読み直して再接続。
  • R^: Stop Language Server — サーバーを終了し、実行ファイルの再ビルドを可能にする。
  • R^: Show Language Server Output — 起動・エラー・サーバーログを表示。

.rhat-ls のコピーを使っていれば、ビルド前に Stop を実行する必要はありません。ビルド後に Restart を実行すると、新しいコピーに切り替わります。 コピーが使用中で更新できなかったときは、ビルドが警告を出すだけで失敗はしません。 VS Code 自身や別のエディターが起動したサーバーは、この Stop コマンドの対象ではありません。

開発

ビルドには Node.js 22 以降と npm が必要です。

npm ci
npm test
npm run test:server

npm test は型検査、バンドル生成、TextMate の実トークン化、パス解決、VS Code API 境界のテストを行います。 npm run test:server は隣の rhat lsp を使う接続テストです。別のサーバーも指定できます。

npm run test:server -- --server ../rhat/build/Release/rhat.exe

接続テストにはコンパイラ側のビルドが必要です。 テストは一時ワークスペースを作り、JSON-RPC で未保存文書・依存モジュール・診断・UTF-16 座標・終了処理を検証します。 VS Code の GUI を操作するテストではありません。

Debug / Release

npm run build:debug
npm run build:release

Debug はソースマップ付き、Release は JavaScript を最小化し、配布用ソースマップを生成しません。 どちらも dist/extension.js を生成します。 VS Code の Run Build Task からも、それぞれのビルドを選択できます。

このフォルダーを VS Code で開いて F5 を押すと、選択した Debug / Release 設定でビルドし、 testing/workspace を開いた Extension Development Host を起動します。 main.rh を開くと、構文強調・診断・定義移動などを試せます。 npm run watch は Debug バンドルを継続更新します。型検査は npm run check で行います。

拡張のビルド構成と rhat の構成は独立しています。 Release のサーバーを使う場合は、rhat.serverPath に ../rhat/build/Release/rhat.exe の 絶対パス、またはインストールした Release 版を指定してください。 R^ 側のビルドは cmake --build build --config Release、または ./scripts/build.ps1 -Configuration Release で行えます。

VSIX の生成

npm run package

VSIX 作成時は自動的に Release ビルドを実行します。 生成物は rhat.vsix です。VS Code の Extensions: Install from VSIX... から選択できます。 コマンドでもインストールできます。

code --install-extension ./rhat.vsix --force

ビルド時に vscode-languageclient と実行時依存を JavaScript にまとめるため、VSIX の利用時に npm は不要です。 ライセンスは LICENSE、移植元の表示は NOTICE、同梱依存の表示は THIRD_PARTY_NOTICES.md に保持します。 ネイティブサーバーを同梱する配布を行う場合は、bin/rhat(.exe) に加え share/rhat/stdlib とサーバーのライセンスを配置し、vsce の --target で対象プラットフォームを指定してください。

R^ 独自の DAP は登録しません。将来のソースデバッグには、コンパイラのデバッグ情報出力と 既存のネイティブ用デバッグアダプターを組み合わせます。

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