RubyMine の新機能

RubyMine 2020.2の新機能

コードの問題を確認するための新しい方法、27の新しいインテンションアクション、Liquidのサポート、GitHubプルリクエストの完全サポート、およびRuby、Rails、JS、データベースツールの多くの新機能。

コード・インサイト

A new way to review and fix problems in code

コードの問題を確認して修正する新しい方法

現在のファイルの課題の数を表示する新しいウィジェットを追加しました。それをクリックすると、それらの課題のリストを含むツールウィンドウが開きます。そこから、課題を含むコードにジャンプしたり、ツールウィンドウから直接課題を修正したりできます。

さらに学習したい方に(英語)

Liquidテンプレート言語

Basic support for Liquid template language

Liquidテンプレート言語の基本サポート

RubyMine 2020.2には、Liquidテンプレート言語の基本的なサポートが含まれています。IDEは、構文に課題があるかどうかを示し、頻繁に使用される構文を挿入するライブテンプレートを提供し、コード・スタイル設定で指定した要件に従ってコードを再フォーマットします。

Liquidサポートの詳細

新しいスマートインテンションアクション

コーディングの時間を節約しましょう!

RubyMine 2020.2には、コードをすばやく最適化するために使用できる新しいインテンションアクション(Alt+Enter)が多数付属しています。

Flip ternary and if-else operators

3項演算子とif-else演算子の反転

「if-else」を反転アクションを使用すると、if-else演算子を反転して、条件を否定し、ブランチを切り替えることができます。三項演算子の場合、同じように機能する「?:」を反転 インテンションアクションがあります。

Switch between nested ‘if’ statements and boolean expressions

ネストされた「if」ステートメントとブール式を切り替える

ネストされた「if」をマージアクションを使用して、ネストされたステートメントをブール式にマージします。このアクションを呼び出すには、式の外側の if にキャレットを置きます。

複数の「if」に分割は逆のアクションを実行し、ブール演算子のキャレットで使用できます。

さらに学習したい方に(英語)

Switch between ‘else/if’ and ‘elsif’ statements

「else / if」ステートメントと「elsif」ステートメントを切り替える

「else if」をマージおよび「elsif」を分割する インテンションアクションを使用すると、elsif ステートメントをネストされた else/if ブランチに、またはその逆に分割できます。

Merge/split sequential ‘if’s

順次「if」のマージ/分割

順次「if」のマージ/分割アクションは、elsif または if キーワードで使用できます。これらのブランチ内のコードがまったく同じ場合、2つのブランチをマージすることをお勧めします。RubyMineは、|| 演算子を使用して2つの条件を組み合わせ、必要に応じて括弧を追加します。複数の「if」に分割アクションはその逆です。

Expand or flatten namespace

名前空間を展開またはフラット化する

これらのインテンションアクションは、:: スコープ解決演算子を含む行をネストされたモジュールに拡張し、その逆も同様です。名前空間を平坦化アクションは、その上のモジュールをフラット化することに注意してください。

Sort hashes by their keys

ハッシュをキーでソートする

このインテンションアクションを使用して、ハッシュをキーのアルファベット順にソートします。また、さまざまなキータイプのハッシュにも使用できます。この場合、キーはタイプごとにグループ化され、ソートされます。

さらに学習したい方に(英語)

Add/remove clarifying parentheses

明確な括弧を追加/削除

カッコを明瞭にする インテンションアクションは、2進および3進式に対して機能します。式の評価方法を明確にするために、演算子の優先順位に依存する複雑な式に括弧を追加します。不要なカッコを除去するを呼び出すこともできます。

さらに学習したい方に(英語)

Add/remove underscores in numbers

アンダースコアを数字で追加/削除する

アンダースコアーを追加するアクションは、読みやすいように大きな数字に下線を追加します。サポートされているタイプは、integer/float/octal (3桁ごとにアンダースコアを追加)および hexadecimal/binary (4文字/桁ごとにアンダースコアを出力)です。

アンダースコア付きの番号に対してアンダースコアーを除去するアクションを呼び出すことができます。

Introduce a new local variable

新しいローカル変数を導入する

このインテンションアクションを使用して、キャレットが式に置かれたときに新しいローカル変数を導入します。

Inline local variable

ローカル変数のインライン化

このインテンションアクションは、リファクタリング中に、一度しか使用されない変数が残っている場合に役立ちます。

Switch between block and line comments

ブロックコメントと行コメントを切り替える

ブロックコメントを行コメントに、またはその逆に変換できるようになりました。ブロックコメントには必要なので、これらのアクションは行の先頭から始まるコメントに対してのみ使用できることに注意してください。

コードエディター

Improved readability of folded if/while/for statements

折りたたまれたif / while / forステートメントの読みやすさの向上

if , whileforなどの折りたたみ構造の場合、RubyMineは最初の行で使用されている条件または変数を表示するようになりました。このアプローチにより、構成を展開して調べる必要があるかどうかを簡単に確認できます。

エディター内のRDoc / YARDドキュメントコメントレンダリング

エディターでRDocまたはYARDドキュメントを読むと、特に参照リンクやイメージを操作する必要があるときに、すべてのタグをたどる必要があるため、煩わしい場合があります。これが、ドキュメントをエディターで直接レンダリングする方法を追加する理由です。

環境設定/設定 | エディター | 一般 | 外観 | ドキュメントコメントのレンダリングを通じてこの機能を有効にします。

Heredoc injections

ヘレドックインジェクション

RubyMineは、元のフォーマットとインデントを維持しながら複数行の文字列を定義できるヒアドキュメントインジェクションをサポートするようになりました。HTMLやSQLなどのコードスニペットを埋め込むために使用します。

さらに学習したい方に(英語)

Improved navigation between methods

メソッド間のナビゲーションの改善

これで、インテンションアクションを呼び出すか、ガターのアイコンをクリックして、スーパーメソッドとオーバーライドメソッド間を移動できます。

Ruby

Support for beginless ranges

無限の範囲のサポート

通常どおり、RubyMineはRubyの最新バージョンをサポートしています。例:RubyMine v2020.2は、Ruby 2.7で導入された無限の範囲をサポートします。

Improved completion for standard library methods

標準ライブラリメソッドの補完の改善

RubyMineは、Array#sort_by , Hash#eachなどのさまざまな標準ライブラリメソッドのはるかに正確な補完を提案するようになりました。

Convert named parameters to numbered and vice versa

名前付きパラメータを番号付きに、またはその逆に変換する

名前付きパラメーターをRuby 2.7で導入された番号付きパラメーターに簡単に変換できるようになりました。名前付きパラメーターの上にキャレットを置き、Alt+Enterを押して、名前付きパラメーターを番号付きに変換する インテンションアクションを選択します。番号付きパラメータを名前付きに変換するアクションはその逆です。

さらに学習したい方に(英語)

Add an attr_accessor/reader/writer to an instance variable

attr_accessor / reader / writerをインスタンス変数に追加する

新しいインテンションアクションを使用すると、属性アクセサー、リーダー、またはライターをインスタンス変数に簡単に追加できます。これを行うには、キャレットを変数に置き、Alt+Enterを押します。

Rails

Expand lazy keys

遅延キーを展開する

レイジーキー( レイジールックアップ(英語))を使用するRailsアプリケーションでは、このインテンションアクションはキーを完全な形式に自動的に拡張します。コントローラーにレイジーキーがある場合、インテンションはそれを展開するレイジーキーを確認する場合があります(複数のオプションがある場合があるため)。

Git

GitHubプルリクエストの完全サポート

ブラウザとIDEを切り替える必要はありません。プルリクエストワークフロー全体をRubyMine内から完了できるようになりました。

v2020.2を使用すると、プルリクエストの参照、割り当て、管理、さらにはマージ、タイムラインとイン行コメントの表示、コメントとレビューの送信、変更の承認を行うことができます。

GitHubプルリクエストサポートの詳細(英語)

改善されたGitアクションダイアログ

マージ、プル、リベースのGitダイアログの視覚的な一貫性が向上し、乱雑さが少なくなりました。新しいデザインでは、どのGitコマンドが実行されるかをすばやく確認できます。

また、プルダイアログに –rebase オプションを追加し、マージダイアログに –no-verify オプションを追加しました。

JavaScriptとTypeScript

New smart intentions for JavaScript

JavaScript用の新しいスマートインテンション

新しいスマートインテンション(Alt+Enter)は、いくつかのアクションをより高速に実行できます。例:数値インデックスを持つ for ループを forEach 配列メソッドにすばやく変換できるようになりました。JavaScriptおよびTypeScriptファイルでドキュメントのコメントを確認するのも簡単になりました。エディターで直接レンダリングできるため、すべての注意散漫を最小限に抑えることができます。

Make Prettier the default formatter in your JavaScript projects

PrettierをJavaScriptプロジェクトのデフォルトのフォーマッターにする

組み込みのフォーマッターの代わりにPrettierを使用してコードを整理したいですか?今回の更新により、以前よりもさらに簡単になりました。新しいコードの再フォーマットについてチェックボックスをオンにすると、IDEは .js , .ts , .jsxおよび .tsx ファイルを再フォーマットするたびにPrettierを使用します。他のファイルタイプも簡単に追加できます。

さらに学習したい方に(英語)

Enjoy the best-in-class support for Vue

Vueのクラス最高のサポートを楽しみましょう

昨年、Nuxt.jsのサポート、Vue固有のコードスタイル設定、TypeScriptプロジェクトでのVueの改善、その他多くの機能を追加しました。RubyMineでのVueのサポートはこれまでにないほど進んでいます!

さらに学習したい方に(英語)

データベース・ツール

Separate editor for cell values

セル値の個別のエディター

セルに大きな値がある場合は、別のパネルで表示または編集できます。右側のツールバーを使用してソフトラップモードを切り替えることもできます。

A new UI for boolean values

ブール値の新しいUI

ブール値を表示および編集するためのよりユーザーフレンドリーな方法があります。True値は、他のすべての値と区別するために、箇条書きでマークされています。

編集:

  • スペースキーは、以前と同じように値を切り替えます。
  • f , t , d , n , gまたは c と入力すると、対応する値 false , true , default , null , generatedおよび computedが入力されます。
  • 他に何かを入力すると、すべての可能な値を含むドロップダウンリストが開きます。

その他の変更点

  • v2020.1に導入されたML支援の補完(英語)は、コード補完提案の関連性を改善するのに効果的であることが証明されています。v2020.2ではデフォルトで有効にすることにしました。
  • どこでも検索の検索結果の新しいプレゼンテーション(英語)、アイテムは検索クエリとの関連性で並べ替えられています。
  • LinuxまたはWindowsファイルシステムにあるプロジェクトを操作するためのRubyMine 2020.2 WSL2にインストールされたGitをサポート(英語)
  • 複数のスイートのコードカバレッジレポートを生成し、HTMLにエクスポートできるようになりました。
  • SQLダイアレクトであるGoogle BigQueryの基本的なサポート。RubyMineは、Google BigQueryを使用している場合、クエリを正しく強調表示し、クエリのコーディング支援を提供できます。
  • コード補完は、親クラスまたはモジュールからの他のメソッドをオーバーライドするメソッドの完全な型名を表示するようになりました。これにより、提案されたメソッドがどこから来ているのかを理解しやすくなります。
  • Ruby 2.7でなんでも実行からIRBコンソールを起動できるようになりました。
  • Gemfileでの補完には、gemsの最新のローカルバージョンのみが表示されます。
  • RubyMineは、Array.to_h() , Dir.each()などを含む誤った数のパラメーターをスタブメソッドに渡そうとすると警告を表示するようになりました。
  • 番号付きパラメーターのすべてのラムダケースに「通常のパラメーターが定義されています」という警告を追加しました。
  • アクティブレコードリレーションチェーンの not 呼び出しのタイプサポートを追加しました。 where メソッドに引数が指定されていない場合、RubyMineは not を補完として提供します。
  • ユーザー補助機能を改善しました。ユーザーがスクリーンリーダーを有効にしている場合、RubyMineはユーザー補助機能を自動的に有効にします。