RubyMine 2021.2 の新機能

Ruby および RBS での作業に便利な新しい機能や改善されたコード補完、検索機能およびリファクタリング、エディターの改善、VCS のサポート、Space、Code With Me などを提供。

Ruby と RBS

よりスマートな検索とリファクタリング

よりスマートな検索とリファクタリング

Go to declarationFind usagesRename リファクタリングのすべてが RBS を使用するプロジェクトでより正確に機能するようになりました。 RubyMine は、すべての潜在的な使用を表示する代わりに、.rbs の宣言を使ってプロジェクトエンティティ間の関連性を定義します。

Ruby と RBS 間の移動

Ruby と RBS 間の移動

新しいナビゲーションアクションを使用すれば、.rb ファイルと .rbs ファイルの間を移動できるようになりました。 クラスやメソッドなど、プロジェクトのエンティティを右クリックし、Go to / Type Signature | Associated Declaration を選択します。 ショートカット Ctrl+Alt+Home も使用できます。

Ruby の改善されたコーディング支援

Ruby の改善されたコーディング支援

RubyMine は RBS シグネチャーを使って Ruby 要素の型を判断し、より関連性の高いコード補完を提供します。 RubyMine は、型変数やブロックパラメーター、タプル型、プロシージャ型など、RBS の既存のエンティティの多くをサポートするようになりました。

コードの中に RBS の関連する型シグネチャが無い箇所がある場合、RubyMine は引き続き独自の型推論を使用します。

新しいインスペクション

新しいインスペクション

RubyMine は .rbs ファイルに保存されている情報にアクセスできるため、Ruby コードの潜在的なエラーの有無をより深く確認できます。 RBS コードと Ruby コードの間にミスマッチがある場合は、RubyMine に型エラーが表示されます。 本バージョンには .rbs ファイル自体のインスペクションに加え、不正なコードや未解決参照などを対象としたインスペクションも新たに追加されました。 RubyMine は、Run anything を用いた Steep コマンドの実行にも対応しています。

RBS の改善された編集機能

改善された RBS 編集機能

本バージョンには、シンタックスハイライトやフォーマット、自動インデント、コードの折りたたみ、構造ビュー、Ctrl+/ ショートカットを使ったコメントなど、RBS コードを読みやすくするのに欠かせない機能がすべて搭載されています。

RBS ファイルのコーディング支援

RBS ファイルのコーディング支援

RubyMine は、コード補完や使用箇所の検索、コードナビゲーション、Rename リファクタリングなど、RBS ファイルを操作する際に便利なコーディング支援を提供するようになりました。 また、.rbs プロトタイプや RBS 用の独自のライブテンプレートも作成できます。

エディター

インスペクションとクイックフィックスの説明を更新

インスペクションとクイックフィックスの説明を更新

RubyMine で実行可能なすべてのインスペクションとクイックフィックスの説明を更新しました。 新しくなった説明では、インスペクションが提案する変更内容とその理由が共に記載されています。 一部には使用例を表示するものもあります。

保存時のアクション実行

アクションを保存時に実行

RubyMine は、変更内容が保存されるときに特定のアクション (コードの再フォーマットなど) を実行する機能をサポートするようになりました。 保存時にトリガーされるすべてのアクションは、Preferences / Settings | Tools | Actions on Save から確認できます。

詳細

スクラッチファイルをスピーディに作成

スクラッチファイルをスピーディに作成

スクラッチファイルには、メモを記述したり、プロジェクトのコンテキスト外のコードをドラフトしたりできます。 今回のリリースより、任意のコードを選択し、Alt+Enter をクリックしてから Create new scratch file from the selection を選択すると、同コードが含まれた新しいスクラッチファイルをすばやく作成できるようになりました。

ユーザーエクスペリエンス

Local History リビジョンのテキスト検索

Local History リビジョンのテキスト検索

Local History(ローカル履歴)では、バージョン管理の内容に関係なく、プロジェクトに加えられたすべての変更内容を常時追跡できます。 本リリースには、ローカル履歴に検索機能を追加しました。 探している変更内容のキーワードをいくつか覚えていれば、それを使って簡単に検索を実行できます。

複数のコピーライト年度

複数のコピーライト年度

プロジェクトのコピーライト表記にプロジェクトの作成年度と最新バージョンの年度を併記できるようになりました。 両方の日付が記載された最新のテンプレートは、Preferences/Settings | Editor | Copyright | Copyright profile で確認できます。

高度な設定

高度な設定

Preferences | Settings – Advanced Settings に新しいノードを追加しました。 IDE ツールによって便利にグループ化された特定のユースケースに使用できるオプションが用意されています。 プロジェクトビュー、起動、ターミナルなどに関連する設定が含まれます。

ブラウザーページのリロードを保存時に実行

ブラウザーページのリロードを保存時に実行

HTML、CSS、および JavaScript のファイルに加えた変更内容を保存すると、そのタイミングで対応するページがブラウザーによって自動的にリロードされるようになりました。

ドラッグアンドドロップでツールウィンドウを整理

ドラッグアンドドロップでツールウィンドウを整理

IDE のメインウィンドウや別のウィンドウ内で、ツールウィンドウを任意の場所にドラッグアンドドロップできるようになりました。

Preferences/Settings の新しい遷移オプション

Preferences/Settings の新しいナビゲーションオプション

Preferences/Settings で開いているセクションの間を往復できるようになりました。 ウィンドウの右上隅にある矢印を使って移動します。

デバッガー

デバッガーのプレビュータブ

デバッガーのプレビュータブ

プレビュータブは、デバッグ中に開かれるファイルにも使用できるようになりました。該当するファイルは、1 つのプレビュータブの中に 1 つずつ表示されます。 この機能を有効化するには、Preferences/Settings | Editor | General | Editor Tabs | Opening Policy にある Enable preview tab のチェックボックスにチェックを入れます。

ターミナル

ターミナルの新しいオプション

ターミナルの新しいオプション

ビルトインターミナルに 2 つの新しいオプション (カーソルの形状を選択する機能および Use Option as Meta key のサポート) を追加しました。 これらは、Preferences/ Settings | Tools | Terminal からアクセスできます。

バージョン管理

コミット前チェックの変更

プリコミットチェックの変更

コミットする前に実行できるアクションを新たに 3 つ追加しました (Run TestsAnalyze codeCleanup)。 すべてのプリコミットチェックの進捗と結果は、Commit エリアに表示されます。作業の邪魔となるようなモーダルウィンドウが別に表示されることはありません。

詳細

GPG 署名

GPG 署名

コミットは、GPG キーを使って署名することによりセキュリティ保護できるようになりました。 この機能は、Preferences / Settings | Version Control | Git から有効化できます。 GPG キーを初めて使用する場合は、 設定する必要があります。 既存の設定済みの GPG キーを使用する場合は、ドロップダウンリストから選択できます。

差分を表示アクションの動作を一元化

Show Diff アクションの動作を一元化

RubyMine では、初期ファイルと変更後のファイルの違いがエディターに表示されるようになりました。 Show Diff(差分を表示)アクションをどのように呼び出しても、IDE のデフォルト機能として、差分がエディターに開かれます。 別のウィンドウで変更内容を追跡したい場合は、任意のファイルをエディターからドラッグできます。 そうした場合は、その操作が IDE に記録されるため、それ以降の diff は別のウィンドウに開かれるようになります。

Space

Git ログの Space ジョブステータス

Git ログでの Space ジョブステータス

コミットの一覧を見るだけでジョブの進捗をすばやく追跡できるよう、Git ツールウィンドウの Log タブに Space ジョブステータスのアイコンを追加しました。 アイコンをクリックすると、ポップアップがそのジョブのオートメーションに関する情報と一緒に表示されます。

このステータス情報をオン・オフするには、Log にある目のアイコンをクリックし、Show Columns | Space Automation を選択します。

レビューでチームメイトをメンションする

レビューでチームメイトをメンション

RubyMine から直接 Space レビューの中でチームメイトをメンションすることにより、すばやく最新情報を知らせることができるようになりました。 タイムラインやコードのコメントに「@」とチームメイトの名前を入力し、表示される一覧から名前を選択します。

コードレビューに関連するブランチの表示

コードレビューに関連するブランチの表示

選択したコードレビューに関連するブランチを表示できるようになりました。 現在の課題に取り組んでいる間に実行されたコミットを含むブランチの一覧が Details タブに表示されるようになりました。

Code With Me

コード補完の同期

コード補完の同期

Code With Me を使用する際には、ある問題について説明したり、プロジェクトの異なる部分をチームメイトに見せたりする必要があるかもしれません。 それをできるようにするのが Force Others to Follow You モードです。 このモードで作業を行うユーザーをフォローする他のユーザーは、作業を行っているユーザーが使用しているコード補完候補を見ることができます。

Web とフレームワーク

require() の自動インポート

require() の自動インポート

ES6 シンボルを補完する際に、インポートステートメントが欠落していれば、IDE が追加してくれることはご存じですか? 同じ機能を CommonJS モジュールでも使用できるようになりました。require インポートがコード補完時に挿入されます。

React useState hooks に対応した Rename リファクタリング

React useState hook に対応した Rename リファクタリング

useState の名前と関数は、RubyMine が名前を変更できるようになり、わざわざ React hook で 1 つずつリファクタリングする必要がなくなりました。 これを試すには、ステートの値にキャレットを配置し、Shift+F6Rename リファクタリングを呼び出すか、右クリックで表示されるコンテキストメニューから Refactor | Rename へと移動します。

その他の改善

  • macOS のスクリーンリーダーを有効するとコーディング作業がはかどります。 コード補完に使用できる提案の一覧が読み上げられるようになりました。 選択したコンボボックスとコンボボックスリストの内容の読み上げにも対応しました。 Search Everywhere(どこでも検索)アクションの結果が正確に発音されるようになりました。
  • コード解析が正しく行われるようになり、ファイルシステムの更新中にハイライトが一時停止することがなくなりました。
  • RubyMine が Ruby のローカルインタープリターに加え、SSH と Vagrant も使用されるプロジェクトで、カバレッジ付きのテストを実行できるようになりました
  • RubyMine で 180 日以上更新されていないキャッシュとログのディレクトリが自動的にクリーンアップされるようになりました。 このプロセスは、システム設定とプラグインのディレクトリに影響しません。 このプロセスは、Help | Delete Leftover IDE Directories から手動で開始できます。
  • JetBrains Toolbox App からの重大な製品アップデートを逃す心配がなくなりました。 RubyMine は、ダウンロードできる新バージョンがあることを知らせてくれるだけでなく、それにアップグレードする提案までしてくれます。 JetBrains Toolbox App のバージョン 1.20.8804 以降が必要です。
  • 当社は、引き続き UI の応答性と予期しないフリーズの改善に取り組んでいます。 たとえば、他の状況でフリーズの解消に役立ったこともあり、UI スレッドのインデックスを必要とするオペレーションを移動するなどしています。
  • プロジェクトのアイコンを変更するためのダイアログをシンプルな内容にしました。
  • 本バージョンより、RubyMine の UI が日本語中国語、および韓国語に完全にローカライズされています。 ローカライゼーションはバンドル対象外の言語パックプラグインとして提供されており、IDE へ簡単にインストールできます。
  • すべてのコミットされていない変更が格納されていたノードは、Default Changelists という名前で呼ばれていました。 v2021.2 では、より適切で読みやすい Changes という名前に変更しています。 この更新は、すべての新プロジェクトに適用されます。
  • RubyMine では、Git 操作の変更リストが自動的に追加されなくなりました。 たとえば、cherry-pick を実行しても changelist の作成はトリガーされなくなりました。
  • IDE がサポートする Git の一番古いバージョンは v2.17 になりました。 現時点でもセキュリティアップデートを受信している一番古いバージョンが 2.17 であるため、サポートする最小のバージョンを上げています。
  • 最近、Code With Me によって新しいリレーサーバーが 2 台立ち上げられました (米国の西海岸と南アフリカに 1 台ずつ)。 この結果、ping が 3 倍近く速くなり、これら 2 つの場所にいるチームは JetBrains IDE でとてもスピーディにコラボレーションができるようになりました。
  • Power Save Mode をすばやく ON にしてノートパソコンのバッテリー消費を抑えることができるようになりました。 ステータスバーを右クリックして、表示されるコンテキストメニューから Power Save Mode を選択します。
  • コード補完は private の npm パッケージでも機能するようになりました。
  • RubyMine は .js の JSDoc コメント内で使用される TypeScript の構文を適切にサポートするようになりました。
  • RubyMine は、人気の classnames ライブラリと clsx ライブラリをサポートするようになったため、CSS のクラス名を効率よく取り扱えるようになりました。
  • RubyMine では、Tailwind CSS コンポーネントのクラス名と動的に評価される className 属性の値が自動補完されるようになります。