RubyMine 2019.2ではRails 6およびRuby 2.7のサポートを追加し、YARDのサポートとデバッガを改善し、多数のプラットフォームの改良を取り入れています。 以下の新機能をご確認いただき、今すぐ更新しましょう。 なにか問題があれば遠慮なくこちらから報告してください。RubyMine Slackへの参加も歓迎いたします。
弊社のデバッガではTracePoint :lineを使用して1行ずつプログラムの実行を追跡していました。 バージョン2019.2では、デバッガでコードのどの部分で実行を中断するかを選択し、残りのコードをオーバーヘッドから解放できるようするMRI用のネイティブな拡張機能を考案しました。 その結果、デバッガの速度を劇的に向上させ、以下の新機能を実装することができました。
これまではデバッグセッション中に多数のメソッドを含む行に遭遇した場合、RubyMineは行内の最初のメソッドにしかステップインできませんでした。 新たに追加されたSmart Step Intoはこの制限を解除し、同一行内の各メソッドやブロック呼び出しにステップインして調査できるようにします。
新バージョンでは行だけではなく、ブロックにもブレークポイントを設定できます。 ブロックを含む行にブレークポイントを設定するために左ガターをクリックすると、RubyMineは行、ブロック、またはその両方にブレークポイントを設定するかどうかを確認します。
RubyMineでRuby&Railsスクリプトをデバッグする方法に関する詳細は、RubyMineでのデバッグをお読みください。

RubyMine 2019.2は、Ruby 2.7の初回プレビューで実験的機能として導入されていたパターンマッチングをサポートしています。 このIDEは新しい構文を識別することができ、オブジェクト間を移動し、オブジェクトの使用箇所を検索し、名前を変更できるようにします。
RubyMineの新バージョンは番号指定パラメータの構文を認識し、その使用箇所を表示/検索します。 これは、ブロック変数を定義する代わりに、パラメータ番号をデフォルトのパラメータに使用してブロックの値を割り当てられる、Ruby 2.7のもう一つの実験的機能です。
RubyMine 2019.2は、Rails 6で送り出されるAction Mailboxをサポートしています。 このIDEはroutingメソッドやコールバックの自動補完候補を表示し、それらの実装や使用箇所の間を移動できるようにします。
また、ApplicationMailboxでroutingの呼び出しや、メールボックスでprocessメソッドを追加し忘れていた場合に通知を行う2つのインスペクションを追加しました。 後者はクイックフィックスも提供しています。
Action Mailboxの使用方法については、こちらの詳細なGoRailsのエピソードをご覧ください。

ActiveRecord::Enum向けに適切なコードインサイトのサポートを追加しました。 これには列挙型の名前やメソッドに対するコード補完、ナビゲーション、使用箇所の検索が含まれます。 Rails 6で導入された列挙型の否定範囲もサポートされています。
当社はYARDのサポートを徐々に改善し、YARDタグを作成や管理を支援し、RubyMineでYARDの注釈に基づいた優れたコード補完を使えるようにしています。 新バージョンでは@overloadおよび@yieldparamタグに適切な型の注釈とインスペクションを追加しています。
RubyMineの詳細な機能概要とYARDに関する最新の改善点については、RubyMineにおけるYARDのサポートをおよびください。
バージョン2019.2では、ファクトリ、シーケンス、特性の名前を変更(Shift+F6)できます。 このIDEはこれらの定義を検出し、その定義とそのすべての使用箇所で名前を変更するよう提案し、ファイル名がファクトリ名に一致する場合も名前を変更するよう提案します。
また、File Structureビュー(Cmd/Alt+F7)とポップアップ(Cmd/Ctrl + F12)にファクトリ、シーケンス、特性を追加し、それらを安全に削除できる機能を追加しました(Refactor | Safe Delete)。
新しいPropagate to destructuringインテンション(Alt-Enter)を使うと、可能な場合に追加の変数を別のデストラクチャリングに置き換えることができます。 デストラクチャリングを完全に削除するには、Replace destructuring with property or index accessというインテンションアクションを使用してください。
JavaScriptまたはTypeScriptファイル内のシンボル名を変更する際、IDEが動的な使用箇所をまとめて、デフォルトでそれらをリファクタリング対象から除外するようになりました。 これにより、リファクタリングの精度が向上し、Refactoring Previewツールウィンドウで正確に名前を変更すべきものをより細かくコントロールできるようになりました。
Vuetify、BootstrapVue、Quasar、およびその他のVueコンポーネントライブラリのコンポーネントとそのプロパティに対するコード補完がより正確になりました。 これは、当社がIDEでこれらのライブラリを処理するために採用した新しいアプローチにより実現しました。
新しいDuplicate code fragmentインスペクションはその場でコードをチェックし、エディタ内で即座に潜在的な重複箇所をハイライトします。 この機能はJavaScript、TypeScript、CSS、Sass、SCSS、Lessで動作します。
RubyMine 2019.2で使用可能なJavaScriptの改善に関する詳細は、WebStormの新機能をご覧ください。
バージョン2019.2では、複数の.editorconfigファイルを追加することで、複数プロジェクトのさまざまな部分で異なるコードスタイルを維持できます。 長年サポートされてきた標準的なEditorConfigオプションのほか、使用可能なすべてのIDEコードスタイルオプションを網羅したIDE固有のプロパティを使用できるようになりました。
新しいバージョンでは、シェルスクリプトのサポートを追加しています。 この中には、.shおよび.bashファイルに対するコード補完、クイックドキュメント、テキストベースの名前変更、およびシェルスクリプト用の実行構成が含まれています。 このIDEは、リンティング用のShellCheckとコード整形用のshfmtも統合しています。
このIDEは、.gitignoreファイルでファイル名やフォルダ名のコード補完機能を提供できるようになりました。
名前の上でCmd/Ctrl-クリックすると、Projectツールウィンドウ内の対象ファイルやフォルダにジャンプできます。 また、Project表示およびLocal Changesタブから.gitignoreに素早くファイルを追加できます。対象ファイルを右クリックしてAdd to .gitignoreを選択してください。
データの正確な位置が分からなくても、データベース内でデータを検索できるようになりました。 検索対象のデータソースを右クリックし、Full-text Search (Ctrl+Alt+Shift+F / Cmd+Alt+Shift+F)を選択してください。 クエリ結果が絞り込まれ、データが見つかった場所の文字列だけが表示されます。
RubyMine 2019.2で使用可能なデータベースに関するその他の改善については、DataGripの新機能をご覧ください。
docker-compose execの再検討RubyMineはdocker-compose execのサポートを追加いたしました。 簡単にお伝えしますと、このコマンドを有効にすると、アプリケーションの実行やデバッグ、gemのインストール、およびその他の開発タスクを以前よりも速く行えます。
詳細は、RubyMineでのDocker/Docker Composeの使い方をお読みください。
Docker SDKを使って作業する際、実験的機能でruby.docker.internal.via.execを有効にするとRubyMineが高速化します。
Dockerイメージを再構築することなく、gemの追加、rakeタスクの実行、railsコマンド、およびあなたの環境を更新するものを追加できるようになりました。
新しいRecent Locationsポップアップは、コードベース内を移動する方法を一新します。 このポップアップはコードの内容を覚えてはいるものの、それを見た場所がわからない場合に実際のコードを見つけるのに役立ちます。 入力を開始して結果を絞り込み、必要なコードにジャンプできます。
詳細については、RubyMineのナビゲーション:Recent Locationsポップアップをお読みください。
RubyMine 2019.1はrbspyを統合し、ネイティブプロファイラを提供し、アプリケーションやテストを遅延させるコードの部分を発見するのに役に立ちます。
詳細なチュートリアルについては、RubyMineでのrbspyによるRuby&Railsアプリのプロファイリングをご参照ください。
実行中のアプリケーションにプロファイラをアタッチして(Find action / Attach Profiler to Process)、リアルタイムで調査できます!

ファクトリを追加している際に、RubyMineはその属性と、可能であればその値も自動補完します。 例えばRailsモデルファクトリの場合、IDEはそのフィールドをそのコンテンツ、さらには関連付けで自動補完します。 そしてもちろん、それらのオブジェクトの定義と使用箇所間を移動できます。
テストを書く際に、create、build、build_stubbedなどのファクトリ作成メソッドの定義を自動補完し、それらに移動できます。
シーケンス、特性、エイリアスなど、Factory Botのその他の優れた機能も完全にサポートされています。


また、ファクトリをRelated filesポップアップに追加し(Navigate / Related symbol)、部分的なfactory宣言がある場合にそこに移動できるガターも追加しました。
新しいCall Hierarchyアクションは、調査中のメソッドを使用するメソッド(「呼び出し元」)、すなわちこれらの呼び出し元を呼び出すメソッドを掘り下げるのに役立ち、必要に応じてさらに深く掘り下げられます。
詳しくは、こちらのブログ記事をご参照ください。
RubyMine 2019.1ではTruffleRubyのサポートを追加しています! 現在お使いのRuby SDKをTruffleRubyに切り替えるには、当該インタプリタがインストールされていることを確認してから、それをRuby SDKの設定で選択してください。
また、今回のリリースではRubyのバージョンマネージャに関する多くの問題も修正いたしました。
RubyMineは、.vueファイル内のあらゆるTypeScriptコードに対して、TypeScript言語サービスと独自のTypeScriptサポートを併用するようになりました。 これによって、より正確な型チェックと型情報が得られるようになり、このサービスによって提供されるクイックフィックスを使用できるようになり、TypeScriptツールウィンドウの現在のファイルにあるTypeScriptエラーをすべて表示できるようになります。
Jest、Karma、Mocha、またはProtractor を使ってテストを実行した結果、一部のテストが失敗した場合に問題発生箇所をエディタで直接確認できるようになりました。 IDEはスタックトレースの情報を使用して、失敗したコードを強調表示します。 カーソルを合わせると、テストランナーのエラーメッセージが表示され、即座にテストのデバッグを開始できます。
JavaScriptおよびNode.jsのデバッグツールウィンドウで、新たに改善された対話型デバッガコンソールをご覧ください! コンソールはツリービューを使用してオブジェクトを表示するようになりました。また、CSSによるログメッセージのスタイル設定と、console.group()とconsole.groupEnd()を使用したメッセージのグループ化に対応しています。 また、任意の種類のログメッセージを除外することもできます。
package.jsonファイルに新しいスクリプトを追加する際に、当IDEはインストールされたパッケージによって提供される利用可能なコマンドを提案するようになりました。 nodeと入力すると、IDEはフォルダとファイルの名前を提案します。 また、npm runと入力すると、現在のファイルで定義されているタスクのリストが表示されます。
RubyMine 2019.1でご利用可能なJavaScriptの改善の詳細については、WebStormの新機能をご参照ください。
CSSプロパティ、HTMLタグと属性のドキュメント(F1)に、MDNのブラウザ対応状況に関する最新の説明と情報、ならびにMDNの記事全文へのリンクが表示されるようになりました。
当社DataGripチームの同僚たちの尽力により、RubyMineのデータベースツールに対して以下の素晴らしい改善が実施されました:
当IDEはRailsスコープをよりよく理解するようになりました。 例えば、スコープに関連オブジェクトを追加すると、RubyMineは使用可能なファインダーメソッドをご提案いたします。 また、連鎖スコープにも、コード自動補完とナビゲーションが動作いたします。
RubyMineで、構造体がフルサポートされるようになりました。 他のRubyクラスやそのインスタンスで行うのと同様に、構造体クラスのオブジェクトを自動補完、ナビゲート、リファクタリングできるようになりました。
新しいNil参照外しインスペクション は、nilになる可能性のある変数でメソッドを呼び出す場合など、現在のコンテキストで起こり得るnilエラーを検証します。
新しいI18nダイアログでは全ての辞書の翻訳を一度にまとめて作成できます。 以前同様、文字列にキャレットを置きAlt+Enterを押し、i18n化を選択します。 その後キーが作成され次第、Cmd/Ctrlを押しながら作成されたキーをクリックすると、既存の任意の翻訳へナビゲートできます。
新しいバージョンのRubyMineでは、名前空間キーと遅延参照キーをエディタから直接作成できるため、これらの翻訳についても簡単に作成できます。
RubyMineでは、I18nキーの代わりに、実際の翻訳を表示できます。コントローラまたはビューファイルの任意のキー上でCmd./Ctrl.を押すだけです。 翻訳プレビューで、どの辞書を用いるかも選択できます。
v2018.3で行われたその他の国際化の改善については、RubyMineのi18n機能をご参照ください。
新しいパラメータの抽出ダイアログ(リファクタ | これをリファクタ | パラメータの抽出)によって、引数を抽出するだけでなく、それ用にデフォルト値を設定したり、オプション化したり、ブロックとして渡したりするようにできます。
インラインでのリファクタリングを改善し、不要なメソッドや変数をより安全に取り除けるようになりました。 特に、文字列補間がある引数や変数を有するメソッドのインライン化が、より堅牢になりました。
ついに、変数または定数にへの部分文字列の抽出する、とても使いやすい機能を追加いたしました。
リファクタリングオプションの詳細は、RubyMineのリファクタリング:概要&新機能をご覧ください。
新しいインテンションアクションは、コードをさらに読みやすくするのにお役に立ちます。 例えば、ド・モルガンの法則インテンションを使って、入り組んだ否定条件を簡略化し、メソッドへのブロック呼び出しを抽出できるようになりました。 単に、コードの臭いにキャレットを置き、Alt+Enterを押すだけで適切なクイックフィックスを適用できます。
新しいその他インテンションについては、RubyMineのインテンションアクションをお読みください。
RubyMine 2018.3では、テストのメソッドごとに便利なガターも表示されます。 これらのガターは視覚的なアンカーで、ファイル内で実行可能な特定のテストを示します。 また、これらはコンテキストメニューが行うよりも迅速にテストを実行する方法を提供いたします。
RubyMineでのテストの実行を読んで、その他の便利なテスト機能について知ってください。
RubyMine内で、GitHubのプルリクエストを閲覧できるようになりました。 VCS | Git | プルリクエストの表示で、プルリクエストの説明、ラベル、担当者、および実際の変更内容を表示できます。
さらに、プロジェクトの更新や、変更のコミット、差分の表示、競合の解決といった、Git統合で使い慣れた機能がすべて、Gitサブモジュールで動作するようになりました。
新しいDarculaテーマは、派手な色を排除し、目に優しいものになりました。また、JetBrains IDEの他のプログラミング言語用に設計された同様のスキームとの整合性も向上しております。
以前のDarculaもまだご利用いただけます。 このテーマを引き続きお使いになりたい場合は、環境設定/設定 | エディタ | カラースキーム | Rubyに移動し、歯車のアイコンをクリックし、現在のスキームをDarcula 2018.2に変換をご選択ください。
新しいどこでも検索ダイアログ (Shift+Shift)がより便利になりました。 これにより、クラスに移動や、ファイル、シンボル、アクションなど、他のナビゲーションダイアログすべてをより簡単に使用できるようになります。 Tabを押すだけで、検索タイプを変更できます。
更新されたプラグインセクション(環境設定 / 設定 | プラグイン)で、プラグインの管理、インストール、アンインストール、および更新が簡単になりました。 例えば、タグでプラグインを検索したり、ダウンロード数、名前、評価、注目度、アップデートで結果をソートしたりできるようになりました。
Angularで作業する際には、改善されたコードの自動補完、および変数、パイプ、非同期パイプ、テンプレート参照変数のナビゲーションをお楽しみください。
Reactアプリでは、コード補完がすべてのコンポーネントライフサイクルメソッドをサジェストするようになりました。 未解決の変数インスペクションは、未定義の可能性があるコンポーネントについて警告いたします。
JavaScriptファイルで当IDEは、プロジェクト内で定義されたシンボルだけでなく、プロジェクトの依存関係からのシンボルにも自動的にインポートを追加できるようになりました。 これは、ライブラリに、ESモジュールとして記述されたソースか、TypeScriptの型定義ファイルが含まれている場合に機能いたします。
新しいルールセットの抽出アクション(Alt-Enter)は、あるルールセットから、新しい、より特定のものへとCSS宣言を素早く抽出できます。
CSSのコードスタイルとプリプロセッサに、空白行の取り扱いに関する設定が加わりました。 さらに、ブロック内のCSSプロパティを、アルファベット順またはカスタム順にソートできるようになりました。
WebStormの新機能をご覧になり、RubyMine 2018.3でご利用いただけるJavaScriptに関する改善内容の詳細をご確認ください。
新しい参照の導入アクションは、インラインリンクへの参照作成にお役に立ちます。 当IDEは、ファイル内の重複するリンクを全て洗い出し、新しく作成した参照で置き換えるようご提案いたします。
さらに、テキストを打ち消し線で消したり、ヘッダサイズを切り替えたりできるようになりました。 これらの新しいアクションはツールバーにございます。