免責事項: 私はこのプロジェクトに深く関わっています。
Rubberduckは、VBA/VB6 IDE 用のオープンソース アドインであり、[非常に] 活発に開発が行われており、この機能が含まれています。
バージョン 1.3 には、名前変更のリファクタリングが含まれています。
バージョン 2.0 (ベータ版が利用可能、まだ安定化中) には、多数のリファクタリングが含まれています。
- パラメータの導入は、ローカル変数をパラメータに昇格させます
- Introduce Fieldは、ローカル変数をモジュール スコープに昇格させます
- Encapsulate Fieldは public フィールドをプロパティに変換します
- Move Closer to Usageは、1 つのプロシージャでのみ使用されるフィールドをそのプロシージャに移動します。または、ローカル変数をその最初の使用のすぐ上に移動します。
- Extract Interfaceを使用すると、インターフェイスに抽出するクラス メンバーを選択し、それらのスタブを使用して新しいクラス モジュールを作成し、抽出されたインターフェイスを元のクラスに実装させることができます。
インターフェイスの実装では、未実装のインターフェイスのすべてのメンバーのスタブが作成されるため、コード ペインのドロップダウンで 1 つずつ選択して手動で作成する必要はありません。
Implements IClass1
Public Sub IClass1_DoSomething()
Err.Raise 5 'TODO implement interface member
End Sub
Public Function IClass1_GetFoo() As Integer
Err.Raise 5 'TODO implement interface member
End Function
Sub DoSomething()
End Sub
Function GetFoo() As Integer
End Function
その他のリファクタリング ツールは、プロジェクトのロードマップ ( Extract Methodを含む) にあり、 GitHubでフォローできます。