ReSharper Ultimate 2019.3では最新のLocalization Manager(ローカライゼーションマネージャー)とType Name Hints(型名ヒント)が導入され、C# 8、C++ 20、Unreal Engineへの対応がさらに改善されています。 ナビゲーション、コードスタイル、ユニットテストが強化され、ReSharperとdotTraceのコマンドラインツールがLinuxとmacOSに対応しました。
無料 30 日間体験版をご利用可能です
新しいLocalization Manager(ローカライゼーションマネージャー)はソリューション内の大量の.resxファイルを効率よく処理するのに役立ちます。 .resxファイル内のすべてを1つのグリッド内に表示しますので、アプリケーションやウェブサイトの最新のローカライゼーション状況を監視してカルチャ内に不足しているリソース値を素早く見つけることができます。
以下の操作を実行できます。
ReSharper | WindowsかSolution ExplorerのコンテキストメニューでLocalization Managerをご確認ください。
詳細については、「Localization Managerを使った簡単なローカライゼーション」をご覧ください。
新しいReSharperでは、C# 8の処理がさらに改善されています。 改善内容には以下が含まれます。
notnull
制約への対応を含むnull許容参照型の理解の強化。 nullable
注釈や警告を有効化する新しいクイックフィックス。async
反復子のCancellationToken
パラメータにEnumeratorCancellation
属性を追加する新しいクイックフィックス。さらに、コード検査「Type or type member is never used」が別々の2種類のオプションに分割されました。1つは型用のもの(「Type is never used」)で、もう1つは型メンバー用のもの(「Type member is never used」)です。
GenerateアクションはC# 8の詳細を理解し、次の機能で支援を行います。
Null可能性
の考慮。また、C#とVB.NETの等価メンバーや比較演算子を生成する際にSystem.HashCode
を使用してGetHashCode
を実装し、コードをクリーンにするのに役立つ新しいオプションが追加されました。
このリリースでは、長らく期待されていたもう一つのご要望に対応しました。 C#の命名設定が、EditorConfigの読み込みとエクスポートに対応しました。
この大きな変更に加えて、より小規模な複数の変更が行われ、コードのスタイルをより細かくコントロールできるようになりました。
var
を使用したい方のために、ReSharperがより「明白」な状況を検出できるようになりました。 また、Roslynの動作に対応する「compatibility」(互換)モードが実装されました。&&
と ||
のどちらが優先されるかを思い出せない場合にこのオプションを使用すると、丸括弧により優先度を明確にすることができます。これまで、Linux上でホストされたCIでReSharperコマンドラインツールを実行可能かというお問い合わせをよく頂いていました。 このお問い合わせに対し、当社は長らく不可能であると回答してきました。しかし、当社は懸命な努力によってWindows固有の部分を取り除き、すべての機能をLinuxとmacOSのMonoランタイムに移植することができました。 Windowsでは引き続き.NET Frameworkが使用されますのでご安心ください。
今回のリリースでは、ReSharperコマンドラインツールがLinuxとmacOSに対応しました! これからは、Windows以外のOSでも思いのままに強力なReSharperのコード解析機能をご利用いただけます。
ReSharper 2019.1 で導入された Parameter Name(パラメータ名)と Code Annotations(コード注釈)のヒントにご満足いただけていたら幸いです。 このリリースではさらに対応を拡充させ、Type Name Hints(型名ヒント)を提供できるようになりました。 これらのヒントは以下でご利用いただけます。
たいていの人は、特定の参照がコード内で使用されている箇所を知りたい場合があります。 以前から長らく参照で「Find dependent code」アクションを実行し、その参照から型や型メンバーの出現箇所をすべて見つけることはできました。 しかし、この操作には常に制限がありました。
2019.3リリース以降、制限のいくつかを撤廃しました。
Unit Testingツールウィンドウはすでに十分に優れており、期待される機能のほとんどを備えています。 しかし、当社はユニットテストのリスト表示をカスタマイズする方法をさらに追加できると考え、これを実行しました。
識別子のハイライト表示を完全に作り直しました。 コードハイライトの精度を高めるためのカラー設定を追加しました(Tools | Options | Fonts and Colors
でご利用いただけます)。 新しいカラー設定には以下が含まれています。
C++20はすべての機能が実装完了しており、C++開発者に待ち望まれている多数の機能を提供するために来年にも公式に承認される見込みです。 ReSharper C++ 2019.3ではすでにこれら多くの機能に対応しており、追加の解析と洞察による機能強化が行われています。
まず、ReSharper C++は集約を括弧で囲まれた値のリストから初期化できること、および関数テンプレートを使用する一部のケースで追加のADLを実行する必要があることを認識するようになりました。
ConceptはReSharper C++のパーサーでサポートされているだけでなく、RenameリファクタリングとFind Usagesも利用できます。 さらに良いことにはコード解析機能により、Concept関連のエラーについてより詳細な情報を取得することができます。 例えば、Conceptの要件が満たされていないためにオーバーロードの解決に失敗した場合、ツールチップに詳細な情報がすべて表示されます。 また、ReSharper 2019.3ではオーバーロードの解決失敗に関する情報を表示するツールチップに色を追加しました。
当社は新しい言語の機能とそのReSharper C++への採用について学ぶためにご利用いただけるC++20とReSharper C++に関するブログ投稿シリーズを開始しました。
ReSharper C++はUnreal Engineプロジェクトが開発されていることを検出すると、UE4固有の機能への対応度を高めるように動作を調整します。
UCLASSes
の「新しい」後置テンプレートは、適切なfactory関数呼び出し(作成されたオブジェクトをガベージコレクターに登録する)に対応しています。 USTRUCT/UCLASS/UENUM/UENUMCLASS
を素早く生成するのに役立ち、それぞれに対応する名前を持つライブテンプレートをご利用いただけるようになりました。
Unreal Engineのスマートポインタ(TSharedPtr、TSharedRef、TWeakPtr、TUniquePtr
)をstd::shared_ptr/std::unique_ptr
と同様にReSharper C++で処理できるようになりました。 つまり、Parameter Info(パラメータ情報)、コード解析、Postfix code completion(後置コード補完)などの機能をスマートポインタに使用できます。
さらに、UE4プロジェクトに対して複数のパフォーマンス改善が行われました。 例えば、UE4のエディタで「Refresh Visual Studio Project」を実行した後にハングする問題を修正しました。
ReSharper C++の新機能をご確認ください。
コマンドラインプロファイラがついにmacOSとLinuxに対応しました。 dotTrace.sh
がWindows版と同様の機能を提供し、.tar.gzアーカイブおよびNuGetパッケージとして配布されています。
dotTrace 2019.3の新機能をご確認ください。
dotCover 2019.3では複数の改善が行われています。
dotCover 2019.3の新機能をご確認ください。
無料 30 日間体験版をご利用可能です