Rubberduck is an open-source COM add-in project for the VBA/VB6 IDE written in C#. Use this tag for reviews of the C# source code, or for reviews of VBA/VB6 client code.

Rubberduck is an open-source COM add-in project for the VBA/VB6 IDE written in C#. Use this tag for reviews of the C# source code, or for reviews of VBA/VB6 client code.


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.

history | excerpt history