Rider 2021.1 では、プロジェクトで Docker をサポートするのがはるかに簡単になりました。 ウェルカム画面から直接 .NET のプロセスに接続し、デバッガーのヒントを通してプロセスのデバッグに介入できるようになりました。 ASP.NET 開発者向けには、Identity と “CRUD” Entity Framework、ルートテンプレート解析を含むスキャフォールディングを追加しました。 パターンとレコードのサポートを中心に、C# のサポートに関する大規模な更新を実施しました。
無料 30 日間体験版をご利用可能です
Rider で新規プロジェクトを作成する際に Dockerfile を生成できるようになったため、Docker を簡単にサポートできるようになりました。 ASP.NET Core Web アプリケーション / ワーカーサービス / コンソールアプリケーションを選択している場合に、New project(新規プロジェクト)ダイアログで Docker Support(Docker サポート)を選択するだけです。
既存ファイルに Dockerfile を追加する場合は、Solution Explorer ツールウィンドウでプロジェクトのコンテキストメニューから Add | Docker Support を使用してください。
Rider は初期状態で Visual Studio が生成した Dockerfile を実行できます。 Dockerfile に Rider との互換性を持たせるために変更を加える必要はありません。
詳細については、「Rider で .NET アプリケーション用の Dockerfile を生成する」を参照してください。
Merge into pattern(パターンにマージ)インスペクションがより多くのコードパターンを処理できるようになりました。
null チェックと他のチェックを単一のパターンチェックに融合します.
チェックを conditional?.Access
式からネストしたパターンマッチングに書き換えます.
複数のチェックをマージして if
ステートメントのネストを減らします.
さらに、単純な var (a,b)
分解パターンの中にあるパターンを完全な形に展開してマージできます.
C# 9.0 のレコードに対するサポートを拡充しました。
File Layout(ファイルレイアウト)や XML ドキュメントに関連する機能と同様に、Extract interface(インターフェースの抽出)および Extract superclass(スーパークラスの抽出)リファクタリングが record の宣言で機能するようになりました。
新しいインスペクションとアクション一式を考案しました。 record 宣言内のプロパティ向けのRedundant explicit property declaration(冗長かつ明示的なプロパティ宣言)は、位置パラメーターと暗黙的なプロパティ宣言を含むレコードを使用するようにコードを移行する場合に非常に役立ちます。 対応するクイックフィックスである Remove explicit property(明示的なプロパティの除去)も追加されています。
他にもコードを整理するための機能があります。Redundant 'record' type declaration body(冗長な 'record' 型宣言の本文)インスペクションと対応するクイックフィックスは、空の record 型宣言の本文をセミコロンに置換します。
Deconstruct()
メソッドに書き換える必要があるときは、To explicit constructor(明示的なコンストラクターへ)コンテキストアクションの使用を検討してください。 Deconstruct()
メソッドの使用箇所を検索できるようになりました。 新たに導入されたインスペクション、Inline temporary variable(一時変数のインライン化)をご紹介します。
プログラム内でいつの間にか同じ値を名前を変えて何度も繰り返して使用している場合があります。 このようなコードをより明瞭にすることはできるのでしょうか? Rider なら可能です。 また、一時変数を他の値に初期化したり、コード内で後から変更したりする必要がある場合にバグを発見することもできます。
名前付きタプルは C#7 から対応していますが、コンポーネントの名前変更は手動で行わなければなりませんでした。 今後は、その必要はありません。リファクタリングを呼び出せるようになりました。
論理的な not
パターンは、型チェックの可読性を大幅に向上させます。 Rider は not
パターンを優先して !()
構文を破棄することを提案します。
C# 10.0 のサポートに関する最初の一歩として、Rider が「定数文字列補間」機能を処理できるようにしました。
Slice
と Substring
の代わりに範囲演算子の使用を提案するようになりました。 ASP.NET MVC / ASP.NET Web API / Razor Pages を使用している開発者に朗報です! ASP.NET Core プロジェクト向けにスキャフォールディングの仕組みを追加しました。
Rider は、Areas / Controllers / Razor Pages / Views / Identity のスキャフォールディングをサポートしています。例えば、Entity Framework を使用するためのフル CRUD 操作に対応した定型ソースコードを生成できます。
この機能は、Windows / Linux / macOS に対応しています。
Rider uses dotnet aspnet-codegenerator under the hood.
詳細については、「Rider 2021.1 が ASP.NET Core プロジェクトのスキャフォールディングに対応」を参照してください。
ルートテンプレートは、MVC アプリケーションで HTTP リクエストとアプリケーションの実行可能なエンドポイントとの一致方法を構成するために幅広く使用されています。 バージョン 2021.1 では、ルートテンプレートのサポートを開始しました。 これにより、Rider がルートテンプレートに対応したコード補完、構造ナビゲーション、インスペクション、クイックフィックスを提供できるようになりました。 以下の更新が含まれています。
詳細については、「ReSharper の新機能」を参照してください。
公開前にフォルダー内の既存ファイルを削除するオプションを使用できるようになりました。 ファイルをあちこちへ移動する場合などに、不要なデータがあふれかえるのを防ぐことができます。 このオプションが有効な場合、Rider によって指定した場所が完全にクリーンアップされますのでご注意ください。
Rider に MDN ドキュメントがバンドルされるようになりました。 これによって MDN の Web サイトとの接続に関する問題を回避し、エディター内に HTML / CSS / JavaScript ファイルをより高速に表示できるようになります。 また、エディター内に表示されるドキュメントの情報がさらに拡充されました。例えば、JavaScript API のサポート対象ブラウザーバージョンに関する情報を確認できます。
Stylelint による CSS コードのインスペクションがより簡単になりました。 数回クリックするだけで、このリンターを使用して問題箇所を修正できます。 ファイル内の問題箇所にマウスカーソルを合わせるか、キャレットを配置したあと、Alt+Enter を押してから Stylelint: Fix current file(Stylelint: 現在のファイルを修正)を選択するだけです。
また、Preferences / Settings | Languages & Frameworks | Style Sheets | Stylelint では構成ファイルのパスを指定できます。
スタイルシートを操作する際、調べたいセレクターにマウスカーソルを合わせるだけでセレクターの詳細度をチェックできるようになりました。 あるいは、セレクターにフォーカスがある状態で F1/Ctrl+Q を押し、この情報をドキュメントポップアップに表示することもできます。
HTML ファイルをすばやくプレビューできる、新しい組み込みのブラウザープレビューを追加しました。 プレビューを開くには、エディターの右上にあるウィジェットの Rider ロゴアイコンをクリックしてください。
ウェルカム画面から直接 .NET プロセスに接続できるようになりました! 先にソースコードを含むソリューションを開く必要はありません。 ウェルカム画面で Attach to process(プロセスに接続)タブを選択し、リストから目的の .NET プロセスを選択すると、Rider がそのプロセスのデバッグを開始します。
Rider のデバッガーが対話型ヒントに対応しました! エディター内のヒントは状況の確認に役立つだけでなく、デバッガーのヒントを通してデバッガープロセスに介入して操作することも可能にします。 対話モードに切り替えるには、ヒントをクリックして Set Value(値の設定)を選択してください。 自動補完を利用して生データを入力したり、他の値を使用したりできます。 ショートカットも提供されています。
デバッガーのヒントは、Settings | Build, Execution, Deployment | Debugger | Data Views の Show values inline(値をインラインで表示)設定で有効にできます。
Rider 2021.1 は Unity プロジェクトに関するより多くのコンテキストを提供するため、すでに Rider が Unity 向けに提供している多くの革新的な機能を利用しています。 Unity がアセットのコードを使用している箇所はどこでしょうか? Update から各フレームで呼び出されるパフォーマンス的に重要なコードパスは何でしょうか? どうすればコードをより適切にデバッグ、テスト、カバーできるでしょうか?
Rider では Unity がシーン / アセット / プレハブ内のコードを使用している箇所を表示し、使用箇所を Unity Editor 内で直接ハイライトさせることができます。
Rider 2021.1 ではこの機能を拡張し、新たにアニメーションアセットをサポートしています。また、プロパティとメソッドの使用箇所をアニメーションコールバックとして表示します。
Rider は、Unity のマジックストリングに対応したコード補完と検証機能を提供します。 また、タグ / レイヤー名 / シーン / コルーチンをすでにサポートしていますが、Rider 2021.1 ではアニメーション状態の値を新たにサポートしています。
旧バージョンの Rider では、メソッドがパフォーマンス的に重要 / 呼び出し頻度が高い / Burst コンパイル済み、のいずれかとしてハイライトされていましたが、その理由は常に明確であるとは限りませんでした。
Rider 2021.1 では、ホットパスで呼び出されて Update
メソッドに戻るすべてのメソッドを表示したり、最終的にコストの高い既知の Unity API に到達する外向きの呼び出しを追跡したりするためのメニュー項目が追加されています。
Burst コンパイルされたメソッドの場合、Rider は呼び出されたすべてのメソッドを通って Burst コンテキストの先頭に戻るルートを表示します。
Rider はすでに Unity プロジェクト向けの拡張デバッグサポートを提供しており、アクティブシーンオブジェクトの表示、子ゲームオブジェクトとコンポーネントのデバッガービューへの追加に対応しています。
Rider 2021.1 は SerializedProperty インスタンスのデバッグにも役立ちます。 無関係なフィールドはデフォルトで非表示になっており、プロパティの種類に関連する値のみが表示されます。 子プロパティやすべてのシリアル化データを簡単に確認できます。
Unity ベースのユニットテストのサポートを拡張し、Rider がプレイモードテストのコードカバレッジに対応できるようにしました。 コードエディターを離れることなく、Unity の編集モードテストとプレイモードテストの検出、実行、デバッグ、コードカバレッジの表示を実行できます。
より堅牢なメタファイル処理、ログエントリを Unity ツールウィンドウに追加する際のパフォーマンス改善、Unity 関連ファイルのテンプレートをグループ化する処理の改善など、その他多くの軽微な変更と修正も行われています。
Godot Support for Rider プラグインも更新されました。 ゲームプロセスで直接 NUnit ユニットテストを実行し、すべてが期待どおりに動作することを確認できるようになりました。 Follow the instructions in this pull request to make it work in your game today! ご感想は、該当プルリクエストのコメント欄にご記入ください。
Rider for Unreal Engine はまだパブリックプレビューの段階にあり、2021 年後半に Rider の構成要素としてリリースされる予定です。 一般リリースまではこのプレビューを無料で評価することができます。
The Unreal Engine’s Cast for type-safe dynamic casting is now available as a postfix template in code completion. Rider は Unreal Engine に固有な別のリフレクションマクロである RIGVM_METHOD もサポートしています。
Epic Games 社のチームから寄せられたフィードバックと当社の仮説に基づいて修正を行い、Unreal Engine 5 のサポートを開始しました。
C++ に関しては、Include と Type Hierarchies が追加されたほか、Google Test やその他いくつかの C++ ユニットテストフレームワークが新たにサポートされています。
詳細については、こちらを参照してください。
バージョン 2021.1 では、変更をローカル環境に留めたまま、変更を Shelf(シェルフ)にコピーできる Save to Shelf(シェルフに保存)アクションを追加しました。 このアクションはショートカットを使用するか、Search Everywhere(どこでも検索)ポップアップで ‘Save to Shelf’ と入力するとアクセスできます。
Compare with branch(ブランチと比較)ダイアログで、別ブランチのファイルをコピーできるようになりました。 そのためには、コピーしたいファイルを選択し、Show diff(差分の表示)の横にある新しい下矢印アイコンをクリックしてください。
Rider を閉じたり開いたりしても、開いているノードを含む Solution Explorer の状態が記憶されるようになりました。 ソリューションを開き直したり、IDE を再起動したりするたびにノードを手動で展開する必要はなくなりました。
縦に分割されたエディタータブが複数開いている場合、それをダブルクリックしてそれぞれのエディターウィンドウを最大化できるようになりました。
Windows のフォルダー選択ダイアログを改修しました。 今後は選択可能なフォルダーのみが表示されます。
Windows でタスクバーやスタートメニューの Rider アイコンを右クリックして、最近使用したプロジェクトにアクセスできるようになりました。
macOS Big Sur の新しいモーダルダイアログをサポートするようになりました。
Windows Forms デザイナー用の Toolbox マネージャーが全面的に再設計されました。
ウィンドウの左側には、システムやサードパーティのいずれかのコントロールライブラリがコントロールのベンダーごとにグループ化されたリストが表示されます。 リスト内のライブラリを選択すると、中央のペインで特定のコントロールを選択できます。 リストを整理するため、これらのコントロールのみが Toolbox に表示されます。 右側のペインには、選択したコントロールのメタデータが表示されます。
ライブラリ内に非常に多くのコントロールがあり、そのうちの 1 つのみが必要な場合がありませんか? そんな場合でも大丈夫です! 中央のペインにある新しい検索機能を使用すると、コントロールのリストを絞り込み、検索に一致した部分文字列を結果リストでハイライトできます。
最後になりますが、保存時に除去されるコンポーネントや Toolbox に追加されるコンポーネントの数が下にある新しいカウンターに表示されるようになりました。 Apply(適用)ボタンをクリックした後に何が起こるかを不安に思うことはなくなります。
Quick Documentation ウィンドウに構文ハイライトの機能が実装され、コードエディターと同じようにハイライト表示が行われるようになりました。 また、シンボルのクイックドキュメンテーションがマウスオーバー時に表示されるようになりました。
長時間のコーディングでは、最適なフォントを選択することが重要です。 最近追加されたタイポグラフィ設定では、この選択が若干楽になり、個人に合わせて細かく調整できるようになりました。 バージョン 2021.1 では、主なフォントスタイルと太字のフォントスタイルの太さを Preferences / Settings | Editor | Fonts で微調整できます。
WPF および XAML 開発者にとって不可欠なフィードバックの仕組みである XAML プレビューツールを改善しました。
Rider のエディターウィンドウ自体に XAML プレビューツールを配置し、多くの向きとレイアウトのオプションを切り替えるオプションを使用できるようにしました。 プレビューツールの向きは、エディターとは独立して縦または横に変更できます。
注目している要素がハイライトされるようになったため、込み入った UI デザインで特定の UI 要素を検索するのが少しだけ楽になります。
ツールで TabItem インスタンスをクリックスルーできるようになりました。 これにより、複数のタブを持つユーザーインターフェースの制作作業が大幅に改善されます。
XAML プレビューツールは、プレビューを表示する際に DesignHeight や DesignWidth のようなデザインプロパティを考慮します。
XAML プレビューは、Windows 環境で .NET Framework をターゲットとするアプリケーションにのみ使用できます。
詳細については、ブログ記事「Rider 2021.1 における XAML プレビューツールの改善」を参照してください。
次のようないくつかの新しい設定を追加しました。
new()
の前またはその中にスペースを設定するかどうかを指定できるようになりました。 カスタム命名規則については適用順序を更新し、より具体的なものが先頭に来るようにしました。
また、フォーマット選択用に新しい Reindent only(再インデントのみ)アクションを追加しました。 全体的な再フォーマット処理を実行する代わりに、選択したノードのインデント調整のみを実行するように Rider に指示できるようになりました。
EditorConfig は .NET コミュニティで一般的なツールになりつつあるため、同ツールと Rider との連携機能を継続的に改善しています。 改善点は次のとおりです。
csharp_indent_case_contents_when_block
オプションをサポートするようになりました。 ローカル let
バインディングに対応した新しい Inline Variable(変数のインライン化)リファクタリングを追加しました。
Rider が、プロジェクトやビルドで使用されているコンパイラーに基づいて使用可能な言語レベルを計算し、F# のコードをよりモダンかつ最新にするための改善を提案するようになりました。
新しい解析機能とクイックフィックスである To Interpolated String(補間文字列へ)は、printf
形式のフォーマット文字列を F# 5 の補間文字列に変換するためのものです。 Thanks again to Saul for the nice implementation.
冗長な丸括弧の解析と対応するクイックフィックスは、パターン、型、単純な式の中にある丸括弧の処理に役立ちます。 今後のリリースでは、より多くの式の事例をカバーする予定です。
他にも多くのクイックフィックスやリファクタリング、F# のサポートに関する改善点があります。 Please see the full release notes for more details.
Space プラグインを Rider で使用できるようになりました。 ウェルカム画面の右側にある、Get from VCS から JetBrains Space の組織に接続できます。 ログインが完了すると、プロジェクトリポジトリの表示とクローン、チームメイトが書いたコードのレビュー、Space Automation スクリプトの記述を行えるようになります。
オブジェクトを変更する際に権限を編集するための UI を追加しました。
データベースエクスプローラーのユーザーに対して Ctrl+F6 で呼び出せる Modify user(ユーザーの変更)ウィンドウに、オブジェクトに対する権限を付与するための UI が実装されました。
この UI は、PostgreSQL / Redshift / Greenplum / MySQL / MariaDB / DB2 / SQL Server / Sybase に対応しています。
今後、システム関数とプロシージャを修飾子なしで使用している場合にエラーはハイライトされません。 ナビゲーションと補完がこれらに対しても機能するようになりました。
データベースのサポートに関する更新の詳細は、「DataGrip の新機能」ページを参照してください。
ビルド時の NuGet スマート復元を実装しました。 これは、外部で復元が実行されたことをヒューリスティックが検出した場合にビルドアクションで復元を実行するものです。 この機能をオフにする場合は、Settings/Preferences | Build, Execution, Deployment | NuGet | Smart Restore on Build で設定してください。
Rider が最新バージョンの Mono で並列ビルドを実行できるようになりました。 この機能は、Settings | Build, Execution, Deployment | Toolset and Build で有効にできます。
テキスト検索時の Rider による外部依存関係の処理方法を調整できるようになりました。 この機能を使用するには、Find in Files(ファイル内検索)ダイアログで、Scope(スコープ)を選択してから ‘…’ アイコンをクリックします。 すると、Scopes(スコープ)ウィンドウが開きます。External Dependencies(外部依存関係)がスコープに含まれるか、スコープから除外されているかをこのウィンドウで確認できます。 この設定は右側のボタンで変更できます。
構造化されたデータとログの処理に使用できる改行区切りの JSON Lines フォーマットをサポートするようになりました。 IDE は .jsonl、.jslines、.ldjson、.ndjson のファイルタイプを認識します。
このフォーマットのファイルには複数の行が含まれており、各行には JSON オブジェクトが改行文字区切りで記述されています。 行頭と行末にはコンマは必要なく、ファイルの内容全体を角括弧や波括弧で囲む必要もありません。
無料 30 日間体験版をご利用可能です