Rider の新機能

Rider 2020.2 は、Localization Manager や Unity 統合におけるシェーダーのサポートといった極めて要望の多かった機能を提供します。 ユニットテストランナーとデバッガー API を全面的に改修し、高速化と機能強化、さらには安定化を図りました。 このリリースでは、C# サポートの強化、データブレークポイントへの対応、GitHub プルリクエストの完全サポートなども行われています。

ダウンロード

無料30日間体験版

デバッガ

新しいデバッガー API

新しいデバッガー API

新しいリリースには、大幅に書き換えられた新しいデバッガー API が付属しています。 UI からは分かりませんが、この API はより多くの機能を提供し、以前は不可能だったプラグインからデバッグプロセスへのフックを実現しています。 この中には、改善された割り込みを使用した超遅延値計算カスタム値の表現も含まれています。 外見上から分かる唯一の変化は、すべての変数に適切なアイコンを表示するデバッガーツールウィンドウです。

データブレークポイント

データブレークポイント Windows のみ

データブレークポイントは、特定オブジェクトのプロパティに注目する必要がある場合に役に立ちます。 通常、データブレークポイントは何かが変化することを把握しているにもかかわらず、その原因がコードベース内のどこにあるのかが分からない場合に使用します。 この機能は Watch ツールウィンドウから使用可能で、配列要素にも機能します。 現在のプラットフォームの制限により、Windows 上の .NET Core 3 以上でしか使用できない可能性があります。

詳細情報

Pin-To-Frame

Pin-To-Frame

Rider 2020.2 では、フレーム全体にわたって値をピン留めできる Pin-To-Frame アクションを追加しました。 関数をパラメーターをピン留めし、それをスタックフレームのリストに表示することができます。 再帰関数をデバッグする場合は、異なるイテレーションで値の状態をウォッチできます。

詳細情報

Localization Manager(ローカライゼーションマネージャー)

.NET アプリケーションや Web サイトのローカライズに役立つ Localization Manager を Rider で使用できるようになりました。 この機能にはツールメニューから、あるいは .resx ファイルをダブルクリックしてアクセスできます。

プロジェクトの全 .resx ファイルか、指定したファイルに含まれるすべてのリソースを単一のグリッドで表示できます。

値がローカライズされていない、または単に使用されていないすべてのリソースを簡単に発見できます。

ローカライズされたリソースの追加、編集、名前の変更、検索、使用箇所の検索、安全な削除を実行できます。

補完リストに表示される定義済みカルチャのリストを使用してアプリケーションに新しいカルチャを簡単に追加したり、すぐに必要のないロケールを非表示にしたりできます。

グリッド全体を CSV 形式でエクスポートしたり、最終バージョンを Localization Manager にインポートしたりできます。

グリッド内で直接リソースファイル内のエンティティにコメントを追加したり、編集したりできます。また、コメントのエクスポートとインポートも実行できます。

ソリューション内の .resx ファイルの全構造を複数のグループに分けて表示できます。

ゲーム開発

Unity

シェーダーのサポート

Rider 2020.2 では非常に要望の多かった Cg および HLSL シェーダーのサポートを開始しました! このサポートの対象にはシンタックスハイライト、コード補完、セマンティックエラーのハイライト、定義へのジャンプ、使用箇所の検索、リファクタリングなどがあります。

Rider はマクロを含めシェーダーファイルの構造を完全に認識するため、マクロの定義に移動したり、コード内で直接マクロを展開したりできます。 インクルードしたファイルは検出および解析され、インクルードしたファイルで Ctrl を押しながらクリックすると直接そのファイルに遷移します。

Pausepoints(中断ポイント)

Pausepoints(中断ポイント)

新しい種類のブレークポイントをご紹介します! コード内にブレークポイントを設定してそれを中断ポイントに変換すると、デバッガーがその中断ポイントにヒットしたときに Unity Editor が即座に中断モードに切り替わり、Inspector を使用してゲームの状態を表示できるようになります。

これは、条件付きブレークポイントと依存ブレークポイントを併用すると、さらに強力なツールになります。 詳細については、このブログ記事をご覧ください。

Burst 解析

Burst 解析

Burst が有効なコードは Unity アプリケーションのパフォーマンスを大幅に向上させますが、コードの実行内容に制約が課されます。

Rider 2020.2 は Burst コンテキストの中で呼び出されるすべてのコードを高度に解析し、ボクシング、foreach または try/catch の使用、static フィールドに対する読み込み/書き込みといった不正なコードの使用箇所をハイライトするようになりました。

Apple デバイスの USB デバッグ

Apple デバイスの USB デバッグ

Rider はすでに単体デスクトッププレイヤー、モバイル、コンソールを含め、ネットワーク経由でのプレイヤーのデバッグを強力にサポートしています。

Rider 2020.2 では Apple デバイス向けに USB ベースのデバッグ機能を導入しています(Android デバイスの USB デバッグ機能は今後のリリースで提供される予定です)。

一括クイックフィックス

一括クイックフィックス

ファイル、プロジェクト、およびソリューション全体に対してすべてのクイックフィックスを実行できるようにアップグレードされました。

冗長な Unity 属性の除去、文字列リテラル比較の CompareTag への置換、オブジェクトの作成と親トランスフォームの設定を組み合わせたパフォーマンスの向上など、すべてをワンクリックで Unity プロジェクト全体に適用できます。

デバッガーの値を拡張

デバッガーの値を拡張

Rider のデバッガーは Unity プロジェクトに対し、コンテキストに応じた追加の値を表示します。 アクティブなシーン、子ゲームオブジェクト、および接続されたすべてのコンポーネントに簡単にアクセスできます。

Rider は クォータニオンに対するオイラー角、ベクトルのフル精度値、ビヘイビアの有効状態など、ある種の概要情報も分かりやすく表示します。

組み込みの UnityYamlMerge のサポート

組み込みの UnityYamlMerge のサポート

Rider は統合されたバージョン管理システムの操作を実行する際、Unity の Smart Merge ツールを自動的に使用してアセットファイルをマージします。

その他の機能

  • シーン、プレハブ内のコード使用箇所にあるテキストベースのアセット、およびその他のアセットをインデックス化する際のメモリ使用量が大幅に削減され、スループットが向上しています。
  • 一般的な Unity API の用語がカスタム辞書として Rider のスペルチェッカーに追加されました。
  • Code Cleanup(コードのクリーンアップ)が Unity の型を認識するようになり、シリアライズされたフィールドが並べ替えられることはなくなりました。これは、Unity Inspector でこれらのフィールドを表示する際には重要です。
  • その他の小規模な機能や修正については、こちらをご覧ください

Rider for Unreal Engine 早期プレビュー

Rider for Unreal Engine

Unreal Engine でのゲーム開発に関心はありますか? 当社は Rider を独立したオールインワン型の統合ゲーム開発 IDE にする過程で、次のような Rider での Unreal Engine 開発 の早期サポートを開始しました。

  • ReSharper C++ のエンジンによるネイティブな C++ のサポート。
  • Unreal Engine プロジェクト向けのパフォーマンス最適化。
  • Rider Editor への Unreal Editorブループリント情報の組み込み。
  • UE のリフレクションと RPC の認識、UE 命名規則の適用。
  • HLSL と C#、JSON、および uproject/uplugin 言語をサポート。

早期アクセスプレビューは無料でご利用いただけます。 参加するにはご登録が必要です

コード解析

null 許容性コード解析がより多くのケースを認識し、分解および foreach サイクルを介して不正な null 許容性をトレースできるようになりました。 また、対応するクイックフィックスも提供しています。

コード解析が null 許容参照型が無効になっているコード(#nullable disable)でも、API に対して JetBrains.Annotations 属性(NotNullCanBeNull の両方)を考慮するようになりました。

プロジェクトに System.Linq.Async NuGet パッケージをインストールしている場合、「foreach から LINQ」および「LINQ からコード」に変換するコンテキストアクションも IAsyncEnumerable‹T› で使用できるようになりました。

適切なクイックフィックスを使用し、IEqualityComparer‹T› および IComparer‹T› の実装を簡単に生成できるようになりました。

実装またはオーバーライドされたメンバーの null 許容性を検証する際にコード解析がコンパイラーのアノテーション(AllowNull および DisallowNull など)を考慮するようになりました。

変数や戻り値の型が null 許容値を保持しない、または返さない場合にそれらを「null 非許容」にする新しいインスペクションとクイックフィックスを追加しました。

コード解析が .editorconfig ファイルの dotnet_diagnostic ルールに準拠できるようになりました。 .editorconfig ファイル内でインスペクションの重大度(dotnet_diagnostic.CS1058.severity = hint など)を指定すると、Rider が対応するインスペクションを表示します。

このリリースでは、インターフェース機能におけるデフォルト実装のサポートが強化されています。 コードエディター左側のガターはメソッドが実装またはオーバーライドされていることを示しており、リファクタリングとナビゲーションはこの C# 言語の機能を認識します。

XAML コードでインレイヒントを使用できるようになりました。 ヒントはマークアップのプロパティ名と DataContext のほか、マージンとパディングに対して提供されるため、これらの順序を覚えたくない場合に役立ちます。

Alt+Enter メニュー経由で Suppress nullable warning with ! クイックフィックスをソリューションに対して無効化することができます。

ユニットテスト

.NET Framework と .NET Core 向けのユニットテストランナーをゼロから再構築し、Visual Studio のプロセス外で実行されるどちらのランタイムにも同じランナーを使用できるようにしました。 これにより、ユニットテストの検出、実行、デバッグに関する多くの問題が解消され、.NET Core テストのユニットテスト階層を完全にコントロールできるようになりました。

新しいユニットテストランナーでは次の重要な改善が行われています。

  • NUnit / xUnit / MSTest v2 ユニットテストフレームワーク向け MSFakes の組み込みサポート。
  • NUnit / xUnit / MSTest v2 向け TypeMock Isolator の組み込みサポート。
  • MSTest v2 テストが Visual Studio をインストールしなくても実行できるようになりました。

Rider が xUnit および NUnit フレームワーク向けに .NET Core テストの DisplayName 属性をサポートするようになりました。

ユニットテストツリーで複数のユニットテストのステータスを同時に選択し、絞り込めます。 複数のステータスを有効化または無効化するには、Ctrl キーを押しながら対象のステータスをクリックします。

検索またはターゲットフレームのフィルターを適用してユニットテストの合計数とフィルター条件に一致するテストの数を表示すると、それぞれのステータスに対して2種類のカウンターが表示されます。

Output ウィンドウで ANSI エスケープコードがサポートされるようになり、必要に応じてユニットテストの出力に色を付けられるようになりました。

MSTest ユニットテストで "Visual studio installation folder is not set" ステータスを取得した場合、Alt+Enter メニューの新しいアクションを使用して Settings ダイアログを開くことができます。

バージョン管理

GitHub プルリクエスト

GitHub プルリクエストのサポートがついに強化されました! プルリクエストの閲覧 / 割り当て / 管理 / マージ、タイムラインとインラインコメントの表示、コメントとレビューの送信、変更の承認を行うことができるようになります。

新たにサポートされた内容には次のようなものがあります。

  • プルリクエストビューアーの新しいレイアウト。
  • コミット前チェックの結果をタイムラインに表示。
  • レビューのサポート。
  • コメントの操作。
  • IDE 内でのプルリクエストのマージ。

この新機能に関する詳細は、こちらのブログ記事を参照してください。

その他の VCS 関連機能

GitHub プルリクエストのサポートに加えて、次のバージョン管理システム向けの新機能を使用できるようになりました。

  • WSL2 にインストールされた Git のサポート。
  • Compare branches アクションの結果を表示する方法を改善しました。
  • Git ツールウィンドウの Log タブで多数のローカルコミットを選択し、それらを squash で 1 つにまとめることができます。 このアクションは、右クリックのコンテキストメニューから使用できます。

NuGet

NuGet ツールウィンドウを使用し、新しい Implicitly Installed Packages セクションでソリューションまたはプロジェクトのすべての推移的パッケージを参照することができます。

暗黙的パッケージにマウスを重ねると、暗黙的パッケージのバージョンと参照元パッケージに関する情報を含むツールチップが表示されます。 パッケージが複数のバージョンで参照されている場合は、それらすべてが表示されます。

NuGet パッケージで右クリックまたは Alt+Enter を押して呼び出せる新しいコンテキストポップアップメニューを追加しました。 そのメニューから単一の NuGet パッケージに対して関連するすべてのアクションに素早くアクセスできます(パッケージの更新または削除、パッケージを Assembly Explorer で開いて API を調査する、ファイルシステムのエクスプローラーで表示する、関連する NuGet.org のエントリを開く、依存コードを検索する、など)。

また、パッケージの暗黙的な参照パスを提示する新しい Quick NuGet Documentation アクションもあります。

パッケージの検索ボックスも更新されました。 虫眼鏡アイコンをクリックするか、 Alt+Down Arrow を使用して最近のパッケージ検索履歴を開くことができます。

最もよく変更される 2 つのプロパティ(globalPackagesFolderrepositoryPath)の値も編集できるようになりました。

Feeds タブで無効なフィードパスが赤い矩形でハイライトされ、そのパスが無効かどうかをすぐに確認できるようになりました。

検索したパッケージがどのフィードにも見つからない場合、警告メッセージが検索リストにも表示されます。

新しい詳細ペインの警告では、メンテナンス中または非推奨になったパッケージが視覚的に表示されます。

F# のサポート

リファクタリング

Introduce Variable(変数の導入)リファクタリングがローカル関数で使用できるようになりました。 このリファクタリングを呼び出すと適切な部分式が表示され(コードの特定部分が選択されていない限り)、類似した部分式への置換が提案されます。 これは新しい変更の命名についても高度に処理し、型と文脈に応じた意味のある名前を提案します。

Rename がアンダースコアのワイルドカードに対して機能するようになりました。 ワイルドカードパターンを名前付き変数に変える必要がある場合、手動で作業する代わりにこのリファクタリングを呼び出すことができます。 また、名前を提案する際には型と文脈が考慮されます。

クイックフィックスとコンテキストアクション

Import Type(型のインポート)が大幅に改善されました。 より幅広いケースで機能し、型を提案する際にパラメーター数が考慮されるようになりました。 また、Rider がソリューションからモジュールか別のプロジェクトを参照することを提案し、そこから型をインポートできるようになりました。

その他の VCS 関連機能

パラメーターリスト内の関数のアプリケーションへの丸括弧の追加、内包する型またはモジュールへの Extension 属性の追加、構文エラーの修正、let から use への変換など、複数の新しいクイックフィックスも追加されました。

アナライザー

アナライザー

高速に動作する冗長な修飾子のアナライザーと、対応する冗長箇所を除去するクイックフィックスを実装しました。

エディター

さまざまなシンボルを別々にハイライトするオプションを拡充しました。 また、型の省略形はそれが省略する型としてハイライトされ、関数はメソッドとしてハイライトできます。 いずれも外部の貢献によるものです。Igor Bagdamyan 氏に感謝の意を表します。

Rider が |> チェーン内の式に型ヒントを表示するようになりました。 チェーン全体を頭の中で追うことなく、状況を追跡するのに役立ちます。 この機能も外部の貢献によるものです。Saul Rennison 氏に感謝の意を表します。

カラー参照がコード内でハイライトされるようになり、視認性が向上しました。

ついに F# Compiler Service モニターが実装されました。こちらも Saul 氏の貢献によるものです。 FCS がビジー状態のときは、インジケーターが表示されます。 これはほぼ診断ツールであり、開発者が IDE が処理中のままになっている原因を把握し、動作が疑わしいと思われる場合に Rider チームに報告して解析を依頼できるようにするものです。

F# サポートの更新に関する詳細については、GitHub 上のリリースノートをご覧ください。

x:Bind のサポート

UWP 開発者の皆様への朗報ですが、ついに x:Bind を使用したコンパイル済みバインディングのサポートを開始しました!

Rider は x:Bind を含むコードを正しく解決し、複数のインスペクションと対応するクイックフィックスを提供しています。 不足しているプロパティの setter、BindBack 属性、およびオーバーロードの競合がある場合に警告します。 また、C# コードビハインドで適切なフィールド / プロパティ / メソッドを生成する Create from Usage クイックフィックス一式を使用できます。

x:Bind 式内の propertyPath / BindBack / UpdateSourceTrigger 属性に対応したコード補完とパラメーター情報があります。

Change Signature および Safe Delete リファクタリングが XAML コード内のメソッド仕様箇所を認識し、それらを更新できるようになりました。 また、 Make Static/Const および Encapsulate Field リファクタリングが XAML コードから直接機能するようになり、C# コードビハインドから呼び出した際に XAML の使用箇所を適切に更新するようになりました。

null 許容性の認識機能が、x:Bind コード解析に組み込まれました。 C# コード内に CanBeNull 属性や NotNull 属性がある場合、Rider が propertyPath で使用されるメソッド内の引数に対して「Possible System.NullReferenceException」および「Possible null assignment to non-nullable entity」のような null 関連のインスペクションを XAML コード内に直接表示するようになりました。

Find Usages や Go to Declaration などの Rider の他の機能も x:Bind を認識します。

プラグイン

dotTrace

dotTrace dotUltimate

dotTrace プラグインは、Windows 上で Mono/Unity アプリケーションのネイティブ部分をプロファイリングできます。 'Enable native profiling' オプションでセッションを開始すると、ネイティブコールスタックとマネージコールスタックの両方がパフォーマンスのスナップショットに表示されます。

Dynamic Program Analysis

Dynamic Program Analysis

Settings/Preferences | Build, Execution, Deployment | Dynamic Program Analysis | Filtering でプロセス/モジュール/クラス/メソッドで絞り込み、Dynamic Program Analysis の範囲を限定できるようになりました。

  • 特定のメソッドやクラス等のみを分析したい場合は、それを Analyze code only in リストに追加してください。
  • 特定のメソッドやクラス等を分析対象から外したい場合は、それを Do not analyze code in リストに追加してください。

dotCover dotUltimate

新しいリリースでは、dotCover プラグインに次のようないくつかの便利な機能が追加されています。

  • Unit Tests Coverage ウィンドウでカバレッジレポートをエクスポートできるようになりました。
  • Unit Tests Coverage ウィンドウに高速検索機能が追加されました。
  • コード内のシンボルからカバレッジツリー内の対応するシンボルに移動できるようになりました(Navigate to | Coverage Tree か Coverage ツールウィンドウのツールバーにある Navigate from Editor アイコンを使用します)。

Rider 向け Azure Toolkit

npm を使用して Azurite ストレージエミュレーター をインストール(npm install -g azurite)すると、Azurite ノードServices ツールウィンドウに追加されます。 そのウィンドウからストレージエミュレーターの起動 / 停止 / 消去を実行できます。

Azure Functions でタイマートリガーを使用する際は、関数を実行する時間を定義する有効な NCrontab 式を入力する必要があります。 Azure Toolkit for Rider はコード補完機能と作業の開始に役立つ複数のサンプルを提供し、crontab の編集を支援します。

Rider が NCrontab 式の有効性を検証し、潜在的な問題箇所について追加の情報を提供するようになりました。

Markdown プラグイン

Markdown プラグイン

Rider で Markdown がサポートされるようになりました! Rider 2020.2 には Markdown プラグインが同梱されています。 このプラグインはソリューション内の Markdown ファイルを認識し、専用のエディターを提供し、ライブプレビューに HTML をレンダリングします。

Godot のサポート

Godot のサポート

Godot の実行構成が改修されました。 実行、デバッグを行い、Player および Editor 実行構成のプロファイリングで実行できます。 また、プレイヤーとエディターの両方を実行するために使用されるコマンドラインのパラメーター行を編集できます。

また、Solution Explorer ビューのコンテキストメニューから直接個別のシーンに対して実行やデバッグを呼び出せるようになりました。

データベースサポート

セルの値を独立したエディターで操作

セルの値を独立したエディターで操作

セル内に巨大な値がある場合に、それを独立したパネルで表示したり、編集したりできるようになりました。 また、右側のツールバーを使用してソフトラップモードを切り替えられるようになりました。 Rider のコードエディターのすべての機能をデータの確認や編集に活用してください!

ブール値用の新しい UI

ブール値用の新しい UI

ブール値をより便利に表示および編集できる手段が追加されました。 true 値が箇条書きでマークされ、他のすべての値と区別できるようになりました。

データエディターの DML プレビュー

このバージョン以降、変更を表すクエリをデータエディター内でレビューできるようになりました。 保留中の変更がある場合、DML アイコンが有効になります。 そのアイコンをクリックすると、DML プレビューのダイアログが表示されます。 Rider は JDBC ドライバーを使用してテーブルを更新するため、このクエリは必ずしもデータ変更用の正確な SQL ではありませんが、ほとんどの場合は同じものになります。

Rider 2020.2 でも有効になったデータベースに関するすべての改善点については、DataGrip の新機能をチェックしてください。

ウェブ開発

JavaScript 向けの新機能で時間を節約

JavaScript 向けの新機能で時間を節約

新しいスマートなインテンション(Alt+Enter)は、一部のアクションをより高速に実行するのに役立ちます。 例えば、数字インデックスを使った for ループを forEach 配列メソッドにすばやく変換できます。 また、エディター内に JavaScript および TypeScript ファイル内のドキュメントコメントが直接表示されるようになったため、これらのコメントを参照するのが楽になり、集中力の低下を最小限に抑えられるようになりました。

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

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

組み込みのフォーマッターの代わりに Prettier を使用してコードを整形したいですか? このアップデートでは、以前よりもはるかに簡単にそれを実現できるようになりました。 JetBrains Marketplace からプラグインをインストールし、Settings/Preferences | Plugins ページで新しい On code reformat チェックボックスをオンにすると、IDE が .js / .ts / .jsx / .tsx ファイルの整形に Prettier を使用するようになります。 その他のファイルタイプも簡単に追加できます。

最高水準の Vue サポート

最高水準の Vue サポート

私たちは過去 1 年間で Nuxt.js のサポートと Vue 固有のコードスタイル設定を追加し、TypeScript プロジェクトでの Vue 関連の改善やその他多数の更新を行いました。 Rider の Vue サポートがかつてないほど高度になりました!

Rider 2020.2 でも有効になったウェブ開発に関するすべての改善点については、WebStorm の新機能をチェックしてください。

リファクタリング

このリリースでは Conflicts ダイアログが再設計され、Refactorings インターフェース内の単独のステップになっています。 従来の単純なリストはファイルごとにグループ化されたツリーに置き換えられています。 単純なリストに戻すには、右のツールバーにある Flatten アイコンをクリックしてください。

式に対して Introduce parameter または Introduce field リファクタリングを呼び出す際、Rider は式のどの部分にリファクタリングを適用するかを確認します。

その他の更新

Xamarin

注目すべき更新内容は以下のとおりです。

  • File Templates を Mac および iOS Xamarin プロジェクトの両方で使用できるようになりました。
  • XCode の同期を改善しました。“.Designer.cs” ファイルが存在しない場合、Rider がエラーを表示する代わりに当該ファイルを生成するようになりました。

その他の重要な変更点

  • Search Everywhere の検索結果表示が新しくなりました。
  • デバッガーの .NET Сore ランタイムホスティング構成への接続と、デバッグ実行をサポートしました。
  • 実行構成が実行可能なすべてのプロジェクトに対して生成されるようになりました。
  • ウェブサイトプロジェクトで ProjectReferences がサポートされるようになりました。
ダウンロード

無料30日間体験版