RubyMine 2019.1の新機能

RubyMine 2019.1は、Dockerのメジャーアップデート、Rubyプロファイラ、Factory Botのフルサポート、カスタムテーマなどを備えております。

Docker

Docker-compose exec

docker-compose execを含むRethink Docker

RubyMineは
docker-compose execのサポートを追加いたしました。 簡単にお伝えしますと、このコマンドを有効にすると、アプリケーションの実行やデバッグ、gemのインストール、およびその他の開発タスクを以前よりも速く行えます。

詳細は、RubyMineでのDocker/Docker Composeの使い方をお読みください。

実験的:docker composeを使って実行します。

RubyMineの高速化

実験的機能で、Docker SDKの使用時に、ruby.docker.internal.via.execを有効にするとRubyMineが高速化します。

Dockerイメージを再構築することなく、gemの追加、rakeタスクの実行、railsコマンド、およびあなたの環境を更新するものを追加できるようになりました。

Recent locations(最近の場所)

Recent locations(最近の場所)

最近の場所のポップアップ

新しい最近の場所ポップアップは、コードベースをナビゲートする方法を一新します。 このポップアップは、コードが何だったかのみを覚えているだけで、どこでそれを見たのかがわからない場合に、その実際のコードを見つけるのに役立ちます。 入力を開始して結果を絞り込み、必要なコードにジャンプします。

詳細については、RubyMineのナビゲーション:Recent Locationsポップアップをお読みください。

プロファイラ

i18n翻訳の作成

アプリケーションのプロファイリング

RubyMine 2019.1はrbspyを統合し、ネイティブプロファイラを提供し、アプリケーションやテストを遅延させるコードの部分を発見するのに役に立ちます。

詳細なチュートリアルについては、RubyMineでのrbspyによるRuby&Railsアプリのプロファイリングをご参照ください。

プロファイラを実行中のアプリにアタッチ

実行中のアプリにアタッチ

実行中のアプリケーションにプロファイラをアタッチして(Find action / Attach Profiler to Process)、リアルタイムで調査できます!

Factory Bot

属性の自動補完とナビゲート

ファクトリを追加している際に、RubyMineはその属性と、可能であればその値も自動補完します。 例えばRailsモデルファクトリの場合、IDEはそのフィールドをそのコンテンツ、さらには関連付けで自動補完します。 そしてもちろん、それらのオブジェクトの定義と使用箇所間を移動できます。

テストファイルでのファクトリ作成の補完

メソッドの自動補完とナビゲート

テストを書く際に、createbuildbuild_stubbedなどのファクトリ作成メソッドの定義を自動補完し、それらに移動できます。

sequence、trait、aliaseなど、Factory Botのその他の優れた機能も完全にサポートされています。

MVCの完全統合

また、ファクトリを関連ファイルポップアップに追加し(ナビゲート/関連シンボル)、部分的なfactory宣言がある場合はそれに移動できるようにするためのガターも追加いたしました。

呼び出し階層

呼び出し階層

メソッド呼び出しの調査

新しいCall Hierarchyアクションは、調査中のメソッドを使用するメソッド(「呼び出し元」)、すなわちこれらの呼び出し元を呼び出すメソッドを掘り下げるのに役立ち、必要に応じてさらに深く掘り下げられます。

詳しくは、こちらのブログ記事をご参照ください。

TruffleRuby

TruffleRuby

TruffleRubyサポート

RubyMine 2019.1はTruffleRubyのサポートを追加いたしました! 現在お使いのRuby SDKをTruffleRubyに切り替えるには、当該インタプリタがインストールされていることを確認してから、それをRuby SDKの設定で選択してください。

ところで、今回のリリースではRubyのバージョンマネージャに関する多くの問題も修正いたしました。

JavaScript

VueでのTypeScript

VueアプリでのTypeScriptサポートの改善

RubyMineは、.vueファイル内のあらゆるTypeScriptコードに対して、TypeScript言語サービスと独自のTypeScriptサポートを併用するようになりました。 これによって、より正確な型チェックと型情報が得られるようになり、このサービスによって提供されるクイックフィックスを使用できるようになり、TypeScriptツールウィンドウの現在のファイルにあるTypeScriptエラーをすべて表示できるようになります。

テストでエラーをハイライト

テストで失敗した行の強調表示

Jest、Karma、Mocha、またはProtractor を使ってテストを実行した結果、一部のテストが失敗した場合に問題発生箇所をエディタで直接確認できるようになりました。 IDEはスタックトレースからの情報を使用して、失敗したコードを強調表示します。 カーソルを合わせると、テストランナーのエラーメッセージが表示され、即座にテストのデバッグを開始できます。

新しいデバッガコンソール

新しいデバッガコンソール

JavaScriptとNode.jsのデバッグツールウィンドウで、新たに改善された対話型デバッガコンソールをご覧ください! コンソールはツリービューを使用してオブジェクトを表示するようになりました。また、CSSによるログメッセージのスタイル設定と、console.group()とconsole.groupEnd()を使用したメッセージのグループ化に対応しています。 また、任意の種類のログメッセージを除外することもできます。

npmスクリプトの補完

npmスクリプトの補完

package.jsonファイルに新しいスクリプトを追加する際に、当IDEはインストールされたパッケージによって提供される利用可能なコマンドを提案するようになりました。 nodeと入力後、IDEはフォルダとファイルの名前を提案いたします。 そしてnpm runと入力後、現在のファイルで定義されているタスクのリストが表示されます。

RubyMine 2019.1で使用可能なJavaScriptの改善に関する詳細は、WebStormの新機能をご覧ください。

HTML & CSS

HTMLとCSS

ドキュメントの更新

CSSプロパティ、HTMLのタグと属性のドキュメント(F1)に、MDNのブラウザ対応状況に関する最新の説明と情報、ならびにMDNの記事全文へのリンクが表示されるようになりました。

カスタムテーマ

カスタムテーマ

新しいUIテーマ

プラグインとしてご利用可能なRubyMineの新しいカラフルなUIテーマを使用できるようになりました。 ダークパープルグレーシアンライトのテーマから選択するか、独自のものを作成してください。

データベースツール

データベースツールの改善:新しいソース

当社のDataGripチームの同僚たちの尽力により、RubyMineのデータベースツールに対して以下の優れた改善が行われました:

  • 新しいデータベースのサポート:Greenplum、Vertica、Apache Hive。
  • コード補完は、CREATEとDROPを組み合わせた文をサポートします。
  • MySQLとMariaDBでDEFINER属性をサポートします。
  • MariaDBでOracleモードをサポートします。
  • プロジェクト用にデフォルトフォルダを設定できるようになりました。

その他の改善

  • Springでテストを実行しデバッグする機能
  • ポリモーフィック関連:sourceとsource_typeパラメータをサポート
  • bundle.configを使用して代替gemfileを指定
  • bundle.configを使用してローカルgemのパスを指定
  • デフォルトオプションの国際化(I18n)サポート
  • Railsモデルのクエリフィールドメソッドのサポートの改善