Rider の新機能

Riderの新機能

Rider 2020.1は、macOSとLinuxのデフォルトで.NET Coreランタイムでバックエンドを実行し、Xamarinホットリロードと動的プログラム分析を提供します。エディターの重大度を設定する簡単な方法を紹介し、整数値のデータフロー分析とより高速なコード補完を追加します。デバッグウィンドウが改善され、クラス抽出リファクタリングとカバレッジフィルターが利用できるようになりました。

ダウンロード

30日間の無料トライアル

The backend runs on .NET Core runtime on macOS and Linux

.NET Coreランタイムでバックエンドを実行

Rider .NET Coreエディションにようこそバックエンドは、Monoランタイムではなく、macOSおよびLinuxのデフォルトで最終的に.NETコア ランタイムで実行されます。すぐに気づくでしょう:

  • よりよい性能。
  • より低いメモリフットプリント。
  • NuGetの復元がマルチスレッドになりました(Monoのようなシングルスレッドではありません)。つまり、4つのロジックコアを搭載したCPUを使用している場合は4xが高速になり、8つのロジックコアを搭載したCPUを使用している場合は8xが高速になります。…ポイントを取得します。
  • そして、他の多くのMono制限の解体。

ちなみに、現在の.NETコアバージョンは最新かつ最高の3.1であり、3.0バージョンと比較してパフォーマンスが大幅に向上しています。

現時点ではWindowsサポートはなく、macOSとLinuxのみがサポートされていることに注意してください。今年後半にWindowsサポートを追加する予定です。

Monoから.NET Coreへの移行についてさらに詳しく知り、パフォーマンスチャートを表示しますか? このブログ投稿(英語)をチェックしてください!

.NET Coreで実行されているRiderバックエンドで問題が発生し、Monoランタイムに戻りたい場合は、ヘルプ | IDEランタイムをMonoに切り替えるを選択します。何か問題が発生した場合は、忘れずにお知らせください。

Xamarin Hot Reload

Xamarinホットリロード

Xamarinホットリロードの初期サポートはこちらです! Riderは、Xamarin Forms XAMLで行われた変更を、アプリケーション全体を再ビルドして再デプロイすることなく、デバイスまたはシミュレーターでデバッグしているアプリケーションに自動的に適用します。

制限がありますためご了承ください : Riderを搭載したPC /ラップトップとiOSデバイスが同じWiFiネットワークにない場合、iOSデバイスがUSBを介してPC /ラップトップに接続されていても、ホットリロードは機能しません。

それとは別に、Xamarinサポートには重要な修正が1つあります。iPhoneXS MaxデバイスでXamarin.iOSプロジェクトを実行しているときに「無効なターゲットアーキテクチャ「arm64e」」エラーが表示されなくなりました。

その他の更新については、ブログ投稿(英語)を確認してください。

Dynamic Program Analysis (DPA)

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

動的プログラム分析をご紹介いたします。Riderでプロジェクトを実行するたびに、DPAはメモリ割り当てデータの収集を開始します。アプリケーションを閉じると、DPAは検出された問題のリストを表示します。つまり、クロージャー、およびラージオブジェクトヒープとスモールオブジェクトヒープへの割り当てです。これのすばらしい点は、「プロファイリングセッション」を開始してスナップショットを取得する必要がないことです。ただ、通常どおり作業、すべてのデータがほぼゼロオーバーヘッドで、バックグラウンドで収集されます。実際のさまざまなソリューションでDPAをテストしたところ、わずか0〜2パーセントの速度低下が見られました。

注意:DPAWindowsでのみ利用可能であり、アクティブ化するために個別のライセンスは必要ありません。

追加情報: 動的プログラム分析を使用してアプリのメモリ課題を自動検出する(英語)

Dataflow analysis of integer values

整数値のデータフロー分析

このバージョンのRiderでは、アプリケーションでの整数値の使用を追跡するための新しいタイプのコード分析が導入されています。この新しいタイプの分析は、すべての int ローカル変数の値がどのように変化するかを追跡し、そのような変数に対するすべての一般的な操作の正しさを検証して、役に立たない、またはエラーの可能性があるコードを検出します。つまり、次の警告が表示されます。

  • 関係演算子/等価演算子は常に true または false の結果を返します。
  • int 値をチェックするヒューリスティックに到達できない switch ケース。
  • 1による乗算、0の加算などの無意味な算術演算
  • 可能な int オーバーフロー。
  • 0による分割の可能性。

分析の精度を向上させるために、int タイプのタイプメンバーとパラメーターで使用する2つの新しいJetBrains.Annotations属性、[NonNegativeValue][ValueRange(from, to)]も追加しました。これらの属性は、特定の int メンバーの値が実行時にどのように変化するかを指定します。

Unity support

Unityのサポート

  • メモリ使用量とアセットのインデックス作成の速度を大幅に改善しました。Riderは、アセットを確認する前にすべてのコードにインデックスを付けるようになりました。つまり、コード補完、ハイライト、インスペクションなどの生産性機能はすべて、以前よりも迅速に使用できます。アセットのインデックス作成はソリューションが読み込まれた後も作業を続けますが、Riderは使用状況を検出し、インデックス作成が完了するとアセット内の名前を変更します。もちろん、一度完了すると、インデックスは徐々に更新され、新しく変更されたファイルのみが確認されます。
  • アセットのインデックス作成もよりスマートになりました。Nestedおよびバリアントプレハブでのコードの使用箇所を理解し、ScriptableObjects の使用箇所とシリアル化フィールドの値を示します。
  • ユニットテストの検出はUnityプロジェクトでより適切に機能し、Riderはプロジェクト内のすべての編集モードおよびPlayモードテストを自動的に検出します。
  • 新しいパフォーマンスインスペクション“を追加しました。多次元配列よりもギザギザの配列を優先する&rdquo ;:ホットパスでのパフォーマンスが向上します。これはマイクロ最適化であるため、更新メソッドや更新から呼び出されるものなど、パフォーマンスが重要なコンテキストでのみ推奨されます。
  • Riderは、Unityプロジェクトのコード補完で Boo.Lang.List または System.Diagnostics.Debug を提案しなくなりました。
  • 生成ダイアログのイベント関数の順序を調整して、最も重要なメソッドを最初に配置しました。また、Alt+Enter メニューから関数を生成すると、それらも適切な場所に生成されます。
  • その他のアップデートと修正については、GitHubリポジトリ(英語)を参照してください。
C# support

C#のサポート

C# 8言語機能のサポートはさらに増え続けています。NZ 可能な参照型 (NRT)をサポートするために、コード分析やリファクタリングやReSharper ビルドなどの他の機能を準備するために、C#言語サポートの内部で多くのリファクタリングを行いました。Rider 2020.1では、コード分析により、null許容の参照型に関連するコンパイル警告が報告され、それらのほとんどにクイックフィックスが提供されます。

いくつかの新しいインスペクションとクイックフィックスもあります:

  • null可能な参照型に関する冗長な型パラメーター制約を検出します。
  • sync オーバーロードの代わりに、使用可能なメソッドの async オーバーロードを検出して使用します。
  • typeof(SomeType).Name構成を使用する代わりに nameof 式を使用して、現在のタイプの名前を取得します。
Code completion

コード補完

昨年、コード補完ポップアップが表示されるまでに時間がかかりすぎるという報告をいくつか受けました。宿題を終えました。特に大規模なソリューションでは、入力を開始した後、コード補完ポップアップがより速く表示されるようになりました。

このリリースで導入されたもう1つの非常に便利な機能は、廃止としてマークされたメンバーをコード補完で非表示にできることです。

最後に重要なことですが、コード補完ポップアップから項目を完了すると、コードスタイル設定が考慮されるようになりました。

Reworked Debug window

デバッグウィンドウの作り直し

デバッグツールウィンドウのUIを完全に作り直し、できるだけすっきりと整頓しました。実行中のデバッグセッションが1つだけの場合、すべてのタブが1つのレベルにあるため、タブのレイアウトが簡素化されます。タブキャプションは場所をとらないため、デバッガーのコンテンツ用の領域が広くなります。また、複数のセッションがある場合、セッションを分離するためにタブレイヤーが1つ追加されます。

同時に、スレッドビューとフレームビューを組み合わせました。現時点でスレッドビューが必要ない場合は、“をクリックして非表示にできます。スレッドビューを隠す”アイコン。

Updates in the Debugger engine

デバッガエンジンの更新

デバッガーエンジンも更新して、デバッグをさらに快適にしました。

  • これで、アプリを終了せずに、デバッガーで最初に開始されたプロセスから切り離すことができます。
  • スマート・ステップ・インは、ステップ・インアクション(環境設定/設定 | ビルド、実行、デプロイ | デバッガー | ステップ| .NET言語 | 常にスマートステップイン)に対してデフォルトで有効になっています。
  • デバッガーは.NET Core x86ランタイムをサポートします。
  • スレッド名が実行行に表示されるようになり、アプリケーションの実行が現在どこにあるかを理解できるようになりました。
  • 例外でデバッグセッションを停止した後、ここ/カーソルにスキップを実行できます。
  • これで、デバッグ出力ウィンドウをより詳細に制御できるようになり、デバッグ出力でサービスメッセージを無効にできます。
Easy way to configure editor's severity

エディターの重大度を設定する簡単な方法

この新機能により、エディターの強調表示レベルを簡単に変更できます。非モーダルポップアップからワンクリックで、コード・ビジョン パラメーター・ヒントUnityパフォーマンスのヒントエラー警告提案コンテキスト・アクション、およびその他の多くの要素をオンまたはオフにできます。コードエディタータブの右下隅にあるえんぴつアイコンを探します。

Updates to Unit testing

単体テストの更新

ユニットテストセッションウィンドウとユニットテストエクスプローラーウィンドウのツールバーを調整しました。

  • いくつかのアイコンが左側のツールバーから一番上のツールバーに移動しました。
  • これで、上部のツールバーにある新しいテキストボックスを使用して、テキスト検索で単体テストツリーをフィルタリングできます。
  • ステータス「 Failed 」、「 Aborted 」、および「確定不能」は、デフォルトで単一の“壊れた”にマージされました。別々にしたい場合は、上部ツールバーの「歯車」アイコンをクリックします。

さらに、3つの大きな機能を追加しました。

  • ユニットテストエクスプローラーおよびユニットテストセッションツールウィンドウの新しい高度なグループ化機能を使用して、カスタムグループを作成できます。追加されたDuration要素により、実行にかかる時間に基づいて単体テストをグループ化することが可能になりました。
  • ユニットテストセッションツールウィンドウのターゲットフレームワークでユニットテストをフィルターできます。複数(現在では非常に一般的です)があり、それらの一部を表示したくない場合に備えます。
  • 任意の単体テストセッションをエクスポートおよびインポートできます。これにより、コードを変更したり、両方のブランチで同じユニットテストのセットを実行/カバーしたりする場合に、チーム間、コンピューター間、またはブランチ間で共有できます。また、エクスポートされたファイルはReSharperと完全に互換性があるため、RiderにあるユニットテストセッションをReSharperを使用する同僚と共有したり、その逆を行ったりできます。

追加情報: Rider 2020.1のテストランナー更新(英語)

Reactive TFS client hits RTM

リアクティブTFSクライアントがRTMにヒット

Rider 2019.3では、「変更を確認しています」アクションの劇的な速度向上を提供する実験的なTFSクライアントを追加しました。現在のリリースサイクルでは、クライアントに多大な努力を続けてきました。

最後に、TFSクライアントは最初のリリースに達し、多くの改善が行われました。最も重要なものを2つ挙げましょう。まず、バージョン管理の統合を有効にすると、Visual Studioでローカルに作成されたTFSワークスペースで機能するようになります。つまり、Riderでローカルワークスペースを最初から再作成する必要がなくなります。次に、削除およびロールバック操作のパフォーマンスが大幅に向上しました。

TFSクライアントの使用を開始するには、設定 | バージョン管理 | TFVCに移動して有効にします。

Code editor updates

コードエディターの更新

Riderは、すべてのJetBrains IDEと同様に、すべてのテーマのデフォルトフォントとしてJetBrains Monoを使用するようになりました。どうぞお楽しみに!

これまでRiderに欠落していたもう1つのReSharper機能がついに登場しました。ソリューション内のファイルからコードを貼り付けると、名前空間を自動インポートできます。

NuGet関連のファイルを手動で編集する場合は、Rider、コード補完、構文検証、クイックドキュメントポップアップなどのNuGet.Configpackages.config、および*.nuspecファイルの編集の初期サポートが提供されているため、喜んでRiderから支援を受けることができると思います。

これらの小さな機能強化についてもメンションする価値があります。

  • メソッドセパレーターがC#で利用できるようになり、インターフェース、クラス、メソッドなどを視覚的に分離できます。
  • ショートカット Alt+Shift+Up / Down / Right / Left Arrow は、Visual Studioと同じ方法でブロック選択を実行します。
  • キャレットをコードブロック開始に移動 "/"キャレットをコードブロック終了に移動」と「キャレットをコードブロックに移動して選択範囲を開始 "/"キャレットをコードブロックに移動して選択範囲を終了」という2つのアクションのペアがC#でサポートされ、他のJetBrains IDEでの動作と同じ動作に従います。
  • エラーとして強調表示されたコードシンボルのドキュメントツールチップがマウスオーバーで表示されます。
Extract Class refactoring

クラスの抽出リファクタリング

ReSharperで利用可能なもう1つの要望の多かった待望のリファクタリングが、ついにRider – クラスの抽出に登場しました。

なぜこれが必要なのでしょうか。実際に2つの異なるクラスで実行する必要がある作業を行うクラスがあるとします。このリファクタリングを使用することは、その複雑なクラスを2つの単一責任クラスに分解する最も安全で効果的な方法です。 クラスの抽出は、古いクラスから新しいクラスに移動するメソッドとフィールドを選択できます。また、依存関係やアクセシビリティの課題について警告し、競合解決オプションを提案します。

Solution Explorer view

ソリューションエクスプローラーの更新

ソリューション・エクスプローラービューには、プロジェクトに関する詳細情報を提供する2つの新しい便利なフォルダーが導入されています。暗黙的な参照は、Assembliesフォルダーのサブフォルダーとして、MSBuildインポートターゲットです。

それに加えて、いくつかの小さな更新があります:

  • 最近のアセンブリという新しい機能を参照を追加ダイアログに追加しました。
  • アプリケーション設定ファイル(*.settings)のシンプルなデザイナーを導入しました。
  • ファイルプロパティは、ソリューションエクスプローラービュー(表示 | 外観 | ツリー・ビューに詳細内)のすべてのファイルで使用できます。
  • Resxコード生成は、macOSおよびLinux上の.NET標準プロジェクトでより適切に機能するようになりました。
Updates on code coverage and performance profiling

コードカバレッジとパフォーマンスプロファイリングの更新

Riderで取得する単体テストカバレッジ結果をより詳細に制御できるように、カバレッジフィルターを追加しました。指定するには、環境設定/設定 | ビルド、実行、デプロイ | dotCover | フィルターに移動します。

LinuxまたはmacOSでパフォーマンスプロファイリングを行う場合は、朗報です。.NETCoreアプリケーションは、これらのオペレーティングシステムのトレースモードで最終的にプロファイルできます。また、Linux上の.NET Coreアプリケーションにプロファイラーを接続できるようになりました。

Run configurations and Build

実行構成とビルド

  • 非常に便利なアクションビルドをキャンセルを追加しました。
  • すべての実行構成に「ビルド/クリーンプロジェクト」タスクがあります。これらのタスクを使用すると、実行構成を起動する前に、ビルドまたはクリーンアップするプロジェクトを選択できます。
  • UpToDateCheckInput MSビルドプロパティのサポートが利用可能になりました。
  • フォルダーに公開」実行構成のUIは、「ARM”識別子とカスタムの「 ターゲットランタイム 」識別子をサポートするようになりました。
  • バンドルされているMSビルドが16.5に更新されました
Decompiler and the IL Viewer

デコンパイラーとIL Viewer

RiderのデコンパイラーとIL Viewerにいくつかの新機能を追加しました:

  • null 許容参照型(NRT)サポートは、逆コンパイラで使用できます。ご注意くださいこれは現在、宣言でのみ機能し、メソッドでは機能しません’遺体。
  • インターフェースのデフォルトメンバーの逆コンパイルのサポート。
  • タプルコンポーネント名の逆コンパイルのサポートが改善されました。
  • IL ビューアーコード・ビジョンは、逆コンパイル後に外部ソースファイルで使用できるようになりました。
Version control support

バージョン管理のサポート

  • コード・ビジョンがメソッドの履歴を表示できるようになりました。この機能は、VCS 注釈環境設定 | エディター | コード・ビジョン | VCS アクションで調整可能)の代わりにデフォルトで有効になっています。
  • Git ブランチポップアップは、明示的な検索フィールドと再加工されたリフレッシュボタンを取得します。
  • 受信(青) および発信 (緑)コミットインジケーターがステータスバーに追加されました。
  • 新しいダイアログ“を確認してください。ここから対話的にリベース”。
  • リポジトリツールウィンドウは、使用しているVCSに応じて、GitSubversion, Mercurial、またはPerforceと呼ばれるようになりました。
  • 差分およびマージビューでコードの強調表示がサポートされるようになりました。
  • マシンにGitがない場合は、Riderがダウンロードしてインストールすることを提案します。
New goodies for F# developers

F#開発者向けの新しい特典

RiderでF#のサポートを改善するために、日々のルーチンで役立つはずの多くの改善と修正を行いました。

  • プロジェクトの参照をF# Interactiveに送信する;アクションが利用可能です。
  • マウスオーバー時の評価ツールチップは、デバッグ時により多くの式で機能します。メソッドとタイプの自己参照修飾子(this.Property)、およびインデクサー式("foo".[1])。
  • タイプファイルテンプレートが追加されました。
  • コードアナライザーが並列で実行されるようになりました。
  • 既存のコードインスペクションに対するいくつかの新しいクイックフィックス。FS0005: フィールドは変更できません インスペクションのフィールドを変更可能にするクイックフィックス。
  • 適切なクイックフィックスを備えたいくつかの新しいコードインスペクション。“冗長属性のサフィックス” インスペクション。
  • 2つの新しいコードインテンション:ElifからIf / Elifの場合およびIf条件の否定
  • コード・ビジョンには新しいアクション推定タイプのコピーがあり、表示される情報を短くするために型の親名前空間を表示しなくなりました。
  • 選択範囲の拡張は、() 式全体を選択できます。

その他のアップデートと修正については、GitHubリポジトリ(英語)を参照してください。

Web developmentx

Web 開発

  • オプションの連鎖および/または無効な合体に変換するため、および使用箇所からパラメーターを推測するための新しいインテンション。
  • ドキュメントのポップアップはマウスオーバーで表示できます。
  • VuexおよびコンポジションAPIのサポート。
  • 保存時にPrettierフォーマットを実行しています。
  • ジャンプポップアップの完全なファイルパス。
  • TypeScriptプロジェクトのYarn 2サポート。
  • Web開発の更新の詳細については、「 WebStorm 2020.1の新機能 」を参照してください。
Database support

データベースのサポート

  • エクセルにエクスポートします。
  • utPLSQLおよびTsqltテストフレームワークのサポート。
  • コードエディターで結果を確認します(デフォルトでは無効)。
  • 新しい認証オプション。
  • 共有SSH構成。
  • MongoDBでのデータのフィルタリングが改善されました。
  • DataGrip 2020.1の新機能に従って、さらに多くのデータベース関連機能。
Other features and improvements

その他の機能と改善

  • WIXWindowsインストーラXMLツールセット)プロジェクトのサポートがRiderについに登場しました!
  • ゴドットゲームエンジンをサポートする新しいプラグイン(英語)Rider 2020.1+で利用可能です。GitHub(英語)でオープンソース化されています。
  • C#コードスタイル設定が検索可能になりました。
  • RiderでReSharperと同じマシン全体の(グローバル)設定ファイルを使用して、両方のツールの設定を同期させることができます(この動作をファイル | 設定 | ツール | ReSharper | マシン全体のRiderおよびReSharper設定を同期します)で調整します)。
  • コードの書式設定により、C#コードスタイルの末尾のカンマをカバーする新しい設定が提供されます。これらは環境設定 | エディター | コード・スタイル | C# | 構文スタイル | 末尾のコンマにあり、スタイルコップSA1413 インスペクションとも互換性があります(ごく一部のケースを除きます)。
Yet Other features

さらに他の機能

  • 新しいZenモード集中モード全画面モードを組み合わせたものです。
  • ターミナルセッションを並べて実行する場合は、ターミナル ツールウィンドウを垂直または水平に分割します。ターミナルからコンテキストメニューを呼び出して、分割ターミナルセッションを作成、ナビゲート、および閉じることができます。
  • HTTP クライアントには多くの改善点があります。URLを自動補完し、HTTPリクエストファイルから直接関連するエンドポイントに移動できます。エンドポイントビューからHTTPリクエストを生成できます。HTTP クライアントはパス変数を正しく自動補完するようになりました。
  • 統一されたIntelliJライトテーマがすべてのオペレーティングシステムで使用できるようになりました。
  • Windows 10のウィンドウ上部の境界線は、ボーダーレスモードではるかによく見えるようになりました。

IntelliJ IDEA 2020.1の新機能

ダウンロード

30日間の無料トライアル