ReSharper Ultimate 2018.3はVisual Studio 2019を初期サポートし、パラメータ名のインラインヒント、コードフォーマットとC#の命名規則を自動検出します。コード解析が強化されC# 7の分解(Deconstruction)サポート、C++/CLIサポートの改善、VB.NET 15.3/15.5、TypeScript 3.0サポート、そして数多くの新しいインスペクション、クイックフィックス、コンテクストアクションを搭載します。
C#と VB.NETのパラメータ名のインラインヒント
C#とVB.NETコードをより読みやすくするため、コードエディタ内でパラメータのすぐ横に呼び出し先で定義されているパラメータ名をヒント表示します。メソッド呼び出しでリテラルが使われている場合にパラメータ名を表示する仕組みです。各リテラルで何を指定するのかよりわかりやすくなります。
より詳しく: Inline parameter name hints for C# and VB.NET in ReSharper and Rider.
Visual Studio 2019 Preview 1 サポート
2018.3よりVisual Studio 2019 Preview 1ビルドをサポートします。Visual Studio 2019の正式リリース後にReSharperは完全サポートします。
命名スタイルやフォーマット設定の自動検出
ReSharperがプロジェクトのコードフォーマット規則に沿うよう設定に苦労したことはありませんか?もう大丈夫!ReSharperがReSharper | Edit | Detect formatting settingsよりコードを解析してフォーマッタの設定に適用してくれます。.
ReSharperが命名スタイルを検出し、一貫性に欠ける命名がなされている箇所をハイライトします。
改善された C# 7 の分解(deconstruction)サポート
JetBrainsはデベロッパが言語機能を簡単に使いこなせるようReSharperのC#サポートを強化し続けます。このリリースではGo To Declaration/Implementationで分解(deconstruction)の定義箇所にジャンプでき、新しいインスペクションや改善されたインスペクション、クイックフィックス、コンテクストアクションなど改善は多岐にわたります。
より詳しく: Tuples, deconstruction, string interpolation – improved inspections and quick fixes.
NUnitのコードインスペクション
NUnitテストを素早く書けるよう、クイックフィックス付きのインスペクションやコンテクストアクションを追加しました。
より詳しく: Unit Testing Receives Major Updates in ReSharper and Rider 2018.3.
VB.NET 15.3, 15.5言語サポート
C#に加えてVB.NETサポートも強化しており、最新のVB.NET言語バージョンの機能を全てサポートしています:
- 名前付きタプルの推論
- 先頭の 16 進数/2 進数/8 進数の区切り記号
- 末尾以外の名前付き引数
Private Protected
メンバー アクセス修飾子
Codeアナリシス
deconstructionやVB.NETの新機能サポートに加え、沢山のインスペクション、クイックフィックス、そして君テクストアクションがC#とVB.NETのコードアナリシスに加わりました:
- ソリューション内のC#/VB.NETプロジェクト全ての言語バージョンを設定するSet C#/VB.NET language versionクイックフィックス。.NET Frameworkと.NET Coreプロジェクト両方で利用可能。
- クイックフィックス – Allow unsafe code in this project – の追加
- object initializerを生成(メンバーを埋めるコードを作成)
- その他にもたくさん!
より詳しく: Tuples, deconstruction, string interpolation – improved inspections and quick fixes.
TypeScript 3.0 サポート
TypeScript 3.0をサポートし、言語の新機能に対応します:
- Unknown型
- tuple型のOptional element
- tuple型のRest element
- tuple type付きのRestパラメータ
- tuple type付きのSpread expression
- ジェネリックRestパラメータ
ASP.NET Coreのローカライゼーション初期サポート
最新のASP.NET Coreで導入されたlocalization procedureをサポートし、Webアプリケーションをモダンな形でローカライズ出来ます。コントローラー、ビュー、リソースファイルでReSharperのアシスタンスが働きます:
- リソース使用箇所へジャンプ(Go to declaration)
- resxファイル内のリソースノードのFind Usages
- 宣言のないリソースを利用している場合に警告するインスペクションと、関連クイックフィックス
- リソース関連のリファクタリング: Move, Rename, Inline, and Safe Delete.
- resxファイル内でリソースエントリを修正するためのコンテクストアクション
ReSharperのその他のアップデート
- Go Toアクションポップアップからオプションのページへジャンプ
- ローカル関数に対してIntroduce parameterリファクタリングが可能
- ReSharperをよりFIPSに準拠するため、md5ハッシュアルゴリズムの利用をやめた
- ReSharperのエディタ装飾が従うフォントスタイル設定がVisual Studio IntelliSenseかテキストエディタか選択可能に
さらなるReSharperのアップデート
- インスペクション結果やソリューションウィンドウのエラーで、関連ヘルプアーティクルがある場合表示可能に
- “Method, Property, Event”としてまとめてしか設定できなかった命名規則が個別設定できるように
- C#、JS、HTML、XMLファイルで前のノードのインデントを尊重する
- イニシャライザのブレース内のインデント向けの個別のコードフォーマットオプション
パフォーマンス最適化
様々な箇所でパフォーマンスが改善されています:
- アセンブリステージの読込がリファクタされ、ソリューションの読込がスピードアップしました。
- キーワードの保管がより高速かつ正確になり、自動ポップアップのレイテンシが低下しました。
- アイテムのソートが早くなり、コード補完が高速になりました。
- 値の追跡で結果の集約が非同期化されました。
コマンドラインツール
コマンドラインツールにいくつか新機能が追加されました:
- Verbosityで特定の深刻度レベルの出力のみを抑止
- コードアナリシスジョブをマルチスレッドモードで実行
C++/CLIとUE4サポート(Ultimateのみ)
ReSharper UltimateでC++/CLIタイプのプロジェクトでは等価オペレータ、ハッシュ関数、getter/setter、コンストラクタを生成するアクションが利用できるようになりました。また派生クラス、struct、interfaceも作成できます。
Unreal Engineプロジェクトでは、プロジェクトを始めて開く際の動作が高速になりました。ReSharper C++は最初UE本体以外のファイルのみをパースするためです。エンジン本体のファイルは追ってバックグランドでパースされます。UCLASS、USTRUCT、UENUMといったリフレクションマクロのサポートが改善され、特にプロジェクトがビルドされていなくてもよりしっかりとエディタで取り扱われます。
レスポンシブエディタ(Ultimateのみ)
ReSharper C++ 2018.3では多くのパフォーマンス改善がなされています。まずコードイシューの検索(Finds code issues)とInspectCodeコマンドツールは並列化され大幅に高速化しました。さらにプロジェクトを再オープンした際のキャッシュ読込も並列化され、平均で倍速になりました。最後にコード補完、初回プロジェクトインデックス作成、ファイル解析も全般的に高速化しました。