Rider 2022.1 は、使用するゲームエンジンに関係なく、Rider をフル機能のゲーム開発用 IDE に変換する Unreal Engine をフルサポートしています。
バージョン 2022.1 では待ち望まれていたベータ版のリモート開発ワークフローもサポートされているため、 Rider のバックエンドを実行中のリモートマシンに世界中どこからでも接続できます。
これらの新機能に加えて、このリリースでは Docker Fast モードの導入とメインツールバーの更新が行われており、Search Everywhere(どこでも検索)ポップアップから直接ソリューション全体に対して全文検索を実行できるようになりました。
Rider はすでに Unity 開発の分野で広く使用されていますが、今回のリリースからは Unreal Engine を組み込みでサポートするようになりました。 これにより、Rider はあらゆる種類のゲーム開発における主要 IDE となります。
Rider は、Windows、Linux、macOS の主要 3 プラットフォームでの Unreal Engine 開発に対応しています。 .uproject
モデルとネイティブに連携するため、中間プロジェクトモデルの生成に掛かる時間を節約できます。
UnrealLink プラグインを使用すると、Rider と Epic Games の Unreal Editor を高度に統合できます。 このプラグインでは、以下が可能です。
Rider は ReSharper C++ の機能をベースにしているため、最新の C++ を高度かつネイティブにサポートしています。 1300 以上のコードインスペクション、290 以上のクイックフィックス、ソリューション全体のリファクタリング、コード生成機能の利用が可能です。 ゲームで使用されている C++ コード、Unreal Engine コード、シェーダーのどれを扱う場合でも、Rider ではコード内を即座に移動し、インレイヒントによる説明を表示することができます。
Ride では、Unreal Engine のリフレクションマクロとリフレクション指定子は単にプレーンテキストを置き換えたものではありません。 これらのエンティティは自動補完とクイックドキュメントによって認識されるため、効率よくコーディングを行うことができます。 同様に、Unreal Engine のリモートプロシージャコールも単なる通常の関数ではなく、Rider はコード内の移動とコード生成に際してリモートプロシージャコールを照合します。
Rider は UnrealHeaderTool を統合しているため、通常はコンパイル時に表示されるエラーと警告をコード編集中にエディターで直接確認することができます。 このプロセスは、全体的なパフォーマンスへの影響を最小化するように最適化されています。
Rider は Unreal Engine プロジェクトを検出すると、そのプロジェクトでコードの生成と解析を行う際に Unreal Engine の命名規則を自動的に使用します。
LLDB ベースのデバッガーは Unreal Engine Natvis をサポートしているため、ゲームのコードやエンジン内のあらゆる問題を発見できます。 行、シンボル、データ、および条件付きブレークポイントの設定が可能です。 また、コードのステップ実行や式の評価を行えるほか、デバッグセッション中に Rider エディター内で直接変数の値を確認することもできます。
Rider は初期状態で Unreal Engine Automation Testing フレームワークをサポートしています。 Unit Test(ユニットテスト)ツールウィンドウまたはエディターから直接テストを起動し、その結果を確認し、失敗したテスト、すべてのテスト、または特定のテストを再実行できます。
Windows 版の Rider では、.sln
ファイルをプロジェクトとして開くだけで一般的な C++ 開発に取り組むことができます。 Linux と macOS では、C++ プロジェクトの .uproject
モデルのみに対応しています。 一般的な C++ および Unreal Engine の開発に関し、Rider、CLion、および ReSharper C++ の違いをお知りになりたい方は、FAQ をご覧ください。
Rider でベータ版のリモート開発ワークフローがサポートされるようになりました。 Rider のバックエンドを実行中のリモートマシンに世界中どこからでも接続できます。 すべての処理は高性能なリモートマシン上で行われ、ローカルマシンで作業しているかのように円滑にプロジェクトに取り組むことができます。 この機能は、Rider のウェルカム画面から、または Toolbox App で入手可能な JetBrains Gateway という新しいアプリケーションから開始できます。
さらに、開発環境の作成、事前ビルド、共有、複製、休止、管理には JetBrains Space を使用することができます。JetBrains Space はソフトウェア開発パイプライン全体をカバーする統合プラットフォームです。 詳細については、こちらのブログ記事をご覧ください。
新しいメインツールバーは見栄が良く、好評を博しています。 ただし、カスタムウィジェットを追加したり、既存のウィジェットを再配置したりできないという難点がありました。 皆さまのご要望にお応えしました! ツールバーの左右両側に新しいウィジェットを追加できるだけでなく、ウィジェットの再配置と削除が可能になりました。
ツールバーのカスタマイズページは、以下のいずれかの方法で開くことができます。
Rider 2021.3 でリリースされた新しいメインツールバーを使用している方は、dotTrace でプロファイリングをすぐに開始できないことにお気づきかもしれません。 このリリースでは、この不便さを解消しました。
Run/Debug(実行/デバッグ)ウィジェットの More(その他)メニュー(ケバブアイコン)から、Profile with Timeline(タイムラインでプロファイリング)、Profile with...(プロファイリング...)、および Profile running process...(実行中のプロセスをプロファイリング...)オプションを使用できるようになりました。
Fast モードが Docker と Docker-Compose ソリューションに追加されました。これにより、開発中のビルド時間を大幅に短縮できるはずです。
コンテナー内でのプロジェクトのビルド速度は、同じプロジェクトをローカルマシンでビルドする場合に比べて大幅に低下することがあります。 Fast モードが有効な場合、Rider は docker build
を使用して Docker イメージのベースステージを作成した後にホストマシンでプロジェクトをビルドするため、ビルド速度が大幅に向上します。 最終的に、プロジェクトのアーティファクトは Docker コンテナーにボリュームとしてマウントされます。 このモードは Debug 構成のみを対象としており、Release でビルドされるプロジェクトは Dockerfile
にあるステップを使用してビルドされます。
個別の実行構成で Fast モードを無効にするには、Edit Run Configuration(実行構成の編集)| Build(ビルド)| Modify options(オプションの変更)| Don’t use Docker fast debug(Docker 高速デバッグを使用しない)を使用します。
Search Everywhere(どこでも検索)は、ソリューション、IDE 設定、または Git 履歴内の項目を探す際の出発点となる基本機能です。 Rider 2022.1 では新しい Text(テキスト)タブが追加されています。このタブは、ソリューション内で入力中の文字列に一致しているすべてのテキストの出現箇所を表示します。 すべてのコードと、.cs
、.fs
、.cshtml
、.json
、.js
、.css
、.editorconfig
、.cvs
、.dockerfile
、.md
、.txt
などのテキストファイルで全文検索を実行します。
これまでと同様に、すべての結果は All(すべて)タブにも表示されます。
ただし、この検索の実行対象に含めるファイルの範囲は次の条件で絞り込むことができます。
Search Everywhere でのこのテキスト検索は、既存の Find in Files(ファイル内検索)機能には影響しません。 両方とも使用することが可能です。
IDE からの重要で有用な通知をより明確に表示するため、Event Log(イベントログ)インスタンスを Notifications(通知)ツールウィンドウに置き換えました。 このアップデートでは、通知の視認性を向上させ、ナビゲーションバーからアクセスできる専用のツールウィンドウに通知をすっきりとまとめることを狙いとしています。
Notifications(通知)ツールウィンドウに表示されるすべての通知は、「Suggestions(提案)」と「Timeline(タイムライン)」の 2 種類に分類されます。
Suggestions(提案)セクションには、ほとんどのユースケースで有用と思われる通知が表示されます。 また、提案には重要なものと普通のものがあります。 重要な提案がある場合は、ナビゲーションバーのベルアイコンに赤い円が表示されます。 普通の提案は、ベルアイコンの青い円で示されます。
これまではテキストエディターの内容が拡大されているのか縮小されているのかを判断するのは困難でした。 現在のズームの状態を明示的に示す視覚的なインジケーターが無かったためです。
このリリースでは、ズームウィジェットが導入されました。このウィジェットは現在開いているテキストエディターの下部に表示されます。 エディターの実際のフォントサイズを示し、デフォルトにリセットしやすくします。
このウィジェットから Preferences(環境設定)/Settings(設定)に直接移動して、ズーム機能がすべてのエディターに影響するか、アクティブなエディターのみに影響するかを調整できます。
現在の Visual Studio キーマップと Visual Studio IDE のキーマップ(例: Alt+Up/Down)のすべてのショートカットの違いを後者のショートカットに合わせて解消する新しい Visual Studio 2022 のキーマップを追加しました。 ReSharper を使用しない 2022 年より前の Visual Studio のバージョンに慣れている方にお勧めです。
We continue to improve support for C# 10, particularly global usings. このリリースでは、コンテキストアクションとしても使用できる新しい 2 つのリファクタリングを導入しました。
Extract Global Using(Global Using の抽出)は、プロジェクトに global using の概念を導入する上で役立ちます。 このリファクタリングを通常の using
ディレクティブに対して呼び出すと、Rider がそのディレクティブを指定の GlobalUsings.cs
ファイルへの抽出を提案します(このファイルがまだプロジェクトに存在しない場合は作成されます)。 不要になった通常の using
は、プロジェクトのファイルから除去されます。
global using
を通常の using
にリファクタリングする場合は、Inline Global Using(Global Using のインライン化)リファクタリングも役立ちます。 このリファクタリングを global using
に対して呼び出すと、GlobalUsings.cs
から global using が除去され、必要に応じて対応する using
ステートメントがプロジェクトのファイルに追加されます。
global using 機能は、Find Usages(使用箇所の検索)と拡張メソッドのコード解析でサポートされています。
We’ve looked into the approaching C# 11 and supported generic attributes.
[MemberNotNull]
および [MemberNotNullWhen]
アノテーションが、null 許容参照型を使用しないプロジェクトでサポートされるようになりました。 Razor と Blazor には、以下の最も重要な機能と修正が追加されています。
[EditorRequired]
属性をサポートしました。 Blazor コンポーネントを参照しようとする場合は、必要なパラメーターを指定せずに対応するインスペクションとクイックフィックスを使用することもできます。 .razor
ファイルでのコードクリーンアップを改善しました。 すべての @using
宣言が除去されなくなりました。 include
ディレクティブが機能しなくなる問題も解決しました。 InternalVisibleTo
属性を正しく認識できるようになったっため、IDE でエラーが発生することなく内部シンボルにアクセスできるようになりました。 Web 参照を .NET プロジェクトに追加するため、多数の改善を行いました。 以下は、最も重要な改善内容です。
.wsdl
ファイルからの参照を URL の代わりにファイルパスを使用して追加できます。 net.tcp
および net.pipe
URI 接頭辞がサポートされました。 私たちは Endpoints(エンドポイント)のサポートと Endpoints Viewer(エンドポイントビューアー)の改善を継続的に行っています。 また、ビューアーがエンドポイントを認識して収集するようになり、ASP.NET Core 6 の Minimal API のルーティングと規則ベースのルーティングに対応しました。 このため、これまでに提供済みの機能に加えて、このようなエンドポイントの調査と移動とスマートなコード補完の使用が可能になっています。
Rider 2022.1 には、Vue 3 関連の改善がいくつか行われいます。 コンポーネントをグローバルとして定義すると、IDE が .vue ファイル内にあるこのようなコンポーネントを認識するようになりました。 Rider は createApp
構文も適切にサポートしています。 createApp
を使用して作成されたアプリケーションと関連する要素を正しく一致させることができます。 このバージョンでは、広く使用されている Vue フレームワークの新バージョンである Nuxt 3 もサポートしています。
Rider 2022.1 では従来通り Unity の高度なサポートが提供されており、新機能の追加、修正、およびパフォーマンスの改善が行われたほか、内部動作に多くの調整が行われています。
また、新しい Unity 用のシーナリーツールである RiderFlow を導入したこともお伝えしておきます。 これは、レベルデザイナー、アーティスト、コーダー、およびクリエイティブチームに所属するその他のメンバーがシーンの作成と管理を簡単に行えるように設計された Unity エディターの無料プラグインです。 シーン内の素早い移動、ゲームオブジェクトとアセットの検索、シーン内アセットの使用箇所に対する視覚的なハイライト表示、およびシーン内のオブジェクトを素早く簡単に置換するためのリファクタリング機能が備わっています。 詳細は、RiderFlow ページをご覧ください!
プロジェクトに対して参照を追加したり除去したりするたびに、Rider が自動的に .asmdef
ファイルを更新するようになりました。 別のプロジェクトの型を使用している場合、Rider は .asmdef
に参照を追加した後にその型をインポートします。
Rider が .asmref
(アセンブリ定義参照ファイル)と .asmdef
ファイルをサポートするようになりました。 構文ハイライト、スキーマ検証、および補完を使用できます。 参照名で Ctrl+クリックした際、参照先の .asmdef
ファイルが 1 個の場合はそのファイルに移動し、複数の場合は .asmdef
ファイルが Find Usages(使用箇所の検索)に表示されます。
各プロジェクトには Unity エディターを一括モードで実行するための新しいデフォルト実行構成が提供されます。この構成はユニットテストを実行するのに最適です。結果は Logs フォルダーに保存されます。
Unity がより新しいバージョンの C# をサポートするようになり、Rider による Unity の Color
型のハイライト対象にターゲットの型が指定された new
式が含まれるようになりました。 宣言した色のプレビューを素早く確認し、Alt+Enter で新しい値を選択できます。
Rider 2022.1 では、非常に大規模な Unity プロジェクトのロードにかかる時間が短縮されています。これは、特に低速なディスクやファイルシステムを使用している場合などに顕著です。 この改善は大規模なプロジェクトでは有効です。小規模なプロジェクトではあまり顕著ではありませんが、ロード時にメモリ使用量が削減されることはすべてのユーザーにとって有益です。
このリリースには、その他の計画されていたパフォーマンスの修正が含まれています。 Unity Explorer ツールウィンドウが開いている状態で入力すると動作が重くなる現象や、Unity ツールウィンドウで長いログエントリを表示する際に速度が低下するといった問題が解消されています。
当然ながら、その他にも [MenuItem]
メソッド用の正しいメソッドシグネチャーの選択、Linux にインストールされたドキュメントの場所を検索する動作の修正、プロジェクトの Rider パッケージを最新に維持できるようにするための新しい通知の追加など、小規模な修正や改善が多数行われています。 As always, the full details are listed in the changelog.
Rider は、プロジェクトのAzureFunctionsVersion
プロパティに基づいて使用する Azure Functions Core Tools のバージョンを判定します。
特定バージョンの Azure Functions Core Tools をインストールする必要がある場合は、Preferences(環境設定)/ Settings(設定)| Tools(ツール)| Azure | Functions で、Chocolatey
、Brew
、npm
のいずれかを使用して Rider に正しいパスを参照させることができます。
デフォルトでは、Rider が Azure Functions Core Tools を管理します。 プロジェクトに応じて必要なツールをダウンロードし、自動的に最新の状態に維持します。
Markdown ファイルにターミナルで実行する必要のあるコマンドを含む命令が記述されている場合は、ガターの実行アイコンを使用してこのようなコマンドを Markdown ファイルから直接実行できます。
Markdown ファイルの編集時にテキストを選択すると表示されるフローティングツールバーに新しいオプションを追加しました。 このツールバーを使用して、ヘッダーのスタイルを素早く選択したり、リストを作成したりできるようになりました。 このツールバーは、必要なオプションを含めるようにカスタマイズできます。 カスタマイズするには、Preferences(環境設定)/ Settings(設定)| Appearance & Behavior(外観と動作)| Menus and Toolbars(メニューとツールバー)| Markdown Editor Floating Toolbar(Markdown エディターのフローティングツールバー)に移動してください。
また、Markdown ブロックに Copy code snippet(コードスニペットのコピー)」アクションを追加したため、コンテンツを簡単にクリップボードにコピーできるようになりました。
コードを「カバー不可」にするオプションを実装しました。 このオプションを使用すると、カバレッジ解析プロセスからテストが不要なコードを除外し、より明確なスナップショットを取得できるようになります。 To use this feature, install the JetBrains.dotCover.MSBuild NuGet package and add the comments // dotcover disable/enable
around the code. 詳細は、こちらのチケットをご覧ください。
Preview Diff(差分のプレビュー)アイコンを、Commit(コミット)ツールバーから歯車アイコンでアクセスできるメニューに移動し、名前を Show Diff Preview on Single Click(シングルクリックで差分のプレビューを表示)に変更しました。 ここでは、Changes(変更)ツリーでファイルをクリックしたときの動作(ファイルを選択するか差分のプレビューを開く)を指定できます。
Annotate with Git Blame(Git Blame で注釈を付ける)機能を改善し、取り込まれた変更の調査をより簡単に行えるようにしました。 注釈にマウスオーバーすると、Rider が直接エディター内で行の差分をハイライト表示します。その注釈をクリックすると、IDE の Git Log ツールウィンドウが開きます。
Commit Details(コミットの詳細)ペインに、GPG 署名とビルドステータスに関する情報が含まれるようになりました。 従来、このデータは Git ログの列としてのみ表示されていました。
Git File History(Git ファイル履歴)ツールウィンドウの新しい UI は、インデックス作成プロセスとは無関係になりました。 新しいインターフェースでは、ログのインデックス作成がオフの場合でもデータが表示されます。
これまではファイル履歴のインデックス作成が完了していない状態で履歴を表示すると、Rider の動作がかなり重くなり、一部の機能が使用できなくなっていました。
ご存じのように、適切な名前を考えるのは容易なことではありません。 時にはソリューション全体の名前を変更したいと思ったこともあるでしょう。 このような場合は Rider が役に立ちます。 Solution Explorer ツールウィンドウでソリューションノードのコンテキストメニューを呼び出し、Edit(編集)| Rename(名前の変更)を選択して、新しいソリューション名を入力してください。
New Solution/Project(新規ソリューション/プロジェクト)ダイアログに、SDK オプションをドロップダウンリスト形式で追加しました。 このオプションは新しい .NET SDK バージョンをインストールした後、古いバージョン向けのプロジェクトを作成する場合に役立ちます。
Run Static Method(static メソッドの実行)アクションは、.NET と .NET Core をターゲットとするプロジェクトで機能します。 ガターの余白部で緑色の「実行」三角アイコンをクリックすると、コードエディターから直接あらゆる static メソッドを実行できます。
Roslyn アナライザーとソースジェネレーターのサポートにいくつかの改善を施しました。
Alt+Enter メニューで、コードのクリーンアップと整形に関連するすべての項目を整理しました。 Format selection(選択範囲の整形)、Cleanup selection(選択範囲のクリーンアップ)、および Apply syntax style(構文スタイルの適用)が 1 つの Reformat and Cleanup(整形とクリーンアップ)項目に統合され、1 つのエントリポイントでアクセスできるようになりました。
これらの変更のほか、構文スタイルの設定が Configure code style(コードスタイルの構成)および Autodetect code style settings(コードスタイル設定の自動検出)アクションで使用できるようになっています。 Preview code style(コードスタイルのプレビュー)パネルには、構文スタイルの変更も表示されます。
NuGet プロジェクトプロパティのページでパッケージアイコンのセレクターを更新しました。 使用しなくなった要素に代わり、新しい要素を使用できるようになっています。