ReSharper Ultimate 2020.1 では、C# の整数値に使用する新しいデータフロー解析ツールが導入され、null 許容参照型の機能と C++20 の新機能がサポートされます。 XAML サポートと Ureal Engine サポートが改善され、ナビゲーションには 2 つの新機能が追加されます。また、Localization Manager でコメントを追加する機能が有効化されます。 デコンパイラでは、C# 7.x と 8.0 のほかの機能もサポートされます。
無料 30 日間体験版をご利用可能です
このバージョンの ReSharper では、アプリケーション内で整数値の使用を追跡するために使う新しいタイプの C# コード解析機能が導入されています。 この新しいタイプの解析は、すべての int
ローカル変数の値がどのように変化するのかを追跡するほか、それらの変数に対してよく実行されるすべての演算の正確性を確認し、不要なコード、または誤りがある可能性のあるコードを検出します。 警告の対象は以下のとおりです。
true
またはfalse
の場合。 int
値をチェックしている switch
case 条件。 1
による掛け算や 0
の足し算といった無意味な算術演算。 int
のオーバーフロー。0
による割り算。解析の精度を向上させるため、int
型の型メンバーおよびパラメータと一緒に使用する [NonNegativeValue]
および [ValueRange(from, to)]
という 2 つの新しい JetBrains.Annotations 属性を追加しています。 これらの属性は、ランタイム中に起こり得る特定の int
メンバーの値の変化を指定します。
C# 8 の言語機能に対するサポートを引き続き追加しています。 null 許容参照型(NRT)への対応として、コード解析機能、リファクタリングや ReSharper Build 等の機能を利用できるようにするために、C# 言語サポートの基本機能を一新しました。 ReSharper 2020.1 では、コード解析によって null 許容参照型に関連するコンパイルの警告が報告されるほか、そのほぼすべてに対するクイックフィックスが提供されます。
以下のインスペクション機能とクイックフィックスが新たに導入されています。
async
オーバーロードが使用できる時にはそれを検出し、sync
オーバーロードの代わりに使用する。 nameof
式を使用する。 このリリースでは、ReSharper のアーキテクチャに数多くの変更が適用され、Visual Studio プロセス外で ReSharper のすべてのコア機能を実行するという目標にさらに近づきました。 こういったすべての変更は内部的に行われているため、ReSharper 2020.1 リリースビルドの UI/UX に変更はありません。
Progress toward moving ReSharper out of process(ReSharper の外部プロセス化への進捗)についての最新情報を見逃した方は、この機会にぜひご確認ください。
この更新では、小さくも有益な機能をいくつかナビゲーションに適用しています。ReSharper の操作を主にマウスで行うユーザーにとってもキーボードで行うユーザーにとっても役に立つ機能です。
バージョン 2020.1 では、WPF、Xamarin.Forms、UWP、および Avalonia XAML に関する XAML サポートを数多く改善・修正しました。
データの文脈に沿った型推論のサポートとバインディングでのシンボル解決を改善できました。
d:BindingContext
が使用されている場合Picker.ItemDisplay
内RelativeSource
バインディングScrollViewer
コントロールのテンプレートバインディングItemsSource
が入れ子要素として使用されている場合TreeView.ItemContainerStyle
内UWP プロジェクトでは、以下のサポートを追加しました。
CustomResource
バインディング その他の修正には以下のサポートが含まれます。
URN
)の使用 x:Static
ディレクティブReSharper 2020.1 以降、任意のユニットテストセッションをエクスポートおよびインポートできます。 これにより、チームや、コンピュータ間で、さらには、コードに変更を加え、両方のブランチに対して同じ一連のユニットテストを実行 / カバーするときはブランチ間でもテストを共有することができます。
また、 ReSharper の新しいメジャーバージョンにアップグレードしても、既に作成されているユニットテストセッションは保持されます。これは、作業中のためロックされているセッションにおける状態を失いたくない場合に便利です。
ご要望に応えて実現しました! コメント用に Comments の行をグリッドに追加しました。 リソースファイルからの値に対し、グリッド内で直接コメントを残し、既存のコメントを編集できるようになりました。 また、これらのコメントをエクスポート、インポートすることもできます。 コメントを使用しない場合、または今すぐ必要でない場合は、“Show/Hide comments” アイコンをクリックして非表示にすることができます。
そのほか、パフォーマンスの修正をいくつか実装することで、グリッドのロードとフィルタの加速化、一部で発生していた UI フリーズの解消、スクロールの円滑化を実現しています。
UX も強化されています。
コードフォーマットに末尾のコンマも対象に含めた C# Code Styles の設定が新たに追加されました。 これらの設定は ReSharper | Options | Code Editing | C# | Code Style | Trailing comma からアクセスできます。非常にまれなコーナーケースを除き、StyleCop SA1413 インスペクションとの互換性もあります。
C++20 の標準はほぼサインオフされており、ReSharper C++ では、最新の標準に対応できるようにサポートを拡張しました。 制約される型のプレースホルダー、短縮化された関数テンプレート、using enum 宣言など、新しい言語機能がいくつかサポートされています。 さらに、ReSharper C++ は C++20 のテンプレート構文でラムダ宣言を更新するクイックフィックスや using enum 宣言を簡単に導入するためのリファクタリングも追加されています。
ReSharper C++ 2020.1 では、Unreal Engine サポートの更新とともに、Rename リファクタリングが改善され、SpatialOS GDK と仮想ファイルパスを使用した USF ファイルのサポートが導入されました。 ReSharper C++ は、Use auto インスペクションの 非表示やコンソール変数とログカテゴリの命名規則への順守により、 Unreal Engine のガイドラインを厳密に順守しています。
ReSharper C++ 2020.1 は、HLSL の初期サポートを提供しています。 現在の早期の段階においても、基本的なコードのハイライトからスマートコード補完やクイックナビゲーションまで、さまざまな機能をサポートしています。
Next Important Call アクションを使って、呼び出しツリーをナビゲートできるようになりました。 Ctrl+Shift+右矢印を押すと、dotTraceはさらに解析を進める上で最も関連性のあるノード(自己実行時間の高いノードなど)に移動します。
この機能は dotTrace Standalone(Performance Viewer と Timeline Viewer)、Visual Studio、および JetBrains Rider で使用できます。
このリリースでは、以下の C# 言語機能のサポートが改善されています。
無料 30 日間体験版をご利用可能です