C# 8 サポート
新しい言語の機能の大部分はすでにサポートされています。以下を含んでいます。:
- 末尾からの範囲とインデックス
- null 合体演算子割り当て
Switch
式- Switch 文におけるタプル式
- 静的ローカス関数
- 非同期ストリーム
- NULL許容参照型
- 再帰パターン
Using
宣言
nullability アノテーションの入力支援は、最新の言語バージョンの機能をサポートするよう機能強化されました。
より詳細は Indices, Ranges, and Null-coalescing Assignments – A Look at New language features in C# 8 をご覧ください。
Visual Studio 2019 RTMのサポート
ReSharper 2019.1 は Visual Studio 2019 の最新のリリースビルドをサポートしています。 C# 8.0 のサポート以外にも以下の注目すべき変更があります。
- このビルドは Visual Studio 2019 の”async packages auto-load” API をサポートしています。
- Visual Studio 2019の MSTest フレームワークがサポートされています。
コードフォーマットのアップデート
コードフォーマットに関する改善点は以下のとおりです。:
- Backspace を押したときにコードのインデントを解除するための新しい入力支援に対応しました
- すべてのコードフォーマットとコードスタイル設定を .editorconfig ファイルにエクスポートし、JetBrains 製品を使用していない同僚と共有できるようになりました
- フォーマット設定の検出はバックグラウンドで動作します
- 子ステートメント周りをインデントするためのインスペクションの書式設定はデフォルトで ON です
- ディレクティブを使ったソートは Visual Studio および StyleCop の動きと互換性があります。Systemを含め、ディレクティブを使用してすべてをアルファベット順にソートできます。
- 新しいビルトインのコードクリーンアッププロファイルが利用可能になりました
より詳細は Export EditorConfig Code Style, Optimize References for SDK Projects, and More ReSharper 2019.1 Updates をご覧ください。
Go To Text に関するその他のファイル
Go to Text の裏にあるエンジンは、ソリューション内のすべてのテキストファイルを考慮に入れています。
以前は Go to Text は ReSharper によってすでにインデキシングされているファイルのみを考慮していました。 ほとんどのケースにおいて他のファイルのフルインデキシングは高くついてしまうため、ReSharper はコードを含んでいる、またはコードを書くのを助けることができるファイルのみをインデキシングします。そのため、”unknown” ファイルの拡張子を持つすべてのファイルは完全にスコープ外であり、コードではないファイルを検索することはできませんでした。
我々はエンジンをレベルアップしました。インデキシングされたファイルからの結果が表示される間、エンジンはバックグラウンドでインデックスのないテキストファイルで検索を開始します。* proj、.yml、.csv のような異なる拡張子を持つファイルにデータを保存する場合、これは非常に役立ちます。
SDK プロジェクトの参照最適化
ReSharper は SDK プロジェクトにおいて未使用のパッケージ参照もチェックするようになりました。参照を分析し、最適化するには、プロジェクトのコンテキストメニューで “Optimize References” を使用してください。プロジェクトに参照を使用するコードが含まれていない場合は未使用として表示されます。未使用のパッケージは簡単にアンインストールし、プロジェクトの依存関係ツリーをきれいに保ってください!
改善されたメソッドの抽出リファクタリング
メソッドの抽出リファクタリングは、さらにデベロッパーフレンドリーになりました。パラメータの自動生成された名前が望むものではない場合はリファクタリングダイアログにおいてメソッド名、戻り値、可視性と共に名前も編集してください。
コードエディターのヒント
パラメータ名のヒントはコード内のより多くの場所で機能するようになりました。まず、属性のパラメータ名を表示するため、属性の使用箇所でそれらを見つけることができます。2つ目に、 StringFormatMethod
属性でマークされたメソッドには特別なヒントが表示されます。例えば Console.WriteLine()
です。値がその位置に挿入されるパラメータのインデックスを表示します。“ StringFormatMethod” のヒントはデフォルトで無効でありオプションで有効にできることに注意してください。
さらに、メソッド宣言のパラメータに新しいコードアノテーションのヒントを導入しました。 ReSharperのコード解析によって計算されたパラメータのコードアノテーションが以下に指定されている場合は、それらが表示されます。
- 親クラス内のオーバーライドされた基本メソッド、または
- 親インターフェースで宣言された実装メソッド
Unreal Engineのサポート ULTIMATE
プロジェクトのウォームスタートアップ時間およびとコールドスタートアップ時間が大幅に改善されました。特に Unreal Engine プロジェクトのためのいくつかの特別なパフォーマンスチューニングにより、ReSharper C++ 2019.1 は今まで以上にレスポンシブになりました! Unreal Engine コード用に Unreal Engine の命名サポート、リフレクション指定子の補完、RPC用の特別なコード生成とナビゲーションオプション、強化された自動インポートがあります。
C++ プロジェクトのパフォーマンスがより速くなりました ULTIMATE
ReSharper C++ 2019.1 は多くのエリアでパフォーマンスを高めています。コールドスタートアップとウォームスタートアップは大幅に速くなりました。メモリのトラフィックは初期のインデキシング中は減少し、その後のメモリの使用量もより小さくなっています。また、Search everywhere と Go to type もスピードアップしました。そのことで、Go to file member, Go to base class, Go to derived class 検索すべてがインデキシング中にすべて利用可能になりました。