Rider 2020.2 は、Localization Manager や Unity 統合におけるシェーダーのサポートといった極めて要望の多かった機能を提供します。 ユニットテストランナーとデバッガー API を全面的に改修し、高速化と機能強化、さらには安定化を図りました。 このリリースでは、C# サポートの強化、データブレークポイントへの対応、GitHub プルリクエストの完全サポートなども行われています。
無料30日間体験版
新しいリリースには、大幅に書き換えられた新しいデバッガー API が付属しています。 UI からは分かりませんが、この API はより多くの機能を提供し、以前は不可能だったプラグインからデバッグプロセスへのフックを実現しています。 この中には、改善された割り込みを使用した超遅延値計算とカスタム値の表現も含まれています。 外見上から分かる唯一の変化は、すべての変数に適切なアイコンを表示するデバッガーツールウィンドウです。
データブレークポイントは、特定オブジェクトのプロパティに注目する必要がある場合に役に立ちます。 通常、データブレークポイントは何かが変化することを把握しているにもかかわらず、その原因がコードベース内のどこにあるのかが分からない場合に使用します。 この機能は Watch ツールウィンドウから使用可能で、配列要素にも機能します。 現在のプラットフォームの制限により、Windows 上の .NET Core 3 以上でしか使用できない可能性があります。
Rider 2020.2 では、フレーム全体にわたって値をピン留めできる Pin-To-Frame アクションを追加しました。 関数をパラメーターをピン留めし、それをスタックフレームのリストに表示することができます。 再帰関数をデバッグする場合は、異なるイテレーションで値の状態をウォッチできます。
.NET アプリケーションや Web サイトのローカライズに役立つ Localization Manager を Rider で使用できるようになりました。 この機能にはツールメニューから、あるいは .resx ファイルをダブルクリックしてアクセスできます。
値がローカライズされていない、または単に使用されていないすべてのリソースを簡単に発見できます。
ローカライズされたリソースの追加、編集、名前の変更、検索、使用箇所の検索、安全な削除を実行できます。
補完リストに表示される定義済みカルチャのリストを使用してアプリケーションに新しいカルチャを簡単に追加したり、すぐに必要のないロケールを非表示にしたりできます。
グリッド全体を CSV 形式でエクスポートしたり、最終バージョンを Localization Manager にインポートしたりできます。
グリッド内で直接リソースファイル内のエンティティにコメントを追加したり、編集したりできます。また、コメントのエクスポートとインポートも実行できます。
ソリューション内の .resx
ファイルの全構造を複数のグループに分けて表示できます。
Rider 2020.2 では非常に要望の多かった Cg および HLSL シェーダーのサポートを開始しました! このサポートの対象にはシンタックスハイライト、コード補完、セマンティックエラーのハイライト、定義へのジャンプ、使用箇所の検索、リファクタリングなどがあります。
Rider はマクロを含めシェーダーファイルの構造を完全に認識するため、マクロの定義に移動したり、コード内で直接マクロを展開したりできます。 インクルードしたファイルは検出および解析され、インクルードしたファイルで Ctrl を押しながらクリックすると直接そのファイルに遷移します。
新しい種類のブレークポイントをご紹介します! コード内にブレークポイントを設定してそれを中断ポイントに変換すると、デバッガーがその中断ポイントにヒットしたときに Unity Editor が即座に中断モードに切り替わり、Inspector を使用してゲームの状態を表示できるようになります。
これは、条件付きブレークポイントと依存ブレークポイントを併用すると、さらに強力なツールになります。 詳細については、このブログ記事をご覧ください。
Burst が有効なコードは Unity アプリケーションのパフォーマンスを大幅に向上させますが、コードの実行内容に制約が課されます。
Rider 2020.2 は Burst コンテキストの中で呼び出されるすべてのコードを高度に解析し、ボクシング、foreach または try/catch の使用、static フィールドに対する読み込み/書き込みといった不正なコードの使用箇所をハイライトするようになりました。
Rider はすでに単体デスクトッププレイヤー、モバイル、コンソールを含め、ネットワーク経由でのプレイヤーのデバッグを強力にサポートしています。
Rider 2020.2 では Apple デバイス向けに USB ベースのデバッグ機能を導入しています(Android デバイスの USB デバッグ機能は今後のリリースで提供される予定です)。
ファイル、プロジェクト、およびソリューション全体に対してすべてのクイックフィックスを実行できるようにアップグレードされました。
冗長な Unity 属性の除去、文字列リテラル比較の CompareTag
への置換、オブジェクトの作成と親トランスフォームの設定を組み合わせたパフォーマンスの向上など、すべてをワンクリックで Unity プロジェクト全体に適用できます。
Rider のデバッガーは Unity プロジェクトに対し、コンテキストに応じた追加の値を表示します。 アクティブなシーン、子ゲームオブジェクト、および接続されたすべてのコンポーネントに簡単にアクセスできます。
Rider は クォータニオンに対するオイラー角、ベクトルのフル精度値、ビヘイビアの有効状態など、ある種の概要情報も分かりやすく表示します。
Rider は統合されたバージョン管理システムの操作を実行する際、Unity の Smart Merge ツールを自動的に使用してアセットファイルをマージします。
Unreal Engine でのゲーム開発に関心はありますか? 当社は Rider を独立したオールインワン型の統合ゲーム開発 IDE にする過程で、次のような Rider での Unreal Engine 開発 の早期サポートを開始しました。
早期アクセスプレビューは無料でご利用いただけます。 参加するにはご登録が必要です。
null 許容性コード解析がより多くのケースを認識し、分解および foreach
サイクルを介して不正な null 許容性をトレースできるようになりました。 また、対応するクイックフィックスも提供しています。
コード解析が null 許容参照型が無効になっているコード(#nullable disable
)でも、API に対して JetBrains.Annotations 属性(NotNull
と CanBeNull
の両方)を考慮するようになりました。
プロジェクトに 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 テストのユニットテスト階層を完全にコントロールできるようになりました。
新しいユニットテストランナーでは次の重要な改善が行われています。
Rider が xUnit および NUnit フレームワーク向けに .NET Core テストの DisplayName
属性をサポートするようになりました。
ユニットテストツリーで複数のユニットテストのステータスを同時に選択し、絞り込めます。 複数のステータスを有効化または無効化するには、Ctrl キーを押しながら対象のステータスをクリックします。
検索またはターゲットフレームのフィルターを適用してユニットテストの合計数とフィルター条件に一致するテストの数を表示すると、それぞれのステータスに対して2種類のカウンターが表示されます。
Output ウィンドウで ANSI エスケープコードがサポートされるようになり、必要に応じてユニットテストの出力に色を付けられるようになりました。
MSTest ユニットテストで "Visual studio installation folder is not set" ステータスを取得した場合、Alt+Enter メニューの新しいアクションを使用して Settings ダイアログを開くことができます。
GitHub プルリクエストのサポートがついに強化されました! プルリクエストの閲覧 / 割り当て / 管理 / マージ、タイムラインとインラインコメントの表示、コメントとレビューの送信、変更の承認を行うことができるようになります。
新たにサポートされた内容には次のようなものがあります。
この新機能に関する詳細は、こちらのブログ記事を参照してください。
GitHub プルリクエストのサポートに加えて、次のバージョン管理システム向けの新機能を使用できるようになりました。
NuGet ツールウィンドウを使用し、新しい Implicitly Installed Packages セクションでソリューションまたはプロジェクトのすべての推移的パッケージを参照することができます。
暗黙的パッケージにマウスを重ねると、暗黙的パッケージのバージョンと参照元パッケージに関する情報を含むツールチップが表示されます。 パッケージが複数のバージョンで参照されている場合は、それらすべてが表示されます。
NuGet パッケージで右クリックまたは Alt+Enter を押して呼び出せる新しいコンテキストポップアップメニューを追加しました。 そのメニューから単一の NuGet パッケージに対して関連するすべてのアクションに素早くアクセスできます(パッケージの更新または削除、パッケージを Assembly Explorer で開いて API を調査する、ファイルシステムのエクスプローラーで表示する、関連する NuGet.org のエントリを開く、依存コードを検索する、など)。
また、パッケージの暗黙的な参照パスを提示する新しい Quick NuGet Documentation アクションもあります。
パッケージの検索ボックスも更新されました。 虫眼鏡アイコンをクリックするか、 Alt+Down Arrow を使用して最近のパッケージ検索履歴を開くことができます。
最もよく変更される 2 つのプロパティ(globalPackagesFolder
と repositoryPath
)の値も編集できるようになりました。
Feeds タブで無効なフィードパスが赤い矩形でハイライトされ、そのパスが無効かどうかをすぐに確認できるようになりました。
検索したパッケージがどのフィードにも見つからない場合、警告メッセージが検索リストにも表示されます。
新しい詳細ペインの警告では、メンテナンス中または非推奨になったパッケージが視覚的に表示されます。
Introduce Variable(変数の導入)リファクタリングがローカル関数で使用できるようになりました。 このリファクタリングを呼び出すと適切な部分式が表示され(コードの特定部分が選択されていない限り)、類似した部分式への置換が提案されます。 これは新しい変更の命名についても高度に処理し、型と文脈に応じた意味のある名前を提案します。
Rename がアンダースコアのワイルドカードに対して機能するようになりました。 ワイルドカードパターンを名前付き変数に変える必要がある場合、手動で作業する代わりにこのリファクタリングを呼び出すことができます。 また、名前を提案する際には型と文脈が考慮されます。
Import Type
(型のインポート)が大幅に改善されました。 より幅広いケースで機能し、型を提案する際にパラメーター数が考慮されるようになりました。 また、Rider がソリューションからモジュールか別のプロジェクトを参照することを提案し、そこから型をインポートできるようになりました。
パラメーターリスト内の関数のアプリケーションへの丸括弧の追加、内包する型またはモジュールへの Extension
属性の追加、構文エラーの修正、let から use への変換など、複数の新しいクイックフィックスも追加されました。
高速に動作する冗長な修飾子のアナライザーと、対応する冗長箇所を除去するクイックフィックスを実装しました。
さまざまなシンボルを別々にハイライトするオプションを拡充しました。 また、型の省略形はそれが省略する型としてハイライトされ、関数はメソッドとしてハイライトできます。 いずれも外部の貢献によるものです。Igor Bagdamyan 氏に感謝の意を表します。
Rider が |>
チェーン内の式に型ヒントを表示するようになりました。 チェーン全体を頭の中で追うことなく、状況を追跡するのに役立ちます。 この機能も外部の貢献によるものです。Saul Rennison 氏に感謝の意を表します。
カラー参照がコード内でハイライトされるようになり、視認性が向上しました。
ついに F# Compiler Service モニターが実装されました。こちらも Saul 氏の貢献によるものです。 FCS がビジー状態のときは、インジケーターが表示されます。 これはほぼ診断ツールであり、開発者が IDE が処理中のままになっている原因を把握し、動作が疑わしいと思われる場合に Rider チームに報告して解析を依頼できるようにするものです。
F# サポートの更新に関する詳細については、GitHub 上のリリースノートをご覧ください。
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 プラグインは、Windows 上で Mono/Unity アプリケーションのネイティブ部分をプロファイリングできます。 'Enable native profiling' オプションでセッションを開始すると、ネイティブコールスタックとマネージコールスタックの両方がパフォーマンスのスナップショットに表示されます。
Settings/Preferences | Build, Execution, Deployment | Dynamic Program Analysis | Filtering
でプロセス/モジュール/クラス/メソッドで絞り込み、Dynamic Program Analysis の範囲を限定できるようになりました。
新しいリリースでは、dotCover プラグインに次のようないくつかの便利な機能が追加されています。
Navigate to | Coverage Tree
か Coverage ツールウィンドウのツールバーにある Navigate from Editor
アイコンを使用します)。 npm を使用して Azurite ストレージエミュレーター をインストール(npm install -g azurite
)すると、Azurite ノード が Services ツールウィンドウに追加されます。 そのウィンドウからストレージエミュレーターの起動 / 停止 / 消去を実行できます。
Azure Functions
でタイマートリガーを使用する際は、関数を実行する時間を定義する有効な NCrontab 式を入力する必要があります。 Azure Toolkit for Rider はコード補完機能と作業の開始に役立つ複数のサンプルを提供し、crontab の編集を支援します。
Rider が NCrontab 式の有効性を検証し、潜在的な問題箇所について追加の情報を提供するようになりました。
Rider で Markdown がサポートされるようになりました! Rider 2020.2 には Markdown プラグインが同梱されています。 このプラグインはソリューション内の Markdown ファイルを認識し、専用のエディターを提供し、ライブプレビューに HTML をレンダリングします。
Godot の実行構成が改修されました。 実行、デバッグを行い、Player および Editor 実行構成のプロファイリングで実行できます。 また、プレイヤーとエディターの両方を実行するために使用されるコマンドラインのパラメーター行を編集できます。
また、Solution Explorer ビューのコンテキストメニューから直接個別のシーンに対して実行やデバッグを呼び出せるようになりました。
セル内に巨大な値がある場合に、それを独立したパネルで表示したり、編集したりできるようになりました。 また、右側のツールバーを使用してソフトラップモードを切り替えられるようになりました。 Rider のコードエディターのすべての機能をデータの確認や編集に活用してください!
ブール値をより便利に表示および編集できる手段が追加されました。 true 値が箇条書きでマークされ、他のすべての値と区別できるようになりました。
このバージョン以降、変更を表すクエリをデータエディター内でレビューできるようになりました。 保留中の変更がある場合、DML アイコンが有効になります。 そのアイコンをクリックすると、DML プレビューのダイアログが表示されます。 Rider は JDBC ドライバーを使用してテーブルを更新するため、このクエリは必ずしもデータ変更用の正確な SQL ではありませんが、ほとんどの場合は同じものになります。
Rider 2020.2 でも有効になったデータベースに関するすべての改善点については、DataGrip の新機能をチェックしてください。
新しいスマートなインテンション(Alt+Enter)は、一部のアクションをより高速に実行するのに役立ちます。 例えば、数字インデックスを使った for ループを forEach
配列メソッドにすばやく変換できます。 また、エディター内に JavaScript および TypeScript ファイル内のドキュメントコメントが直接表示されるようになったため、これらのコメントを参照するのが楽になり、集中力の低下を最小限に抑えられるようになりました。
組み込みのフォーマッターの代わりに Prettier を使用してコードを整形したいですか? このアップデートでは、以前よりもはるかに簡単にそれを実現できるようになりました。 JetBrains Marketplace からプラグインをインストールし、Settings/Preferences | Plugins ページ
で新しい On code reformat チェックボックスをオンにすると、IDE が .js
/ .ts
/ .jsx
/ .tsx
ファイルの整形に Prettier を使用するようになります。 その他のファイルタイプも簡単に追加できます。
私たちは過去 1 年間で Nuxt.js のサポートと Vue 固有のコードスタイル設定を追加し、TypeScript プロジェクトでの Vue 関連の改善やその他多数の更新を行いました。 Rider の Vue サポートがかつてないほど高度になりました!
Rider 2020.2 でも有効になったウェブ開発に関するすべての改善点については、WebStorm の新機能をチェックしてください。
このリリースでは Conflicts ダイアログが再設計され、Refactorings インターフェース内の単独のステップになっています。 従来の単純なリストはファイルごとにグループ化されたツリーに置き換えられています。 単純なリストに戻すには、右のツールバーにある Flatten アイコンをクリックしてください。
式に対して Introduce parameter または Introduce field リファクタリングを呼び出す際、Rider は式のどの部分にリファクタリングを適用するかを確認します。
注目すべき更新内容は以下のとおりです。
.Designer.cs
” ファイルが存在しない場合、Rider がエラーを表示する代わりに当該ファイルを生成するようになりました。 ProjectReferences
がサポートされるようになりました。 無料30日間体験版