/Rubberduck

Every programmer needs a rubberduck. COM add-in for the VBA IDE (VBE).

Primary LanguageC#GNU General Public License v3.0GPL-3.0

Rubberduck

Branch Build Status
master master branch build status
next next branch build status

Rubberduck is a COM Add-In for the VBA IDE that makes VBA development even more enjoyable, by extending the Visual Basic Editor (VBE) with menus, toolbars and toolwindows that enable things we didn't even think were possible when we first started this project.

If you're learning VBA, Rubberduck can help you avoid a few common beginner mistakes, and can probably show you a trick or two - even if you're only ever writing macros. If you're a more advanced programmer, you will appreciate the richness of Rubberduck's feature set.

Follow us on Twitter!

Rubberduck Wiki


#Contributing

If you're a C# developer looking for a fun project to contribute to, feel free to fork the project and come meet the devs in Code Review's "VBA" chatroom - we'll be happy to answer your questions and help you help us take the VBE into the 21st century!

Some issues are tagged with help-wanted, but that doesn't mean we can't use some help with anything else in the project - if this project interests you, we want to hear from you!

We follow a development branch workflow, so please submit any Pull Requests to the next branch.

There is additonal information about building the project in our wiki.


#License

Rubberduck is a COM add-in for the VBA IDE (VBE).

Copyright (C) 2014-2015 Mathieu Guindon & Christopher McClellan

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.


#Installation

Visit our releases page, download the installer, and run the Setup.exe.

If you're upgrading from version 1.0, you will need to completely uninstall it before installing the newest release. This isn't necessary when upgrading from newer versions. Also, be sure to back up the rubberduck.config file in the \AppData\Roaming\Rubberduck\ directory prior to installation.

##System Requirements

  • Windows Vista or more recent (tested on Win7 and Win8.1)
  • .Net Framework 4.5
  • Microsoft Office 97-2003 or higher

Please feel free to test it on other versions and submit any bugs on our issue tracker.

Note: The 1.2 installer doesn't work for 64 bit versions of office. You can find the work around here.


#Attributions

##Software & Libraries

###ANTLR

As of v1.2, Rubberduck is empowered by the awesomeness of ANTLR.

What is ANTLR?

ANTLR (ANother Tool for Language Recognition) is a powerful parser generator for reading, processing, executing, or translating structured text or binary files. It's widely used to build languages, tools, and frameworks. From a grammar, ANTLR generates a parser that can build and walk parse trees.

We're not doing half of what we could be doing with this amazing tool. Try it, see for yourself!

###LibGit2Sharp

What is LibGit2Sharp?

LibGit2Sharp is the library that has allowed us to integrate Git right into the VBA IDE (and as a nice bonus, expose a nice API that handles the nitty gritty of importing source files to and from the IDE to a repo for you).

LibGit2Sharp brings all the might and speed of libgit2, a native Git implementation, to the managed world of .Net and Mono.

Okay, so what is libgit2?

libgit2 is a portable, pure C implementation of the Git core methods provided as a re-entrant linkable library with a solid API, allowing you to write native speed custom Git applications in any language which supports C bindings.

Which basically means it's a reimplementation of Git in C. It also happens to be the technology Microsoft uses for their own Git integration with Visual Studio.

##Icons

We didn't come up with these icons ourselves! Here's who did what:

###Fugue Icons

This beautiful suite of professional-grade icons packs over 3,570 icons (16x16). You name it, there's an icon for that.

(C) 2012 Yusuke Kamiyamane. All rights reserved. These icons are licensed under a Creative Commons Attribution 3.0 License. If you can't or don't want to provide attribution, please purchase a royalty-free license.

###Microsoft Visual Studio Image Library

Icons in the ./Resources/Microsoft/ directory are licensed under Microsoft's Software License Terms, must be used accordingly with their meaning / file name.

You have a right to Use and Distribute these files. This means that you are free to copy and use these images in documents and projects that you create, but you may not modify them in anyway.

For more information, please see the EULAs in the ./Resources/Microsoft/ directory.