Rider の新機能

Rider の新機能

Rider 2020.3 は、待望の新しい .NET 5、C# 9、F#5 機能のサポートをもたらします。また、デバッガーのイミディエイトウィンドウとプライベートソースリンク、プロジェクトの依存関係図、プッシュツーヒント、AvaloniaUI フレームワークの言語サポートなどの新機能も導入しました。Unity 開発者は、バースト分析とシェーダーサポートの更新を見つけるでしょう。そして最後に、タブをドラッグアンドドロップして、エディターを好きなように分割できます。

ダウンロード

30 日間の無料トライアル

.NET5 および C# のサポート

.NET5 をサポートする最初の Rider リリースを歓迎してください。サポートには、ソースジェネレーター、C# 9 機能、新しい NuGet 機能、新しいターゲットフレームワーク(net5.0-windows および net5.0)が含まれます。さらに、.NET 5 アプリケーションを作成、ビルド、実行、デバッグ、プロファイリング、カバーすることができます。

ソースジェネレーターは、ほぼ間違いなく、C# コンパイラーで最も話題になっている機能です。理解できることです。コンパイルプロセスで新しいコードを作成してすぐに使用できることはエキサイティングであり、さまざまな状況で役立つ可能性があります。

Rider はここで何ができますか? それは、リファクタリングを実行する際に最善を尽くし、生成されたファイルを考慮に入れ、コードエディター機能を提供し、生成されたコードに移動できます。

部分メソッドは、パラメーター、非 void 戻り型、任意の型のアクセシビリティを持つことができるようになり、ソースジェネレーターでより便利になりました。ソースジェネレーターは、部分メソッドの定義宣言を使用して、生成されたコードの動作をカスタマイズできます。

もう 1 つの優れた追加機能は、init -only プロパティです。このようなプロパティは、オブジェクトの初期化中にのみ設定できます。最後に、プロパティを可変として公開せずにオブジェクト初期化子を使用できます。

Rider は init -only プロパティを認識しており、コードの補完、生成完了の実行、プロパティがどこかで変更されたかどうかの分析、気が変わった場合に変更可能にするためのクイックフィックスを提供するときに考慮に入れます。

init を適用するのに最適な場所は、新しい record タイプです。これらは、不変性を実現するのに役立つ値セマンティクスを持つ参照型ですが、今回はオブジェクト全体に対してです。繰り返しになりますが、Rider は、推奨する宣言スタイルを選択するためのクイックフィックスから基本的な完成まで、言語に対応しています。

位置レコードには、コンパイラーによって生成された Deconstruct() メソッドがあります。Rider は、このようなオブジェクトのすべての分解機能をサポートしています。変数を導入するときのポップアップに注意してください。単一の変数または分解宣言のどちらかを選択できます。関数がレコードオブジェクトのプロパティにアクセスするときにも、同じ選択肢が提供されます。

大事なことから進んで、ローカル関数は属性(およびローカル関数のパラメーターと型パラメーター)を持つことができるようになりました。これは、! または ? をそれぞれ押すことによってメソッドに [NotNull] または [CanBeNull] としてアノテーションを付けるという優れた機能を含む、Rider クイックフィックスによってサポートされています。

もう 1 つの便利な C# 9 の追加は、トップレベルのプログラムを作成する機能です。プログラムクラスとの戦いはもうありません。using ディレクティブの直後にエントリポイントコードを配置できます。トップレベルのステートメントを操作するために利用できるヘルプもいくつかあります。トップレベルステートメントには 2 つのルールがあります。タイプまたは名前空間の前に置く必要があり、プロジェクト内の 1 つのファイルにのみトップレベルコードを含めることができます。コードを再配置してコピーして貼り付けると、どちらのルールも簡単に破られます。Rider は、トップレベルのコードをトップまたは別のファイルに移動することでこれを修正するためのクイックフィックスを提供します。

トップレベルのコードもコードであるため、ローカル変数の抽出およびメソッドの抽出リファクタリングというリファクタリングもあります。

詳細: ReSharper および Rider の C# 9 トップレベルステートメント (英語)

C# 9 のターゲット型の新しい式を使用すると、使用箇所から推測できる場合は、新しいキーワードの後の型を省略できます。Rider は、コンストラクターの使用箇所の検索機能や、優先構文スタイルの構成機能など、この機能を完全にサポートします。後者では、作成された型が明らかな場合は new() 構文を使用でき、それ以外の場合は明示的な型指定を適用できます。

ちなみに、Rider の新しい(しゃれを意図した)タイプ名のヒントは、コード内のすべての new() が制御不能になった場合に役立ちます。

戻り値の型の共分散を使用すると、基本クラスのメソッドの場合と同じように、オーバーライドするメンバーで同じ型を返す必要がなくなります。より具体的なタイプを返すための回避策を実装する必要はなくなりました。

パターンマッチングは、新しい言語バージョンでも進化し続けています。マッチング式により、リレーショナル(<> など)および論理(notorand)パターンを使用できるようになり、古い switch 構造の冗長性の多くが削減されます。Rider は、パターンを分析し、希望のスタイルに書き直すのに役立ちます。

最後に、ラムダ破棄パラメーターが導入されたとき、それらのクイックフィックスを追加するとよいと感じました。

主要な言語のハイライトについては以上です。Rider 2020.3 でもサポートされている言語に追加された小さな改善があります。これには、ターゲット型の条件式、静的ラムダ、foreach の拡張 GetEnumerator メソッド、関数ポインター型、ネイティブ整数型が含まれます。

デバッガー

イミディエイトウィンドウ

コード支援付きの新しいイミディエイトウィンドウの紹介。これにより、プログラムがブレークポイントで停止したときに合成変数を作成し、デバッガーを再起動せずにコードを試すことができます。

デバッグセッションを開始すると、イミディエイトウィンドウが右下のデバッガーペイン内の監視変数に表示されます。アプリケーションが一時停止状態にある場合、通常はブレークポイントに達した場合にのみ、入力を受け入れます。

有効な C# コードを入力し、コード補完の全機能を自由に使用できます。

新しい合成変数を定義します。Rider は、合成変数コレクションの変数ウィンドウでこれらの値を追跡します。他の変数と同じように、これらの変数をインスペクション、固定、変更できます。

使用可能なオブジェクトを引数として使用して、使用可能なオブジェクトのメンバー関数または現在のコンテキストで使用可能な静的関数を呼び出すこともできます。関数の実行パス上のブレークポイントは、通常の呼び出しであるかのように実行を一時停止します。呼び出しには、関数評価から始まるスタックの独自の部分があります。これは、フレームパネルで調べることができます。

ステートメントを変数に割り当てることなく実行します。Rider は、実行ステートメントからの最後の戻り値を $result プレースホルダーに記録します。イミディエイトウィンドウは、すべてのステートメントの履歴を追跡します。

詳細: イミディエイトウィンドウ– Rider でのデバッグ中にコードを操作する (英語)

新規アクション

デバッグが開始されていないときに、新しいデバッガーアクションを使用できるようになりました。

今のところ、デバッグを開始して、目的のメソッドまたはコード内の場所に移動する必要はありません。デバッグを開始し、ここまで実行しますまたはデバッグを開始し、ここまでノンストップで実行しますを使用する場合、Rider はブレークポイントをスキップしてそこに移動します。

アプリケーションのデバッグを開始し、最初から実行を停止する場合は、アプリケーションのエントリポイントに到達したらすぐに、デバッグを開始してステップオーバーまたはデバッグを開始し、ステップインしますアクションを使用します。

これらのアクションは、メインメニューの Run | Debugging Actions にあります。

上記のアクションは、.NET プロジェクト構成 /.NET 静的メソッドでのみ使用できることに注意してください。

プライベートソースリンク

「プライベートソースリンク」という用語に精通している人にとっては朗報です。Rider 2020.3 は、デバッガーと組み込み逆コンパイラーの両方でプライベートソースサーバーを完全にサポートするようになりました。Rider は、GitHub、GitHub Enterprise、BitBucket、Azure DevOps(以前の VSTS)にあるソースをサポートします。

Rider は、将来簡単にアクセスできるように認証資格情報を保存できます。

その他のデバッガーの更新

  • out および ref パラメーターを持つメソッド、またはパラメーターリストに out 変数を宣言するメソッドの評価を実装しました。
  • IEnumerable シーケンスの列挙を大幅に高速化しました。
  • ' 見る ' リンクは、プレゼンテーションが非常に長いオブジェクトに対して正しく表示されるようになりました。
  • 長い文字列は、値をコピーするときに切り捨てられなくなり、評価が最適化されました。

プロジェクト依存関係図

新しいアーキテクチャツールは、ソリューション内のプロジェクトの依存関係を視覚化し、そのアーキテクチャを調査できます。

ダイアグラムを調べる

プロジェクトの依存関係図は、Tools | Architecture | Show Project Diagram またはソリューションエクスプローラーのコンテキストメニューから開くことができます。これはソリューションの構造に従い、ソリューションのすべてのトップレベルのアイテムを表示することから始まります。表示するプロジェクトまたはソリューションフォルダーを選択し、スケールを変更し、グリッドを有効にし(必要に応じて、グリッドにスナップするオプション)、特定のプロジェクトにアノテーションを付けるためのメモを追加できます。

ナビゲーション

Windows では Ctrl + F を使用し、macOS では Cmd + F を使用して、焦点を当てたいプロジェクトを見つけます。
選択したノードの隣接ノードを表示ツールバーボタンは、選択したノード、その直接の依存関係、このプロジェクトに依存するプロジェクトへのプロジェクト依存関係図をフィルタリングします。

大規模なプロジェクトの依存関係図の場合は、ファイル構造ツールウィンドウ(View | Tool Windows | Structure)を開き、高レベルの概要を使用してパンすることができます。

プロジェクト間の結合を分析する

ツールバーのカップリング分析を有効にするアイコンをクリックして、分析を実行し、図を更新します。リンクの太さ、色、スタイルは、プロジェクト間の結合がどの程度緊密であるかによって異なります。リンクにカーソルを合わせると、Rider に正確な使用回数を示すツールチップが表示されます。リンクをクリックすると、依存コードに関する詳細が収集され、別のツールウィンドウに表示されます。

プロジェクトの依存関係図では、推移的なものを表示する依存関係もできます。これにより、プロジェクトの直接および間接の両方の依存関係がレンダリングされます。

スナップショットを保存して比較する

ツールバーからプロジェクト依存関係図のスナップショットを保存し、それを現在のソリューションと比較します。 Tools | Architecture | Compare With Saved... メニューを使用して、以前に保存したスナップショットをロードしてインスペクションします。Rider は、図間の違いをハイライトします。

詳細: プロジェクトの依存関係図が Rider 2020.3 に登場 (英語)

ダイアグラムのエクスポート

ツールバーから、図をイメージとしてエクスポートして、ドキュメントに含めることができます。

ゲーム開発

Unity

Rider 2020.3 は、バースト分析、シェーダーサポート、単体テストの更新、いくつかの役立つ修正を含む、Unity サポートのもう 1 つの優れたリリースをもたらします。

Unity の [MenuItem] 属性でマークされたメソッドの横にあるアイコンをクリックすると、Rider は Unity に IDE から直接メソッドを呼び出すように指示します。

Rider のシェーダーのスマートサポートがアップグレードされ、コードを分析するときに、shader_feature や target などのプラグマからの定義シンボルが自動的に使用されます。ステータスバーに新しいコンテキストピッカーがあり、シェーダーが含まれている場所で定義されたシンボルに基づいてシェーダーを分析します。

新しい CodeVision インジケーターと、SharedStatic の誤った使用に対する新しい警告により、バーストコンテキスト分析が改善されました。 Alt + Enter メニューを使用して、[BurstDiscard] 属性をすばやく追加することもできます。

新しいコンテキストアクションにより、Update などのパフォーマンスが重要なメソッドの分析をより適切に制御できます。Rider に、メソッドを頻繁に呼び出されるものとして扱うのを停止か、メソッドを高負荷なものとしてハイライトするのを停止ように指示できるようになりました。また、任意のメソッドから新しいパフォーマンスコンテキストを開始することもできます。

単体テストには、[Explicit] 属性のサポートとパラメーター化されたテスト機能を備えた、いくつかの優れた新しい更新も含まれています。1 回のテスト実行で編集モードと再生モードの両方のテストを実行することもできます。

Unity ログビューアーツールウィンドウには、いくつかの便利な UI の改善が加えられました。特に、ゲームを最後にプレイモードに切り替えた時間、またはゲームの AppDomain が最後に再ロードされた時間に基づいてフィルタリングする機能があります。

そしてもちろん、Unity エディターに接続されていないときの無限の「リフレッシュソリューション」メッセージの修正や、冗長なイベントメッセージを削除するための新しいクイックフィックスなど、多くの問題を修正しました。また、プレーヤープロジェクトの誤った C# 言語の提案も解決しました。詳細については、変更ログ(英語)を参照してください。

Unreal Engine 早期プレビューの Rider

Unreal Engine 用の Rider はまだ公開プレビュー段階にあり、2021 年に Rider の一部としてリリースされる予定です。公開リリースまで無料でプレビューを評価できます。

Unreal Engine 用の Rider は、UnrealHeaderTool(英語) とのシームレスな統合を提供し、エディター(英語)UnrealEngine(英語) 固有のコードの問題をより多くキャッチできます。Unreal Engine プロジェクトを操作する場合、他のインスペクションと同様に、編集中のファイルに対して UnrealHeaderTool が自動的に実行され、エラーや警告が表示されます。

UnrealHeaderTool 統合の実際を参照してください (英語)

制御フロー分析の全機能が HLSL シェーダーファイルに提供されるようになりました。到達不能コード、初期化されていない変数、冗長な制御フロージャンプ、条件付きブランチなどについて警告します。メインの Rider では、v2020.3 の Unity シェーダーに対して同じ分析が有効になっています。

Unreal Log にフィルターを追加したため、Unreal Engine 用の Rider では、詳細度とカテゴリでフィルター処理できるようになり、タイムスタンプを表示または非表示にできます。Unreal ログパネルにメッセージが多すぎると UI がフリーズする問題を修正しました。

UnrealLink/ RiderLink(英語) プラグインは、JetBrains Rider と EpicGames の UnrealEditor 間の高度な統合を可能にします。現在、JetBrains マーケットプレイスでホストされており、製品ビルドとは関係なく更新できます。

F# サポート

F#5 の機能

新しい文字列補間構文のサポートが導入されました。これで、文字列を $ 記号でマークして補間し、文字列リテラル内にプレースホルダーを配置できます。プレースホルダーの「型付き補間」構文(%s および %d)もサポートされています。

このリリースでは、F# のほぼすべてのシンボルをその名前に変換するのに役立つ nameof キーワードのサポートが追加されています。

最後になりましたが、open type 宣言もサポートされるようになりました。open 型宣言を使用すると、任意の型を「開く」ことができ、型内に格納されている静的コンテンツをインポートできます。

その他の機能と改善

クイックフィックスとコンテキストアクションの両方を使用して、型とインターフェースの実装で欠落しているオーバーライドを生成できるようになりました。アイデアと最初の実装をしてくれた Matt(英語) に感謝します !

コードの可読性を向上させるために、構文がハイライトされた新しいツールチップがあります。素晴らしい実装をしてくれた Saul(英語) に感謝します。

レットバインディングタイプにアノテーションを付ける新しいコンテキストアクション。繰り返しになりますが、マットに特に感謝します。

ReSharper バックエンドによって提供されるアナライザーの重大度を構成する機能を追加しました。ほとんどの警告 / エラーは引き続き FCS によって生成されることに注意してください。

新しいアナライザーとクイックフィックス:

  • Lambda は単純化するか、組み込みの関数アナライザーに置き換えることができます。
  • 冗長アプリケーションアナライザー、例: 無視するものがない場合は、冗長な Ignore 呼び出しを削除します。
  • コードスタイルを改善するための冗長パターンアナライザー。
  • 名前空間をモジュールに変換するためのクイックフィックス。

入力支援:

  • メソッド呼び出しでの Enter の動作が改善されました。
  • 新しい「SurroundwithQuotes」をサポートします。

モジュール / タイプ名に一致するようにファイルの名前を変更するアクションがあります。

デバッガーは、非同期ワークフローでローカル変数をより適切に追跡するようになりました。

UI/ UX の改善

新しいウェルカム画面

ウェルカム画面を再設計して、より明確でモダンなものにしました。それでもまったく同じ機能を備えていますが、より適切に構成されています。プロジェクトを管理したり、チュートリアルを開始して Rider について新しいことを学んだり、新しいソリューションを作成したり、既存のソリューションを開いたり、VCS からソリューションを入手したりすることができます。

ソリューションエクスプローラーで検索

「真の」検索は、ソリューションエクスプローラービューに表示されます。ファイル、フォルダー、プロジェクト、参照、アナライザー、インポート、パッケージなど、ソリューションツリー内のすべてのノード(現在は折りたたまれたノードでも)を調べて、検索クエリのすべての発生を示します。キーボードショートカットまたはツールバーのアイコンを使用して、1 つずつ確認できます。検索フィールドを開くには、Ctrl + F ショートカットまたはツールバーの虫眼鏡アイコンを使用します。

タブをドラッグアンドドロップする

プロジェクトの作業中に複数のタブを開きたい場合は、ファイルタブをドラッグアンドドロップして、エディターを水平方向または垂直方向に分割できるようになりました。

右に分割して開く

ファイルを開くとエディターを垂直方向に分割するファイルの右に分割して開くアクション(View | Open in Right Split または Shift + Enter)を導入しました。最近使用したファイルどこでも検索ナビゲーションバーなどのファイルが選択されたときに、エクスプローラービューまたは他のナビゲーションポップアップからアクションを呼び出します。

固定されたタブ

固定されたタブ用の新しいピンアイコンがあります。それをクリックすると、ファイルの固定が解除されます。タブを他の固定または固定解除されたファイルの上にドラッグアンドドロップして、タブを固定および固定解除することもできます。多くのタブを開く傾向がある場合は、固定されたすべてのタブを 1 行にまとめることができます。これを行うには、Preferences/Settings | Editor | General | Editor Tabs に移動し、Show pinned tabs in a separate row チェックボックスをオンにします。

ツールチップでの構文のハイライト

ツールチップポップアップに構文のハイライトを実装して、内部のコンテンツを読みやすく、理解しやすくしました。

プレビュータブ

これで、シングルクリックでプレビュータブでファイルを開くことができます。プレビュータブでファイルを開くと、その名前が斜体で表示されます。このファイルの編集を開始すると、プレビューではなくなり、通常のファイルになります。この機能を有効にするには、プロジェクトビューで歯車アイコンをクリックし、プレビュータブを有効にするを選択します。

タッチバーでアクションをビルドする

macOS ユーザー向けのタッチバーにビルドアクションを追加しました。

バージョン管理

Rider から直接変更をステージングできるようになりました。コミットビューで新しい段階的なノードにファイルを追加するには、+ アイコンをクリックします。ガターから、または差分ビューで変更をステージングすることもできます。この機能を有効にするには、Preferences/Settings | Version Control | Git に移動し、ステージングを有効にする領域チェックボックスをオンにします。詳細については、このブログ投稿をお(英語)読みください。

どこでも検索ダイアログに新しい Git タブを追加しました。どこでも検索ダイアログで、コミットハッシュとメッセージ、タグ、ブランチを見つけることができるようになりました。

ブランチを使用するためのいくつかの改善を行いました。Rider は、現在選択されているブランチで使用可能なすべてのアクションを表示するようになりました。現在のブランチにマージアクションと選択したブランチで現在のブランチをリベースアクションは、それぞれマージを使用して現在のブランチにプルリベースを使用して現在のブランチにプルに名前が変更されました。

その他の VCS アップデート:

  • これで、VCS メニューの名前が、現在使用しているバージョン管理システムの名前と一致するように変更されました。
  • パッチが Git 形式で作成されるようになりました。

プラグイン

動的プログラム分析 (DPA)

Dynamic Program Analysis プラグインは、macOS および Linux for .NET Core アプリケーションで利用できるようになったため、Windows だけではなくなりました。.NET Core3.0 以降を対象とするアプリケーションで使用できます。

DPA プラグインは、デバッガーが実行中のプロセスに接続されている場合に、メモリ割り当てを分析できるようになりました。

Azure DevOps

Azure DevOps プラグインは、新しいサーバーワークスペースを作成したり、既存のワークスペースをインポートしたりできます。

dotCover

dotCover プラグインを使用すると、Windows、macOS、Linux 上の .NET5 を対象とするアプリケーションのカバレッジ分析を実行できます。

単体テストのカバレッジウィンドウでは、ターゲットフレームワークでカバレッジ結果をフィルタリングできます。

コードエディターで dotCover によって提供されるハイライトは、プラグイン設定またはハイライトレベルの構成ポップアップで切り替えることができます。

継続的テストセッションがトリガーされたときに構築するプロジェクトを定義できるようになりました。これにより、継続的なテストセッションをスピードアップできます。

dotTrace

パフォーマンスプロファイラーを使用すると、Windows、macOS、Linux 上の .NET5 アプリケーションのプロファイルを作成できるようになりました。

パフォーマンスプロファイラーにフレームグラフを追加しました。これは、遅いメソッドをより迅速に見つけることができるコールツリーの視覚化です。

Rider 用の dotTrace プラグインには、以前は dotTrace のスタンドアロンバージョンでのみ使用可能であったコールツリーフォールディング機能が含まれるようになりました。ユーザーモジュールおよびアセンブリに属していない呼び出しのチェーンを折りたたむことにより、呼び出しツリー分析を簡素化できます。

Azure Rider 用ツールキット

Rider で Azurite ストレージエミュレーターを使用する場合、キューストレージを探索できるようになりました。メッセージの追加、メッセージの内容の表示などを行うことができます。

テーブルストレージエミュレーターで新しい Azurite3.9 アルファバージョンを実行するための初期サポートも追加しました。

Azure 関数プロジェクトでは、実行 / デバッグ構成がプロジェクトのコンテキストメニューに表示され、アクセスしやすくなっています。また、Azure Explorer ツールウィンドウのコンテキストメニューを再編成して、一般的なアクションをより迅速に実行できるようにしました。

Rider 用 AWS ツールキット

  • Amazon Elastic ContainerRegistry の基本的なサポート。
  • .NET Core 3.1 Lambda 関数のローカルデバッグのサポート(SAM CLI バージョン 1.4.0 以降が必要)。
  • S3 バケットのリストは、以前よりも大幅に高速に読み込まれます。
  • Rider 2020.1 は、プラグインを使用するための最小バージョンになりました。2019.3 のサポートは非推奨になりました。
  • マーケットプレイス(英語)で詳細を参照してください。

Markdown

Markdown ツールのプレビュー UI が改善され、UX が改善されました。 Preferences | Settings | Editor | Code Style | Markdown で Markdown 形式をカスタマイズできます。エディターの右上隅にある自動スクロールプレビューボタンを使用すると、プレビューペインとエディターのスクロールを同期できます。Mermaid.js(英語) のサポートも追加しました。

コードエディター

インレイヒント

インレイヒントの力を信じていますが、環境をできるだけ清潔に保ち、整頓する必要があることもわかっています。両方の長所を維持するためのインレイヒント用の新しい「Push-to-Hint」メカニズムを考案しました。

Push-to-Hint 可視性モードでは、デフォルトではインレイヒントは表示されません。 Ctrl を長押しすると表示され、Ctrl キーを離すと非表示になります。

非常にきめ細かい設定を提供しました。Rider に、常に有効にする必要があるヒント、プッシュ時に表示する必要があるヒント、および実際には気にしないヒントを指示できます。ヒントタイプごとに「可視性」設定を使用します。

ここで取り組んだもう 1 つのことは、暗黙的な型キャストのヒントです。このようなキャストは、データの損失やパフォーマンスの低下を引き起こす可能性があり、Rider は、暗黙的なキャストが発生している場所を示すことができるようになりました。

ファイルヘッダー

ファイルヘッダーのテンプレートを Preferences/Settings | Editor | File Header Template で指定できるようになりました。これを使用して、コピーライト表示、会社情報、現在のユーザー名などを追加できます。

コードスタイルとフォーマット

コードエディターからフォーマット設定を検出して構成するための待望の機能を追加しました。コードを選択し、Alt + Enter を押してから、フォーマットの選択 / 構成またはフォーマット選択 / フォーマット設定の検出を選択します。Rider は、これらの特定の行に影響を与えるすべての設定のリストを含むウィンドウを表示します。デフォルトとは異なる値がハイライトされます。また、「変更された値のみを表示する」オプションを使用して、異なる値を表示することもできます。

詳細: Rider を使用したコードフォーマットルールの自動検出 (英語)

引き続き、フォーマットエンジンにさらに詳細な設定を追加します。これは、このリリースで追加したものです。

  • プロパティパターンを配置するための設定により、Rider に、単純なパターンを 1 行に配置するように指示し、長いパターンをどのようにラップするかを指定できます。列のプロパティパターンを揃える設定もあります。
  • プロパティまたはイベントアクセサーの周囲に空白行を追加できるようになりました。
  • Visual Basic .NET の場合、単項 +/- 演算子の後にスペースを追加するオプションがあります。

Preferences/Settings | Editor | Code Style | C# | Syntax Style タブのデフォルト値に適した構文スタイルを選択するオプションを追加しました: defaultdefault(T)

.editorconfig サポートにはいくつかの更新があります。

  • .editorconfig へのエクスポートでの新しい「「=」周辺のスペース」パラメーター。その値は既存のファイルに対して自動検出され、新しいファイルに対して手動で設定できます。デフォルトでは「true」に設定されています。
  • Roslyn プロパティの読み取りのサポート: file_header_templatesdotnet_sort_system_directives_firstdotnet_separate_import_directive_groups

Tab キーを使用して、現在のコード行のインデントを調整できるようになりました。この機能を使用するには、タブキーを Emacs タブアクションに割り当てます。

アバロニアサポート

コード解析

すべての WPF のようなフレームワークで一般的であるように、コード分析は、C# 分離コードファイルと「可能性のある「System.NullReferenceException」」および「クラス / プロパティ {...} は廃止されました: {...} を使用してください」を含む .axaml ファイルの両方に適切なクイックフィックスを備えた多くの一般的なコードインスペクションを提供します。

一般的な WPF インスペクションに加えて、「リソースへのパスで大文字と小文字が区別される」や「ColumnDefinitions タグを属性に変換できる」インスペクションなど、Avalonia 固有のインスペクションが多数あります。後者の場合、ColumnDefinitions="*,Auto,*" 属性にコンテキストアクションがあり、それを <Grid.ColumnDefinitions> タグに変換し直します。

Avalonia バインディングの $self$parent^# 構文の適切なサポートと、$parent[] 配列のインデックスの適切な検証を追加しました。

CompiledBinding および x:CompileBindings 拡張の拡張サポートがあります。Rider は、ここでデータ型が必要であることを認識しており、コードのバインディング用にデータ型を指定するように求めます。

「使用箇所から作成」クイックフィックスは、あらゆる種類の Avalonia プロパティで利用できます。

Avalonia XAML のサポートには、CSS のようなスタイリングシステムの理解が含まれます。

インレイヒントは、見ているコードをよりよく理解できます。

コード補完

コード補完とパラメーター情報は、すべての XAML キーワード、あらゆる種類のマークアップ拡張機能、x:NameStyle プロパティ、StyleIncludeSource プロパティなどで利用できます。

ナビゲーション

コンパイルされたバインディングデータ型、バインドされたプロパティ、Avalonia コントロールタイプ、および x:Name 宣言に簡単に移動できます。Rider は、XAML から、スタイル setter プロパティを含む逆コンパイルされた外部コード、および参照される xmlns 名前空間に直接移動することもできます。

使用箇所の検索

使用箇所の検索は、メソッドバインディング、x:Name 属性、Style クラスと setter、およびあらゆる種類のプロパティのすべての使用箇所を見つけるのに役立ちます。

リファクタリング

名前の変更とセーフ削除のリファクタリングは、Avalonia XAML コードのあらゆる種類の使用箇所を認識し、それに応じて更新します。

階層とコード構造

AvaloniaXAML コードの階層と構造を確認できます。

Web 開発

Blazor のサポート

Blazor のサポートは引き続き追加されます。この反復は、ジェネリック型パラメーターとその使用箇所からの型推論をサポートし、ソリューションを開く際のパフォーマンスの低下を排除することに関するものでした。修正された問題の完全なリストについては、公開(英語)されているバグトラッカー(英語)を参照してください。

TailwindCSS のサポート

Rider は、TailwindCSS をより生産的に使用できるようになりました。 Preferences / Settings | Plugins から TailwindCSS プラグインをインストールすると、IDE が Tailwind クラス(英語)を自動補完し、マウスオーバーで結果の CSS のプレビューを表示し、tailwind.config.js ファイルを使用して行ったカスタマイズをサポートします。

使用箇所から React コンポーネントを作成する

コードに未解決の React コンポーネントがありますか? キャレットをその上に置き、Alt + Enter を押して、リストからクラス / 関数コンポーネントを作成するを選択します。Rider は、関連するコード構造を作成します。

その他の注目すべき改善点は次のとおりです。

  • JavaScript および TypeScript ファイルの場合、ナビゲーションバーで現在のファイルの特定のコード要素にジャンプできるようになりました(詳細(英語))。
  • CSS と HTML を使用したテンプレートリテラルのフォーマットの改善(これはかなり具体的ですが、関連する問題にはかなりの票がありました–詳細情報(英語))。
  • pnpm の完全サポート(詳細(英語))。

Rider 2020.3 でも利用できるすべての Web 開発の改善については、WebStorm の新機能を確認してください。

データベースのサポート

MongoDB の SQL

SQL を使用して MongoDB データベースにクエリを実行できるようになりました。これを可能にする独自の JS-SQL トランスレータを作成しました。

SELECT クエリのみが機能し、機能するのは JOINWHEREGROUP BYHAVINGORDER BYLIMITOFFSET です。サポートされているものに関する完全な投稿はこちらです。

Couchbase のサポート

新しいデータベースをファミリーに歓迎することを常に嬉しく思います。最新のメンバーは Couchbase です。Rider は、Couchbase Analytics サービスではなく、CouchbaseQuery サービスをサポートしていることに注意してください。

Azure AD 認証

これで、Azure AD を使用してデータベースにログインできます。

Rider 2020.3 でも利用可能なすべてのデータベースの改善については、DataGrip の新機能を確認してください。

その他の更新

ユニットテスト

ユニットテストは、Alt + Enter メニューを介してコードエディターから直接特定のターゲットフレームワークに対して起動できます。

ユニットテストの実行結果をユニットテストセッションタブからエクスポートできるようになりました。

Xamarin

「情報プロパティリスト」ファイルを介して iOS プロジェクトを構成することに時間を費やす人のために、すべてのプラットフォームの Xamarin.iOS プロジェクトに Info.plist 用の新しいリッチエディターがあります。これらのファイルを編集するために Xcode を開く必要はもうありません。

その他

  • ファイルとして保存されている実行構成が、実行構成フォルダーのソリューションアイテムに追加されるようになりました。これにより、Rider はカスタムフォルダーに保存されている実行構成で正しく機能します。
  • これで、実行構成テンプレートをファイルとして保存し、VCS を介して共有できます。
  • また、SearchEverywhere 検索フィールドに簡単な数式を評価する機能も追加しました。
  • IDE テーマは、Windows および macOS の OS 設定と自動的に同期できます。 Settings | Appearance & Behavior | Appearance | Theme で OS と同期オプションを有効にします。
  • 貪欲なインスペクション計算をオフにしたおかげで、ソリューション全体のエラー分析のパフォーマンスが約 25% 向上しました。
ダウンロード

30 日間の無料トライアル