SharpDevelopコミュニティがRefactoring Essentials for Visual Studioのバージョン2をリリースした。今回のリリースには、新しいアナライザと新しいリファクタリング、またVisual Studio拡張機能に対する複数の改善が含まれている。
Refactoring Essentialsは、独自コンパイラにあった機能をC#/VBコンパイラプラットフォームRoslynに移植して、NRefactoryを書き直したものだ。実装以外にも、複数の変更がなされている。リポジトリはNSRefactoryから切り離され、独自の場所に引っ越した。また書き直しとともに、新しい専用ウェブサイトも公開された。
バージョン2には3つの新しいリファクタリングが追加されている。
- 'using' 内に配置
- 'foreach' によるイテレート
- ネストした 'if' のマージ
また8つの新しいアナライザが追加されている。
- 配列生成における冗長なサイズ明示
- 配列初期化子における冗長なカンマ
- 冗長なbaseコンストラクタ呼び出し
- 冗長な空の引数リスト
- 使われていないローカル変数
- 値が代入されたが一度も使われていないパラメータ
- 代入前の冗長な条件チェック
- 'if...return' の 'return' への変換
次の画像は、アナライザがC# 6のnameofオペレータを使うようサジェスチョンしている例だ。
C#バージョンには、96のリファクタリングと102のアナライザが含まれている。VBバージョンには、16のリファクタリングと2つのアナライザが含まれている。その完全なリストはRefactoring Essentialsのウェブサイトにある。
今年初めのRoslynの公開リリースにより、Visual Studioのコードアウェアライブラリの実装が利用しやすくなり、C#/VBのソースコード分析に独自もしくはサードパーティ製コンパイラを使う必要がなくなった。機能は別にして、Refactoring EssentialsはRoslynのAPIを使ったライブコードアウェアライブラリの一例もオープンソースにすることで提供している。
Refactoring EssentialsはVisual Studio 2015拡張機能としてオンラインで入手できる。また、ビルドインテグレーション向けにnugetパッケージとしても入手できる。