Rubberduck is an open-source COM add-in project for the VBA/VB6 IDE written in C#. It extends the VBEs capacities through various toolwindows and adds a UnitTesting suite. Please submit bugs & feature requests to the GitHub issue tracker.
Rubberduck is an open-source COM add-in project for the VBA/VB6 IDE written in C#. Use this tag only for usage of Rubberduck, including questions about using and understanding the features listed below. Questions about the C# code of Rubberduck itself should be directed at the devs directly.
Rubberduck started with an idea in the VBA Code Review chatroom, is owned by Mathieu Guindon and RubberDuck, and is maintained by several senior VBA citizens on both Code Review and Stack Overflow.
Official website: http://www.rubberduckvba.com
GitHub repository: https://github.com/rubberduck-vba/Rubberduck
Goal
Make the experience of writing code in the VBE (the VBA/VB6 IDE) as enjoyable as possible, by turning VBA/VB6 development into a modern-day IDE experience with features that have, since the VBE's last update forever ago (citation needed), become standard tooling in pretty much every IDE out there.
Core Features
- Enhanced navigation dockable toolwindows such as the Code Explorer (an enhanced Project Explorer that drills down to module members) and TODO Explorer, global and context-sensitive search tools such as find all references, find all implementations, or find symbol make it much easier to find anything and navigate there.
- Unit testing makes it child's play to add test modules, implement test methods, and execute them.
- Code Inspections locate (and fix) issues in VBA/VB6 code.
- Code Metrics measure things like LoC count, cyclomatic complexity, nesting levels, etc.
- Refactorings for extracting methods, renaming identifiers, and reordering and removing parameters and updating all call sites in a single operation.
- Smart Indenter Rubberduck integrates a C# port of the popular Smart Indenter add-in.
See the repository's issues list for everything the project has on its plate.
Contribute!
Feel free to fork the project, and meet the core devs in the VBA Rubberducking chatroom.