BT

Rust Language Serverがアーリーアダプタ向けに提供へ

| 作者: Sergio De Simone フォローする 12 人のフォロワー , 翻訳者 h_yoshida フォローする 1 人のフォロワー 投稿日 2017年3月9日. 推定読書時間: 2 分 |

原文(投稿日:2017/01/23)へのリンク

Rust Language Server(RLS)は,コードの自動補完,goto定義,再フォーマットなどの機能を備えたツール開発の支援を目的とする。実際のプロジェクトでの使用とフィードバック提供のために今回,アーリーアダプタ向けのアルファ版が公開されることになった,とプロジェクトの代表的なコントリビュータのひとりであるJonathan Turner氏が書いている

ソースコードに関する情報を収集するためにRust Language Serverは,Rustコンパイラの他に,Rustコードの補完機能を提供するRacerを使用する。コンパイラはその定義上,プログラムに関する情報の最も信頼できる提供源だが,現行のRustにはインクリメンタルコンパイル機能が欠如しているため,動作が遅過ぎる場合のあることが問題だ。それに対してRacerは,ほぼすべての場合において高速だ,とTurner氏は言う。しかしながら,マクロが扱えない,ジェネリックタイプのサポートが部分的である,といった制限もある。この理由からRLSでは,コンパイラとRacerの両方に問い合わせを行なうことで,許容される時間内で最も正確な情報の提供を実現しているのだ。このプロセスを可能な限り効率化するため,RLSは,コンパイラやRacerをシェル経由でコントロールせず,その両方をリンクしている。

現在リリースされているRLSは,次の機能をサポートする。

  • 自動補完
  • goto定義
  • シンボルへのgoto
  • すべての参照の検出
  • 名前変更とリファクタ
  • ホバーによる型表示
  • エラー内容

RLSの大きな特徴はMicrosoft Language Server Protocol (LSP)を採用していることだ。このプロトコルはIDEやテキストエディタなどのクライアントと言語サーバとの間に,標準化された通信手順を確立する。このためRLSは,Visual Studio CodeやEclipse,Che,Emacsといった,Microsoft LSPをサポートするさまざまなIDEやエディタで利用することが可能だ。Microsoft Studio Codeの場合であれば,プラグインをインストールすることで使用することができる。プラグインがインストールされると,Visual Studio Codeが言語サーバを自動的に起動し,Rustの高度な編集機能がサポートされるようになる。

現時点では開発初期段階であるため,実用の域には達していないが,CargoベースのほとんどのRustプロジェクトで利用可能になるだろう,とTurner氏は述べている。インストールは以下のコマンドを実行すればよい。

git clone https://github.com/jonathandturner/rls
git clone https://github.com/jonathandturner/rls_vscode.git
cd rls_vscode
npm install
export RLS_ROOT=/Source/rls

その後にVS Codeを起動する。ビルドに必要な依存関係はナイトリービルドのrust/cargo,git,python,node,cmakeだ。

この記事を評価

関連性
スタイル

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

特集コンテンツ一覧

ASP.NET Core - シンプルの力

Chris Klug 2018年6月4日 午前3時26分

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT