Rider 2018.3はCode Vision、プロジェクト名のリネームリファクタリング、Assembly Explorerウインドウなどの新機能を搭載しています。またSSH経由のリモートデバッグ、起動設定やC#コードへのSQL言語インジェクションも可能です。さらにC#、VB.NET、F#、TypeScript言語サポートやAngularフレームワークサポートも強化しています。
IDE内から直接GitHubプルリクエストを管理でき、Search Everywhere(どこでも検索)ポップアップを利用して検索ができます。UnityのためのC#スクリプトをよりすばやく書けるようになりました。最後に、Android開発のための新しいツールとWindowsに統合されたパフォーマンスプロファイラも追加されました。
Rider 2018.3 の新機能
Code Vision
Code Vision はエディタ内でコードに関する役立つ情報を見る新しい方法です。Code Vision により、Unityに特化したメトリクスと同様に、利用、バージョン管理情報、派生の型、拡張したメソッド、エクスポーズされたAPIを追加の操作無しで簡単に表示できます。今後のリリースでより多くのメトリクスを追加していく予定です。
詳細:Code Vision in Rider: Enriching the Editor with Contextual Information and Navigation
SSH経由でのリモートデバッグ
Rider 2018.3 では、.NET Framework, .NET Core および Mono アプリケーションのデバッグをリモートでできるようになりました。新しいアクション Attach to Remote Process を利用するとリモートマシンで稼働しているプロセスをすべて参照することができます。一旦リモートプロセスを選択すると、Riderはデバッガーにアタッチできるようになり、実行の停止やブレークポイントを張ることができます。
リモートのデバッグに加え、Riderのデバッガーは以下も備えています:
- 式エバリュエーターの内部に新しいエンジンを導入し、デバッガーのウォッチにおいて最新のC#シンタックスを利用できるようになりました。
- Watchesツールウィンドウでポインタオペレーションに対応しました。計算式や参照の解除等を含みます。
- 変数を調べる際、コンテキストメニューで数値を
10進数
と16進数
に切り替えることができるようになりました。
プロジェクト名のリネームリファクタリング
プロジェクト名を手動でリネームすることは悪夢になり得ます – 新しい名前に対応するために更新すべきことがたくさんありますし、それら全てを思い出さねばなりません。この痛みを和らげるために、(シャレではなく)ソリューションを準備し – プロジェクト名のリネームリファクタリングを新しく導入しました!最小限の努力で自動的に完了させましょう。
詳細: Renaming projects the easy way – new refactoring in Rider 2018.3
Assembly Explorer
この機能はしばらくの間 ReShaper には存在していましたが、今までRiderには搭載されていなかった待望の機能になります。複数のアセンブリを開くことができ、開いている全てのアセンブリを横断して調べることができます。エクスプローラーウインドウに表示されますが、それに加えてソリューションとファイルシステムビューにも表示されます。参照されたアセンブリのためのAssenbly Explorerでの”空気を読む”機能では、アセンブリを Assenbly Explorer ビューに表示しやすくなります。
詳細: Rider 2018.3 assembly explorer and cross-platform .NET decompiler
起動設定
プロジェクトに1つ以上の launchSettings.json ファイルが含まれる場合、Rider 2018.3 ではファイルで定義された起動プロフェイルを自動的にインポートし、run/debug の設定を生成します。
また、このリリースでは launchSettings.json ファイルをサポートするエディタにも対応しました。シンタックスハイライトや、コード解析、コード補完が可能です。
詳細:Using .NET Core launchSettings.json to run/debug apps in Rider
IDE アップデート
Search Everywhere(どこでも検索)ポップアップ機能は完全に再設計され、見た目もよりモダンになりました。
Preferences/Settingsの新しいPluginページがアップデートされました:
- 検索やインストール・アンインストールなど、IDEのプラグインをより簡単に管理できるようになりました。
- 名前だけではなくタグによってプラグインを検索でき、検索結果一覧はダウンロードや名前、レーティング、機能、更新日等でソートできます。
詳細:Redesigned Search Everywhere, Plugins, Templates and more in Rider 2018.3
C#サポート
C# サポートが大きく改善されました:
- インラインのパラメータ名のヒントにより、C#のコードをより読みやすくするようエディタを正しました。
- C# 7 の deconstruction に関するサポートを改善し、new/update のインスペクション、クイックフィックス、”空気を読む”機能に対応しました。Go To | Declaration/Implementation ではdeconstruction宣言をサポートしています。
- パラメータ化されたNUnitテストに関する、多くのコードインスペクション、クイックフィックス、”空気を読む”機能に対応しました。
Visual Basic .NET
VB.NET 15.3 と 15.5 に関する以下の機能が対応されました。
- 名前付きタプルインターフェース
- 先頭の
16進数
/2進数
/8進数
セパレータ - 末尾以外の名前付き引数
Private Protected
アクセス修飾子に対応
インラインパラメータ名のヒントとクイックフィックスのSet Visual Basic言語バージョンに対応しました。C#でも同じように動作します。
Web 開発
このリリースにはWeb開発用の強力な一連の新機能があります:
- Angular サポートを改善
- JavaScript と TypeScript の複数行の TODO に対応
- TypeScript 3.1 機能をサポート:マップ可能なタプル、配列の型、新しいプロパティのアサイン
- null と未定義のチェックを改善
- Node.js ワーカースレッドがデバッグ可能に
- 新しく追加されたインテンション:ルールセットを抽出し、そのフォールバック値でvar()を置き換え、関数をアロー関数を保持する変数に変換します。
- Linterのカスタムの重大度レベルを利用できるオプションに対応しました。
VCS サポート
バージョン管理機能がより良くなりました:
- IDEでGitHubプルリクエストの管理が可能に
- Gitサブモジュールに対応。プロジェクトの更新中に並行してプロジェクト内の全リポジトリを取り込みます。
- VCSログで高度なナビゲーションを利用可能に
- Version Control ツールウィンドウのFile Historyタブで差分プレビューを参照可能に
Android 開発
ターゲットのプラットフォームに Android を利用し、Xamarin もしくは Unity ソリューションを開発している場合、Riderはそれをカバーできます!Androidの開発に役立つAndroid Studioの多くの組み込みツールや機能が利用可能になりました。
- WYSIWYGデザイナーとAXML/Android Manifestファイルのコード補完に対応
- LogcatコマンドラインツールとAndroid Profilerに対応
- SDK/AVD マネージャー, Device File Explorer, Layout Inspector に対応
NuGet サポート
このバージョンのNuGetサポートの改善のほとんどは内部に関するものです。目に見えるものとしては以下になります。:
- WindowsでNTLM/Windows 認証を使用するNuGetサーバーのサポートに対応
- ReSharper で知られる Find this type on nuget.org アクションが未解決のシンボルのために Alt + Enter で利用可能になりました
- 必要なパッケージを失った場合にユニットテスト内で Install missing .NET Core Adapter クイックフィックスでが利用可能になりました
- NuGet Completion Serviceを利用することでNuGet ウィンドウのより正確でより高速なパッケージ検索を実現しました
- NuGetウィンドウではNuGet.configファイルに基づくより多くのNuGet Foldersを表示するようになりました
- プロパティダイアログにおいて、新しいNuGetページを利用できるようになりました。このページには、プロジェクトをNuGetパッケージにパックする必要のある全情報をファイルできます。
詳細:Add missing packages, faster search and more NuGet improvements in Rider 2018.3
言語インジェクション
SQL, CSS, HTML, JSON, 正規表現, JavaScript, など多くの他の言語インジェクションがC#言語の文字列リテラルをカバーしました。SQL言語インジェクションは文字のコンテンツに基づいて自動的に追加され、手動で //language=LANGUAGE コメントで文字列リテラルをマークできるようになりました。
統合されたパフォーマンスプロファイラ
Riderは統合されたパフォーマンスプロファイラに対応しました。今のところプロファイリングの機能はWindowsでのみ利用可能です。Linuxではパフォーマンススナップショットの分析のみに対応しています。
詳細: Performance profiling .NET code in Rider with integrated dotTrace
F#サポート
新しく導入したF#レキサーはIntelliJ IDEA のフロントエンドと ReSharper のバックエンドの両方で機能します。既存機能にも必要なこれらのレキサーは言語サポートをより改善します。
このリリースでは、バックエンドの新しいレキサーによって、たくさんのハックを取り除くことができます。ReSharper のバックエンドのフルパワーを利用して、次の優れた機能を適切に実装しています。
- 括弧、引用、Enter押下時の自動インデントのための新しいタイピングアシストに対応しました
- リネームリファクタリングはローカルシンボルに対して機能します
- 未使用のOpenを見つける新しい検索とそれに対応するクイックフィックスに対応しました
最後に、新しいグループ化タイプがFind Usagesで利用可能になりました:新規インスタンスの生成、パターンに関する判別共用体のケースの利用箇所、型指定の型の利用箇所
プロジェクトとファイルのテンプレート
新しいプロジェクトとファイルが利用できるようになりました:
- UWPプロジェクトのテンプレートが追加されました
- Xamarinに関連するプロジェクトがアップデートされました
- app.config / web.config / appSettings.json ファイルのための新しいテンプレートに対応しました
詳細: Redesigned Search Everywhere, Plugins, Templates and more in Rider 2018.3
Azure ツールキット for Rider
RiderのAzureツールキットは、.Netの開発者がRiderから直接 AzureにWebアプリケーションを簡単に作成、開発、構成、テスト、管理およびデプロイし、ストレージやRadisキャッシュ、VMのようなリソースを操作できるオープンソースプラグインです。
Azure SQL データベースを使用できます。また、Cloud Shell サポートも追加されました。
詳細:
データベースサポート
DataGripのおかげで、Riderのデータベースサポートは次の機能を強化しました。:
- もう一つのNoSQLデータベースであるCassandra に対応
- 選択したオブジェクトに関するSQLファイルを生成
- PostgreSQLの拡張機能をサポート
- SQLコード補完に関するいくつかの改善
- Posix補完を導入
- シングル接続モードに対応
Other featuresその他の機能
-
Zero-latency(ゼロ遅延)タイピングに対応しました!コードの再フォーマットのようなタスクを実施するスマートタイピングアシストでも、Rider の UI はブロックされることなく、コードエディタはスムーズでレスポンシブなままです。Riderのバックエンドに関するすべての非同期な変更は、それらが完成された際にマジックのような方法で後からマージされる予定です。
- ソリューションのロードをスピードアップするために、アセンブリのステージのロードをリファクタリングかつ最適化しました。
- ハイコントラストのカラーテーマが利用可能になりました。
- 実体宣言上で Ctrl + クリックすることで Usageを表示するようになりました。
- 4つの新しいリファクタリングが利用可能になりました。:Move to Resource, Inline Resource, Move Resource, Rename Resource
- File | Settings | Build, Execution, Deployment | Unit Testing | Test Runner 配下で、ユニットテストを実行するために環境変数を設定できるようになりました。
- XSLT デバッガーを利用できるようになりました。
- To-Doカラー設定についにカラーエディターが適用され、To-Doアイテムをプロジェクトごとにグループ化できるようになりました。
詳細: Redesigned Search Everywhere, Plugins, Templates and more in Rider 2018.3
まだ機能があります
- Navigate | Type Hierarchyで継承階層を調べることができるようになりました。
- Roslyn アナライザ がMSBuildがインストールされていない.Net Core上でも正しく動作するようになりました。
- .editorconfigのシンタックスハイライト、インスペクションや他の分析に対応しました。
- 新しいアクション Build only this project without dependencies(依存関係のないこのプロジェクトのみをビルドする)に対応しました。カスタムのビルドシステムがあればこのアクションが役立ちます。
- MSBuildインポートで変更があれば、プロジェクトはリロードされるようになりました。
- Directory.Build.propsとDirectory.Build.targetsの両方をサポートしました。
- Copy Referenceメニュー(Edit| Copy Reference)によって、コードのエンティティの完全修飾名をコピーしやすくなりました
Copy Reference to help you copy the fully qualified name of a code entity (select Edit | Copy Reference). - Tab/ShiftTabによるインデントはVisual Studioのように動作するようになりました。Tab または ShiftTab を押下することにより、コードが最も近いインデントに合わせられます(インデントがスペースで設定されている場合)。
- Riderをオープンアクションがファイルエクスプローラーのコンテキストメニューに追加されました。Riderがインストーラーでインストールされた場合にWindowsでのみ動作します(Toolboxを使った場合は含まれません)。
詳細:.editorconfig updates, more build options, better Roslyn support in Rider 2018.3
Unityに関するもう1つの大きなアップデート
Unityに関するサポートはこのリリースで大きな変化がありました。いくつかのエキサイティングな新機能があります。
まず、パフォーマンス指標を搭載しました。Riderは各フレームで呼ばれるイベントファンクションをハイライトするようになります。コルーチンメソッドと同様にUpdate, FixedUpdate, LateUpdateのようなイベントが対象です。
2番目に、Unityのscene / prefab / assetファイルから抜き出したデータを使用してFind Usages 機能を拡張しました。イベントハンドラーとして使用されたクラスやメソッドを探している場合、Unityファイル、型によるグループ、コンポーネント名、および親のゲームオブジェクトのどのにそれがあるのかをRiderが示してくれます。更には、アイテムをダブルクリックすることで、Unityエディタ内の使用箇所を直接ハイライトしてくれます。
Unityファイルから情報を取得することで、暗黙のうちに使われているイベントハンドラメソッドを正しくハイライトできるようになりました。暗黙的な利用のハイライトをテキストエディタのガターアイコンから移動し、Code Visionリンクに変更しました。そのことで、何のクラス、メソッド、フィールドがUnityで暗黙的に使われているかを参照できるようになりました。リンクをクリックすることでUnityの内部的なファイルであってもそれらを見つけることができるようになります。
デバッガーはUnityについてより熟知し、Unityオブジェクトの特別なデータも表示できるようになりました。このことでECSジョブ内のネイティブなコンテナを試験するのに役立つraw pointersのためのデータも渡すことができるようになりました。