Ответ 1
Отказ от ответственности. Я активно участвую в этом проекте.
Rubberduck является надстройкой с открытым исходным кодом для VBA IDE в рамках [очень] активной разработки, что включает эту функциональность.
Версия 1.2 включает инструмент рефакторинга метода извлечения:
Версия 1.3 включает рефакторинг переименования:
Версия 2.0 (бета доступна, все еще стабилизируется) включает в себя десяток рефакторингов:
- Ввести параметр повышает локальную переменную до параметра
- Ввести поле способствует локальной переменной в область видимости модуля
- Encapsulate Field превращает общедоступное поле в свойство
- Move Closer to Usage перемещает поле, которое используется только в 1 процедуре, в эту процедуру. Или перемещает локальную переменную сразу же после ее первого использования.
- Extract Interface позволяет вам выбирать, какие члены класса извлекаются в интерфейс, создает для них новые классы классов с заглушками и делает исходный класс реализованным извлеченным интерфейсом.
-
Интерфейс реализации создает заглушки для всех членов нереализованного интерфейса, поэтому вам не нужно создавать их вручную, выбирая их по одному в раскрывающемся списке панели:
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
Дополнительные инструменты рефакторинга находятся в дорожной карте проекта, на которой вы можете следовать GitHub.