コードインサイト
Railsスコープ
RubyMineはRailsのスコープをより良く理解するようになりました。例えばスコープに関連付けオブジェクトを追加すると、利用可能なfinderメソッドをサジェストします。またチェーンされたスコープでもコード補完やナビゲーションが効きます。
Struct
Structをフルサポートします。Rubyの通常のクラスやインスタンスと同様に補完、ナビゲート、リファクターがStuctクラスに対して働きます。
RubyのNullabilityアナリシス
Nil dereference インスペクションで現在のコンテクストよりnilエラーとなる可能性のあるコードをチェックします。たとえばnilになる可能性のある変数に対してメソッドコールを行っている箇所などを指摘します。
ローカライゼーション
I18n翻訳の作成
新しいI18nダイアログで辞書を一度にまとめて作成できます。以前と同じく、文字列にカレットを置いて Alt+Enter を押せばローカライズ用のymlを生成出来ます。生成後はCmd/Ctrlとクリックで既存の翻訳へジャンプ出来ます。
スコープとlazy key
名前付きのキーとlazy lookupの翻訳を簡単に作成できます。翻訳のキーをエディタ内で即座に作成できます。
翻訳プレビュー
RubyMineはI18nキーの代わりに実際の翻訳をプレビューできます。コントローラーまたはビューファイルのキーでCmd./Ctrl.を押ししてください。プレビューで何語を表示するか設定することも出来ます。
i18nに関して、他の改善は i18n features in RubyMine でご確認頂けます。
リファクタリング
パラメータの抽出
Refactor | Refactor this | Extract Parameterよりパラメータ抽出リファクタリングが行えます。引数を抽出するだけでなく、デフォルト値を設定したりオプショナルにしたり、ブロックとして渡したり出来ます。
インライン化の改善
インライン化リファクタリングを改善し、不要なメソッドや変数をより安全にインライン化出来るようになりました。特に引数や変数を伴うメソッドのインライン化はより確実になりました。
サブストリングを変数、定数として抽出
文字列の一部分を変数や定数として抽出するリファクタリングも実装しました。
リファクタリングについて詳しくはこちらをご覧ください – RubyMine Refactorings: Overview & Improvements.
インテンションアクション
新しいインテンションアクションでコードの可読性を向上させることが出来ます。例えばドモルガンの法則を適用して見るに堪えない否定式をシンプルにしたりブロックコールをメソッドにしたりできます。怪しい匂いのするコードにカーソルを当ててAlt + Enterを押して適切なクイックフィックスを選んでください。
詳しくはこちらのブログポストをご覧ください: Intention Actions in RubyMine.
テスト
テストガター
テストメソッド脇に便利なガターアイコンが表示されます。ファイル内で実行可能なテストを示すこのアイコンはコンテクストメニューよりも手軽かつ素早くテストを実行することが出来ます。
詳しくはこちらのブログポストをご覧ください: Running tests in RubyMine
Git
GitHubプルリクエスト
IDEから直接GitHubプルリクエストを見られるようになりました。VCS | Git | View Pull Requestsで表示できるプルリクエスト一覧からラベル、担当者、変更内要のdiffをプレビューしたり、コンテクストメニューを使ってローカルブランチを作って通常のブランチと同じくマージしたりできます。
Gitサブモジュールのサポート
ついにGitサブモジュールをサポートします!クローン、アップデート、コミット、diffの確認、コンフリクトの解決まで行えます。
ユーザーインターフェース
Darculaテーマのアップデート
Darculaテーマを調整し、より目に優しく、統一感が向上しました。
以前のDarculaがお好みの場合はPreferences / Settings | Editor | Color Scheme | Ruby より歯車アイコンを押してTransform current scheme to Darcula 2018.2を選択してください。
検索ポップアップ
プロジェクトとIDE内をより効率的にナビゲート出来ます。改善されたSearch Everywhereは他のナビゲーションダイアログであるFind Action、Go to class、Go to file、Go to symbolと統合されま、tabキーで別の検索コンテクストに移動出来ます。もちろん全てのナビゲーションダイアログは依然これまでと同じショートカットでアクセスできます。
プラグイン設定ページ
設定画面のPluginsページを刷新し、より簡単にプラグインを検索、インストール、更新、アンインストール、管理出来るようになりました。プラグインを名前だけでなくタグでも検索出来るようになりました。また検索結果をダウンロード数、名前、レート、featured、更新日でソートすることが出来ます。
JavaScript
Angularサポートの改善
Angularテンプレートにおけるコード補完と変数、pipe、async pipe、テンプレートリファレンス変数のの定義箇所へのジャンプがより正確になりました。AngularとAngularJSサポート回りで50を超える既知の問題を修正しました。
JavaScriptで自動インポート
プロジェクトの依存からJavaScriptで必要なインポートを追加します。これはパッケージ内にTypeScript定義がある場合、またはパッケージがESモジュールとして書かれたソースを含む場合に働きます。
HTMLとスタイルシート
Extract ruleset アクションでCSS宣言から新しいルールセットを抽出できます。
CSS、SCSS、Sass、Less、Stylusのスタイル設定にuse of blank linesが加わりました。さらにブロック内のCSSプロパティをアルファベット順またはカスタム順にソート出来ます。
WebStorm 2018.3の新機能でWebStrom由来の新機能をご確認ください。
Markdown
参照リンクの抽出
Introduce reference アクションにより、インラインリンクへの参照を作成出来ます。ファイル内の重複するリンクを洗い出し、新しく作成した参照で置き換えるようサジェストします。
さらにテキストを打ち消したり、ヘッダサイズを切り替えたり出来ます。ツールバーでこれらの操作は行えます。
その他の改善:
- 条件式のキーワードハイライトの改善
- YAMLの値をflattened nested key(”my.nested.property”など)で検索
- YAML値へのパスをパンくずよりコピー
- attr_accessorsサポートの改善
- JavaScriptファイルのパラメータヒント
- ハイコントラストテーマ
- i18nで安全な削除
- アクティビティモニタ