定義元ジャンプなどに対応したRSense v0.3をリリースしました

定義元ジャンプなどに対応したRSense v0.3をリリースしました。

http://cx4a.org/software/rsense/index.ja.html

v0.2からの詳しい変更点は次のURLを参照していただくとして、

http://cx4a.org/software/rsense/changes-v0.3.ja.html

ここでは次のv0.3の新機能について説明します。

定義元ジャンプ

この機能はその名の通り、カーソルでポイントしている定数(クラス)やメソッドの定義元にジャンプする機能です。まだ実験的な段階ですが、requireしているライブラリのメソッドにジャンプしたり、編集中のファイルで定義しているメソッドにジャンプしたりといった、比較的簡単なケースではうまく動作しています。この機能によって、いよいよIDEらしくなってきました。

EmacsではM-x rsense-jump-to-definition、Vimでは:RSenseJumpToDefinitionで利用できます。

なお現状では複数の選択肢がある場合は、最初の選択肢を選択します。

Where Is

適当な名前を思いつかなかったので、このような分かりづらい名前になってますが、要は現在どのメソッドあるいはクラスを編集しているのかを示してくれるのがこの機能になります。構造化されているとは言え、構文のクセが少ないRubyではどのメソッドを編集しているか分からなくなることがあります。この機能はそういった問題を解決することを目的としています。

EmacsではM-x rsense-where-is、Vimでは:RSenseWhereIsで利用できます。

メソッドシグネチャ表示

コード補完時に、そのメソッドがどのクラスやモジュールに所属しているのかを示してくれる機能です。また、それと同時にmやcといった記号も表示されます。これらの記号の意味は次のようになります。

記号 意味
C クラス
M モジュール
c 定数
m メソッド

Emacsでは次のような表示になります。

なお、この表示にするにはauto-complete-modeの開発版をインストールしておく必要があります。近々リリースする予定なので、面倒な方はしばしお待ちを。現在の安定板ではメソッド名のみの表示になります。

Vimでは次のような表示になります。


Windowsサービス

以前のバージョンではコマンドプロンプトでRSenseサーバーを手動で起動しておかなければなりませんでしたが、今回のバージョンからRSenseをWindowsサービスとして動作できるようにしました。Windows XPでのみ動作確認しています。

Windowsサービスの利用方法はドキュメントを参照してください。

http://cx4a.org/software/rsense/manual.ja.html#Windows

その他

その他、エディタが固まったり、Javaプロセスが落ちたりといった致命的なバグが修正されています。これによりv0.2に比べて断然に安定度が増しています。また、CPU使用率やメモリ使用量などのパフォーマンスの問題も改善されています。

以上、是非お試しを。