新しいコード上の問題の確認方法、27 種類の新しいインテンションアクション、Liquid のサポート、GitHub プルリクエストの完全サポート、その他多くの Ruby / Rails / JS 向け新機能とデータベースツールを提供します。
現在ファイルの問題箇所の数を伝える新しいウィジェットを追加しました。 それをクリックすると、問題箇所のリストを含むツールウィンドウが表示されます。 そこから問題箇所を含むコードにジャンプしたり、ツールウィンドウから問題を直接修正したりできます。
RubyMine 2020.2 では、Liquid テンプレート言語の基本的なサポートを提供しています。 IDE は構文エラーの有無を表示し、よく使用する構文を挿入するライブテンプレートを提供し、Code Style 設定で指定した要件に従ってコードを整形します。
コーディングにかかる時間を節約しましょう!
RubyMine 2020.2 では、Alt+Enter で呼び出してコードをすばやく最適化できる多数の新しいインテンションアクションを提供しています。
Invert ‘if-else’ アクションを使用すると、if-else 演算子を反転して条件を否定し、分岐を切り替えることができます。 三項演算子についても、同様の動作を行う Flip ‘?:’ インテンションアクションがあります。
Merge nested ‘if’ アクションを使用すると、ネストしたステートメントをブール式にマージできます。 このアクションを呼び出すには、キャレットを式を囲む if
にキャレットを置いてください。
Split into multiple ‘ifs’ はこれと反対の動作を行い、ブール演算子にキャレットを置くと使用できます。
Merge ‘else if’ および Split ‘elsif’ インテンションアクションを使用すると、elsif
ステートメントをネストした else/if
分岐に分割できます(逆も同様)。
Merge/split sequential ‘if’s アクションは elsif
または if
キーワードで使用できるものです。 このアクションは、全く同じコードを持つ 2 つの分岐をマージすることを提案します。 その後、RubyMine は ||
演算子で 2 つの条件を結合し、必要に応じて丸括弧を追加します。 Split into multiple ‘if’s アクションは逆の動作を実行します。
Expand namespace および Flatten namespace アクションは、::
スコープ解決演算子を含む行をネストしたモジュールに展開したり、その逆の動作を行ったりします。 Flatten namespace アクションはその上にあるモジュールをフラット化することに注意してください。
このインテンションアクションを使用すると、ハッシュをキーのアルファベット順に並べ替えることができます。 また、型の異なる複数のキーを持つハッシュにも機能します。 この場合、キーは型でグループ化されて並べ替えられます。
Add clarifying parentheses(明確化する丸括弧の追加)インテンションアクションは二項式と三項式に機能します。 このアクションは式の評価方法を明確化するため、演算子の優先順位に依存する複雑な式に丸括弧を追加します。 Remove unnecessary parentheses(不要な丸括弧の除去)も呼び出すことができます。
Add underscores(アンダースコアの追加)アクションは大きな数字にアンダースコアを追加し、可読性を向上させます。 サポート対象の型は 整数/浮動小数/8 進数
(3 桁ごとにアンダースコアを追加)と 16 進数/2 進数
(4 文字/4 桁ごとにアンダースコアを追加)です。
Remove underscores(アンダースコアの除去)アクションは、アンダースコアを含む数字に対して呼び出すことができます。
このインテンションアクションを使用すると、キャレットが式の上にあるときに新しいローカル変数を導入できます。
このインテンションアクションは、リファクタリング中に 1 回しか使用されていない変数がある場合に役に立ちます。
ブロックコメントを行コメントに変換できるようになりました(逆変換にも対応)。 これらのアクションはブロックコメントの要件に従い、行頭から始まるコメントに対してのみ使用できます。
折りたたまれた if
/ while
/ for
のような構文に対し、RubyMine が先頭行で使用されている条件または変数を表示するようになりました。 これにより、構文を展開して中身を調査する必要があるかどうかを判断しやすくなりました。
エディター内で RDoc や YARD のドキュメントを読む場合、特に参照リンクや画像が含まれている場合はタグの山をかき分けて目を通さなければならないので非常に面倒です。 このため、ドキュメントをエディター内に直接表示する手段を追加しました。
この機能は、Preferences/Settings | Editor | General | Appearance | Render documentation comments で有効にできます。
RubyMine がヒアドキュメントのインジェクションに対応し、元の書式とインデントを維持しながら複数行の文字列を定義できるようになりました。 HTML や SQL などのコードスニペットの埋め込みに活用してください。
インテンションアクションを呼び出す、あるいはガター内のアイコンをクリックすることで、スーパーメソッドとオーバーライドメソッドの間を移動できるようになりました。
これまでと同様、RubyMine は最新バージョンの Ruby をサポートしています。 例えば、RubyMine バージョン 2020.2 は Ruby 2.7 で導入された開始値省略範囲式をサポートしています。
RubyMine が Array#sort_by
、Hash#each
その他多くの標準ライブラリのさまざまなメソッドに対し、より正確な補完候補を表示するようになりました。
名前付きパラメーターを Ruby 2.7 で導入された番号指定パラメーターに簡単に変換できるようになりました。 キャレットをいずれかの名前付きパラメーターの上に置き、Alt+Enter を押して Convert named parameters to numbered インテンションアクションを実行するだけです。 Convert numbered parameters to named アクションは逆の動作を実行します。
この新しいインテンションアクションを使用すると、属性の accessor / reader / writer をインスタンス変数に簡単に追加できます。 このアクションを実行するには、変数にキャレットを置き、Alt+Enter を押してください。
lazy キー(lazy lookups)を使用する Rails アプリケーションでは、このインテンションアクションが自動的にキーを完全な形式に展開します。 コントローラーに lazy キーがある場合、このインテンションはどの lazy キーに展開するかを確認する場合があります(複数の選択肢がある場合があるため)。
もうブラウザーと IDE を切り替える必要はありません。 プルリクエストのワークフロー全体を RubyMine 内部で完結できるようになりました!
バージョン 2020.2 は、プルリクエストの閲覧 / 割り当て / 管理 / マージ、タイムラインとインラインコメントの表示、コメントとレビューの送信、変更の承認に対応しています。
Merge / Pull / Rebase の Git ダイアログの外観が統一され、視認性が向上しました。 新しいデザインでは、実行予定の Git コマンドをすばやく確認できます。
また、Pull ダイアログに –rebase
オプションを、Merge ダイアログに –no-verify
オプションを追加しています。
新しいスマートなインテンション(Alt+Enter)は、一部のアクションをより高速に実行するのに役立ちます。 例えば、数字インデックスを使った for
ループを forEach
配列メソッドにすばやく変換できます。 また、エディター内に JavaScript および TypeScript ファイル内のドキュメントコメントが直接表示されるようになったため、これらのコメントを参照するのが楽になり、集中力の低下を最小限に抑えられるようになりました。
組み込みのフォーマッターの代わりに Prettier を使用してコードを整形したいですか? このアップデートでは、以前よりもはるかに簡単にそれを実現できるようになりました。 新しい On code reformat チェックボックスをオンにするだけで、IDE が .js
/ .ts
/ .jsx
/ .tsx
ファイルの整形に Prettier を使用するようになります。 その他のファイルタイプも簡単に追加できます。
私たちは過去 1 年間で Nuxt.js のサポートと Vue 固有のコードスタイル設定を追加し、TypeScript プロジェクトでの Vue 関連の改善やその他多数の機能改善を行いました。 RubyMine の Vue サポートがかつてないほど高度になりました!
セル内に巨大な値がある場合に、それを独立したパネルで表示または編集できるようになりました。 また、右側のツールバーを使用してソフトラップモードを切り替えられるようになりました。
ブール値をより便利に表示および編集できる手段が追加されました。 true 値が箇条書きでマークされ、他のすべての値と区別できるようになりました。
編集:
f
、t
、d
、n
、g
、c
のいずれかを入力すると、対応する値(false
、true
、default
、null
、generated
、computed
)が入力されます。 Array.to_h()
、Dir.each()
およびその他のスタブメソッドに不正な数のパラメーターを渡そうとしたときに RubyMine が警告を表示するようになりました。 not
呼び出しに対する型のサポートを追加しました。 where
メソッドに引数が指定されていない場合、RubyMine は not
を補完候補として提供します。