InfoQ

InfoQ

News

マイブックマーク

ブックマークするためにログイン または 会員登録 する

ブックマークされました!

ブックマークがエラーになりました。もう一度お願いします。

RubyMine 1.0がRuby IDE Ringに取り掛かる

作者 Robert Bazinet , 翻訳者 編集部 投稿日 2009年5月11日

セクション
デベロップメント
トピック
Ruby on Rails ,
Ruby ,
IDE
タグ
Ruby1.9 ,
Ruby on Rails ,
IDEs

原文(投稿日:2009/4/30)へのリンク

数あるなかでJetBrains、IntelliJ IDEAおよびReSharperのデベロッパは、RubyMine 1.0(リンク)で、初めてのRuby空間への進出を発表した-RubyおよびRuby on Rails開発向けのIDEである。

RubyMineは、11月にPublic Previewとしてリリースされ、Rubyコミュニティからすばらしいフィードバックを受けた。コミュニティの支援について、RubyMineのリードデベロッパであるDmitry Jemerov氏は、以下のように述べた。

たいていのRuby/Railsデベロッパは、単純なテキストエディタにコードを記述することに満足しているという信念にも関わらず、Public Previewの発表以来約25,000回RubyMineがダウンロードされてきた。早い段階でRubyMineを導入した人は、大量のフィードバックや貴重な改善の提案を提供した。非常にインテリジェントな開発ツールと同様に、RubyデベロッパはRubyMineを使用することで極めて生産的になり得るということを確信している。事実、バージョン1.0は単に始まりに過ぎない。新たなリリースに向けたさまざまな考えや計画がある。

RubyMine 1.0は、このIDEがデベロッパのために出来ることを理解するために、デベロッパが検討すべき機能性の主なグループ化がある。

Ruby IDE

Rubyエディタ

Rubyコードエディタは、自動構文およびタイプする際にRubyコードのエラーのハイライトを提供する。Rubyステートメント、キーワード、コメントのために注意深く選択された色および他の言語要素の他に、いくつかのカラースキームがRubyMineにバンドルされている。RubyMineは、自動のRubyコードスタイリングを実行する。ブレースマッチやフォールド、カスタムフォーマット、インデントおよびTODOマークがある。

コードコンプリート

  • スマートなRubyステートメントおよびキーワードコンプリート
  • ビルトインメソッドの自動コンプリート
  • 必須およびロードコールでのコンプリートおよびロードコール
  • 自動コンプリートでの静的およびインスタンスメンバーの正しいフィルタリング
  • ローカル変数タイプの推測
  • Method戻り値のタイプの推測
  • ブロックコールでのブロック変数のタイプの推測

リファクタリング

  • 名前変更のリファクタリング
  • メソッドの抽出
  • 変数の導入
  • メソッドのオーバーライド

コード分析

コードがタイプされたときに、RubyMineはコード分析を実行し、エラーをハイライトする。

Ruby on Rails開発

RubyMineはRuby on Railsの開発を、既存のエディタへのアドオンとしてではなく、first-class citizenにする。これは、IDEのRails固有の機能に対する始まりである。

  • Ruby on Railsプロジェクト
  • 拡張Railsプロジェクトのナビゲーション
  • モデルの依存性のダイアグラム
  • Railsコントローラ、ヘルパーおよびビュー向けのオートコンプリート
  • Railsを意識したリファクタリング
  • Railsコードコンプリート
  • RHTML編集
  • YAMLサポート

インテリジェントコードアシスタント

デベロッパのライフを非常に、容易にするちょっとしたことを追加するIDEの機能は、Intelligent Coding Assistanceで追加されている。JetBrainsの他製品に精通しているデベロッパは、この種のアシスタントに精通している。

  • 中括弧、角括弧および引用符の自動挿入および囲み
  • 合致した中括弧/角括弧のハイライト
  • コードのコメントの表示
  • 拡張/縮小の選択
  • ライブテンプレート
  • パラメータ情報ポップアップ
  • 文書の迅速な検索

ユニットテストのサポート

RubyMineは、RubyおよびRailsコード向けのユニットおよび振る舞い主導のテストをサポートする。これには、RSpec、Test::Unit、Test/Specフレームワーク、ライブテンプレートおよびRSpec向けのスマートコードコンプリートが含まれる。

また、以下の機能もある。

  • IDEと完全に統合され、Rakeタスクを通じてテストを実行することができる内蔵型テスト実行機
  • 特定のメソッド、クラス、BDD例向けのテストを迅速に起動するアクション
  • Railsアプリケーションでのコードとテストのナビゲーション
  • 現在実行中テストのオンザフライの統計
  • 選択されたテスト出力を表示するための詳細パネル付きテスト用の専用ビュー
  • テストが失敗したコード行への迅速なナビゲーション
  • Test::UnitおよびTest/Specテストを作成するためのファイルテンプレート
  • コンソールまたはエディタからテストを迅速に作成するためのアクション

Ruby on Railsコード向けグラフィカルデバッガ

グラフィカルデバッガは、新たなIDEの統合された一部分であり、 スモールブレークポイント、ウォッチ向けの専用ビュー、スタックおよび公式の評価が含まれる。

バージョン管理システムの統合

サポートされる機能には、同期、チェックアウト、マージやアップデートがある。

  • Subversion
  • Git
  • CVS
  • Perforce

Supported features include synchronization, checkout, merging and updates as well as:

  • すべての統合済みバージョン管理向けのChangelistsサポート
  • ガターバーでのNext、Previous、Rollback、Show Differenceアクション
  • プロジェクト/フォルダ/ファイルの変更履歴の表示
  • ファイルをレビューするために、コマンドに注釈を付ける
  • 一度のショートカットで、最新の変更を表示する
  • リファクタリングの際、影響を受けたすべてのファイルを自動で点検する
  • History、Status、Update Infoの専用ツールウィンドウ
  • 競合通知付きの、プロジェクト全体をコミットする機能
  • チームメートによって変更されたファイルについての通知

また、RubyMineは、変更、削除されたが、それでもバージョン管理下にあるすべてのファイルをリストする詳細なChangelist管理を特色としている。その結果、ユーザは以下のことができる。

  • Changelistの作成、除去またはコミット
  • 修正のロールバック
  • ファイルおよびフォルダをバージョン管理に追加
  • Changelist間で選択されたファイルを移動
  • 選択されたファイル間で違いを確認
  • 基礎となるソースコードへのジャンプ

 

今後のリリースの予定は、5月にRails 2.3サポートでRubyMine 1.1を実現し、 Ruby 1.9、HAML構文解析、Cucumberサポートと同様にRailsプラグインをインストールするためのUIに対するサポートを装備したv1.5を秋にリリースする計画である。詳細情報に関しては、JetBrainsのWebサイト(リンク)またはdownload RubyMine(リンク)で参照できる。

特集コンテンツ一覧

GAE開発の落とし穴

Googleのクラウド環境をつかったGoogle App Engineによる開発するにあたり、初めての試みで苦悩する開発者達の経験をもとに、各開発フェーズにあわせて問題点やどう解決したかをご紹介します

イベントレポート:「Coqチュートリアル#1」

去る1月12日、定理証明支援系ツールCoqの初心者向けチュートリアルが開催さ れた(http://kokucheese.com/event/index/23667/)。今後も2月2日 (http://kokucheese.com/event/index/23744/)、2月9日、2月16日と引き続き開 催されていく予定である。本記事では、開催の様子をレポートする。

Javaの未来についてのNeal Gafter氏とのディスカッション

Choosing Options

Neal Gafter氏はOracleによるJava買収の影響に関する議論、Javaにセグメンテッドスタックやメタオブジェクトプロトコルを追加することについての主張、そしてJavaとC#との比較について話をしてくれた。

Google Dartのエッセンス:アプリケーションの構築、スナップショット、Isolate

GoogleはVMをともなう新しい言語であり、JSコンパイラでもあるDartをプレビューした。 InfoQはDartのアプリの構築に貢献する文法の裏側を探った:スナップショット、Isolate、モジュール方式

CSPベースのモデル検査ツール「Process Analysis Toolkit」

本記事ではCSPベースの「マルチドメイン・モデル検査ツール」である、PAT(Process Analysis Toolkit)について紹介する。モデル検査は、形式手法(Formal Method)という方法論を基礎とする技術であり、複雑さが増大しながらも安全性を求められる、現在のソフトウェア開発の状況に対する処方箋の1つとして注目されている手法である。

Jenkinsによる継続的インテグレーションのススメ(4) ~CloudBeesでJenkinsをサービスとして使う~

前回まで、Jenkinsの幾つかの側面に注目して解説をしてきました。シリーズ最後の今回は、Jenkinsをサービスとして使う方法を紹介します。

書籍『抽象によるソフトウェア設計-Alloyではじめる形式手法-』の紹介

Alloyは、MITにて開発された仕様記述言語であり、ツールによる自動解析を使い、インクリメンタルに形式仕様が書けることが特長である。筆者らはAlloy開発者による、Alloyを使った形式手法入門書を翻訳、今夏にオーム社より刊行した。本記事では、Alloyの簡単な概要と、翻訳書『抽象によるソフトウェア設計』(「Alloy本」)を紹介する。

Windows デバイスで開発するタッチユーザーインターフェイス

スマートフォンを中心としたマルチデバイスにおけるタッチユーザーインターフェイスへの対応は、既に必須の項目となりつつある。本記事では、Windows デバイスにおける UX のベースとなっている「メトロ」というデザイン言語を掘り下げながら、既存環境を意識しつつもどのようにタッチユーザーインターフェイス開発に取り組んでいくべきであるかについて解説していく。