ReSharper 2019.2の新機能

C#のサポートが強化されました

ReSharper が強化され C# 8 を最大限に活用できます:

  • インデックスと範囲指定ができる型などインデックスと範囲に関する最近の変更をサポートしました。
  • コンテキストアクションである Add range check は System.Index または System.Range によるインデキシングをサポートしました。
  • アンマネージドジェネリック構造体をサポートしました。
  • 2つの新しいインスペクション ‘Convert switch statement to switch expression’ と ‘Convert chain of ternary expressions to switch expression’ に対応しました。‘Convert to switch expression’ クイックフィックスにも対応します。

皆様の期待に応えてコンテキストアクション Convert concatenation to interpolation がスコープ内で適用できるようになりました。

起動時間が速くなりました

Rider からアイディアを借りて、Visual Studio COM API の代わりに MSBuild をベースとしたプロジェクトモデルを使って起動するようにしました。このことで UI スレッドをロックする COM API の使用を最小化し、ソリューションのロード時間が最適化されます。
加えて、パフォーマンスガイドページをアップデートしました。ガイドには、新たに Windows Defender セクションとパフォーマンスに関するすべての Tips の説明を設けました。提案していることが適用された後、何が行われるのかを正確に説明しています。

ナビゲーションとFind Usages

このリリースでは、Find Usages で結果を集めるために Solution Wide Error Analysis のデータを使い始めました。ソリューションで SWEA を有効にしている場合、Find Usage は非常に速く結果を表示します。
ナビゲーションに関して 2, 3 の小さな改善も追加しました。これらが役立つことを願っています:

  • “Go to File Member” ダイアログでファイルを検索できます。結果の一覧には、一致するすべてのメンバ名と検索文字列のファイル内のすべての場所が含まれます。
  • Go To Text の結果のウィンドウにおいて、コメントの文字列を探すことに興味がない場合はコメントラインをフィルタで外せるようになりました。

Navigations and Find Usages

デバッガーデータの Tips

ReSharper 2019.2 ではデバッガーデータの Tips についていくつかのアップデートがありました:

  • 新しいトグルを追加しました。implicit function evaluation と auto evaluate property です。
  • “Enable property evaluation and other implicit function calls” 設定に遵守し、要求に応じてプロパティ値を評価できるようになりました。

Debugger data tips

コードスタイル & コードフォーマッタ

C# 8.0 のサポートを向上するために、switch 式のための新しいフォーマットオプションを追加しました。 .editorconfig, StyleCop.Settings, .clang-format のサポートのパフォーマンスが向上し、ハイライトと Solution Wide Error Analysis がデフォルトでオンになっています。また Option ページの右側で EditorConfig のプロパティを編集できるようになりました。

Code style & code formatter

“Per-Monitor DPI Awareness” モードをサポート

ReSharper Ultimate 2019.2 は Visual Studio 2019 で導入された“Per-Monitor DPI Awareness” モード のサポートを提供します。一部の ReSharper ユーザーは、以前は Optimize rendering for screens with different pixel densities (Tools | Options | Environment | General)  設定を無効にしていました。ReSharper ツールウィンドウでレンダリングの問題があったためです。再度設定を有効にし、うまく動作するか確認してみてください。まだいくつかの問題がある箇所があることにご注意ください。

Support for “Per-Monitor DPI Awareness” mode

その他の機能

  • パラメータ名のヒントのパフォーマンスが向上し新しくヒューリスティックになりました。
  • キーボードの説明を含む新しいツールチップが IL Viewer で利用可能になりました。
  • ReSharper | Options | Tools | External Sources 配下の詳細なシンボルオプションダイアログは相対パスをサポートするようになりました。
  • Assembly Explorer ツールウィンドウの “Properties” タブに ‘Summary’ プロパティとアンマネージ (win32) なリソースサブツリーが設けられました。

Other features

Unreal Engine のサポート ULTIMATE

前のリリースで、UE4-specific Remote Procedure Calls のサポートの向上に取り組みはじめました 。今回、RPC 関数を正しく動作させるために Rename and Change Signature リファクタリングをアップデートしました。UE4 ベースのコード上で、特に見当たらないまたは間違ったUE4のリフレクションマクロを対象とした、いくつかのコード分析チェックも利用可能になりました。

v2019.1 で リフレクションの指定子にコード補完を追加したのに続き、それらに関するビルトインの ドキュメンテーション を追加しました。キャレットが指定子上にある場合に Quick Documentation (Ctrl + Q) ポップアップに表示されます。

Unreal Engine

 

C++ プロジェクトのインデキシングが速くなりました ULTIMATE

ReSharper C++ 内部で使われる新しいプロプロセッサーの実装により LLVM および Unreal Engine のような典型的なソリューションのインデキシングが 15-25% スピードがアップしました。
What’s new in ReSharper C++ をご覧ください。

faster indexing

dotMemory コンソールプロファイラの改善点 ULTIMATE

dotMemory 2019.2 において、リモートプロファイリングのサポートを停止します。それに代わる適切な代替を提供するために dotMemory コンソールプロファイラを大幅に改善しました。

  • コンソールプロファイラは .NET Core アプリケーション, IIS Express-hosted アプリケーション, Windows サービスなどを含むあらゆるタイプのアプリケーションをプロファイルするためのコマンドを取得します。
  • --trigger-on-activation 引数を利用することで、これが可能になった直後にメモリのスナップショットを取ることができます。この機能はベースラインとなるスナップショットを取得し、比較に使いたい場合に役立ちます。