Rider 2018.3の新機能

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 はエディタ内でコードに関する役立つ情報を見る新しい方法です。Code Vision により、Unityに特化したメトリクスと同様に、利用、バージョン管理情報、派生の型、拡張したメソッド、エクスポーズされたAPIを追加の操作無しで簡単に表示できます。今後のリリースでより多くのメトリクスを追加していく予定です。

詳細:Code Vision in Rider: Enriching the Editor with Contextual Information and Navigation

Remote debugging via SSH

SSH経由でのリモートデバッグ

Rider 2018.3 では、.NET Framework, .NET Core および Mono アプリケーションのデバッグをリモートでできるようになりました。新しいアクション Attach to Remote Process を利用するとリモートマシンで稼働しているプロセスをすべて参照することができます。一旦リモートプロセスを選択すると、Riderはデバッガーにアタッチできるようになり、実行の停止やブレークポイントを張ることができます。

リモートのデバッグに加え、Riderのデバッガーは以下も備えています:

  • 式エバリュエーターの内部に新しいエンジンを導入し、デバッガーのウォッチにおいて最新のC#シンタックスを利用できるようになりました。
  • Watchesツールウィンドウでポインタオペレーションに対応しました。計算式や参照の解除等を含みます。
  • 変数を調べる際、コンテキストメニューで数値を10進数 と 16進数に切り替えることができるようになりました。

詳細: Remote debugging comes to Rider 2018.3

Rename Project refactoring

プロジェクト名のリネームリファクタリング

プロジェクト名を手動でリネームすることは悪夢になり得ます – 新しい名前に対応するために更新すべきことがたくさんありますし、それら全てを思い出さねばなりません。この痛みを和らげるために、(シャレではなく)ソリューションを準備し – プロジェクト名のリネームリファクタリングを新しく導入しました!最小限の努力で自動的に完了させましょう。

詳細: Renaming projects the easy way – new refactoring in Rider 2018.3

Assembly Explorer

Assembly Explorer

この機能はしばらくの間 ReShaper には存在していましたが、今までRiderには搭載されていなかった待望の機能になります。複数のアセンブリを開くことができ、開いている全てのアセンブリを横断して調べることができます。エクスプローラーウインドウに表示されますが、それに加えてソリューションとファイルシステムビューにも表示されます。参照されたアセンブリのためのAssenbly Explorerでの”空気を読む”機能では、アセンブリを Assenbly Explorer ビューに表示しやすくなります。

詳細: Rider 2018.3 assembly explorer and cross-platform .NET decompiler

Launch settings

起動設定

プロジェクトに1つ以上の launchSettings.json ファイルが含まれる場合、Rider 2018.3 ではファイルで定義された起動プロフェイルを自動的にインポートし、run/debug の設定を生成します。

また、このリリースでは launchSettings.json ファイルをサポートするエディタにも対応しました。シンタックスハイライトや、コード解析、コード補完が可能です。

詳細:Using .NET Core launchSettings.json to run/debug apps in Rider

Redesigned Search Everywhere

IDE アップデート

Search Everywhere(どこでも検索)ポップアップ機能は完全に再設計され、見た目もよりモダンになりました。

Preferences/Settingsの新しいPluginページがアップデートされました:

  • 検索やインストール・アンインストールなど、IDEのプラグインをより簡単に管理できるようになりました。
  • 名前だけではなくタグによってプラグインを検索でき、検索結果一覧はダウンロードや名前、レーティング、機能、更新日等でソートできます。

詳細:Redesigned Search Everywhere, Plugins, Templates and more in Rider 2018.3

C# language support

C#サポート

C# サポートが大きく改善されました:

  • インラインのパラメータ名のヒントにより、C#のコードをより読みやすくするようエディタを正しました。
  • C# 7 の deconstruction に関するサポートを改善し、new/update のインスペクション、クイックフィックス、”空気を読む”機能に対応しました。Go To | Declaration/Implementation ではdeconstruction宣言をサポートしています。
  • パラメータ化されたNUnitテストに関する、多くのコードインスペクション、クイックフィックス、”空気を読む”機能に対応しました。

詳細: What’s new in ReSharper 2018.3

Visual Basic .NET support

Visual Basic .NET

VB.NET 15.3 と 15.5 に関する以下の機能が対応されました。

  • 名前付きタプルインターフェース
  • 先頭の16進数/2進数/8進数 セパレータ
  • 末尾以外の名前付き引数
  • Private Protectedアクセス修飾子に対応

インラインパラメータ名のヒントとクイックフィックスのSet Visual Basic言語バージョンに対応しました。C#でも同じように動作します。

詳細: What’s new in ReSharper 2018.3

Web development

Web 開発

このリリースにはWeb開発用の強力な一連の新機能があります:

  • Angular サポートを改善
  • JavaScript と TypeScript の複数行の TODO に対応
  • TypeScript 3.1 機能をサポート:マップ可能なタプル、配列の型、新しいプロパティのアサイン
  • null と未定義のチェックを改善
  • Node.js ワーカースレッドがデバッグ可能に
  • 新しく追加されたインテンション:ルールセットを抽出し、そのフォールバック値でvar()を置き換え、関数をアロー関数を保持する変数に変換します。
  • Linterのカスタムの重大度レベルを利用できるオプションに対応しました。

詳細:What’s new in WebStorm 2018.3

VCS support

VCS サポート

バージョン管理機能がより良くなりました:

  • IDEでGitHubプルリクエストの管理が可能に
  • Gitサブモジュールに対応。プロジェクトの更新中に並行してプロジェクト内の全リポジトリを取り込みます。
  • VCSログで高度なナビゲーションを利用可能に
  • Version Control ツールウィンドウのFile Historyタブで差分プレビューを参照可能に

詳細: IntelliJ IDEA 2018.3: GitHub pull requests and more

Android development

Android 開発

ターゲットのプラットフォームに Android を利用し、Xamarin もしくは Unity ソリューションを開発している場合、Riderはそれをカバーできます!Androidの開発に役立つAndroid Studioの多くの組み込みツールや機能が利用可能になりました。

  • WYSIWYGデザイナーとAXML/Android Manifestファイルのコード補完に対応
  • LogcatコマンドラインツールとAndroid Profilerに対応
  • SDK/AVD マネージャー, Device File Explorer, Layout Inspector に対応
NuGet support

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

Language injections

言語インジェクション

SQL, CSS, HTML, JSON, 正規表現, JavaScript, など多くの他の言語インジェクションがC#言語の文字列リテラルをカバーしました。SQL言語インジェクションは文字のコンテンツに基づいて自動的に追加され、手動で //language=LANGUAGE コメントで文字列リテラルをマークできるようになりました。

詳細:SQL inside C# strings, fragment editor, run query in console – Language injection updates in Rider 2018.3

Integrated performance profiler

統合されたパフォーマンスプロファイラ

Riderは統合されたパフォーマンスプロファイラに対応しました。今のところプロファイリングの機能はWindowsでのみ利用可能です。Linuxではパフォーマンススナップショットの分析のみに対応しています。

詳細: Performance profiling .NET code in Rider with integrated dotTrace

F# support

F#サポート

新しく導入したF#レキサーはIntelliJ IDEA のフロントエンドと ReSharper のバックエンドの両方で機能します。既存機能にも必要なこれらのレキサーは言語サポートをより改善します。

このリリースでは、バックエンドの新しいレキサーによって、たくさんのハックを取り除くことができます。ReSharper のバックエンドのフルパワーを利用して、次の優れた機能を適切に実装しています。

  • 括弧、引用、Enter押下時の自動インデントのための新しいタイピングアシストに対応しました
  • リネームリファクタリングはローカルシンボルに対して機能します
  • 未使用のOpenを見つける新しい検索とそれに対応するクイックフィックスに対応しました

最後に、新しいグループ化タイプがFind Usagesで利用可能になりました:新規インスタンスの生成、パターンに関する判別共用体のケースの利用箇所、型指定の型の利用箇所

Project and file templates

プロジェクトとファイルのテンプレート

新しいプロジェクトとファイルが利用できるようになりました:

  • UWPプロジェクトのテンプレートが追加されました
  • Xamarinに関連するプロジェクトがアップデートされました
  • app.config / web.config / appSettings.json ファイルのための新しいテンプレートに対応しました

詳細: Redesigned Search Everywhere, Plugins, Templates and more in Rider 2018.3

Azure Toolkit for Rider

Azure ツールキット for Rider

RiderのAzureツールキットは、.Netの開発者がRiderから直接 AzureにWebアプリケーションを簡単に作成、開発、構成、テスト、管理およびデプロイし、ストレージやRadisキャッシュ、VMのようなリソースを操作できるオープンソースプラグインです。

Azure SQL データベースを使用できます。また、Cloud Shell サポートも追加されました。

詳細:

Database support

データベースサポート

DataGripのおかげで、Riderのデータベースサポートは次の機能を強化しました。:

  • もう一つのNoSQLデータベースであるCassandra に対応
  • 選択したオブジェクトに関するSQLファイルを生成
  • PostgreSQLの拡張機能をサポート
  • SQLコード補完に関するいくつかの改善
  • Posix補完を導入
  • シングル接続モードに対応

詳細: What’s new in DataGrip 2018.3

Other features

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

Yet more features

まだ機能があります

  • Navigate | Type Hierarchyで継承階層を調べることができるようになりました。
  • Roslyn アナライザ がMSBuildがインストールされていない.Net Core上でも正しく動作するようになりました。
  • .editorconfigのシンタックスハイライト、インスペクションや他の分析に対応しました。
  • 新しいアクション Build only this project without dependencies(依存関係のないこのプロジェクトのみをビルドする)に対応しました。カスタムのビルドシステムがあればこのアクションが役立ちます。
  • MSBuildインポートで変更があれば、プロジェクトはリロードされるようになりました。
  • Directory.Build.propsDirectory.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

Another huge update for Unity

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のためのデータも渡すことができるようになりました。