Skip to content

vaginessa/Rubberduck

 
 

Repository files navigation

Branch Description Build Status
master The last released build master branch build status
next The current build (dev) next branch build status

Average time to resolve an issue Percentage of issues still open

rubberduckvba.com Wiki Rubberduck News contact@rubberduckvba.com
Follow @rubberduckvba on Twitter


##What is Rubberduck?

It's an add-in for the VBA IDE, the glorious Visual Basic Editor (VBE) - which hasn't seen an update in this century, but that's still in use everywhere around the world. Rubberduck wants to give its users access to features you would find in the VBE if it had kept up with the features of Visual Studio and other IDE's in the past, oh, decade or so.

Rubberduck wants to help its users write better, cleaner, maintainable code. The many code inspections and refactoring tools help harmlessly making changes to the code, and unit testing helps writing a safety net that makes it easy to know exactly what broke when you made that small little harmless modification.

Rubberduck wants to bring VBA into the 21st century, and wants to see more open-source VBA repositories on GitHub - VBA code and source control don't traditionally exactly work hand in hand; unless you've automated it, exporting each module one by one to your local repository, fetching the remote changes, re-importing every module one by one back into the project, ...is a little bit tedious. Rubberduck integrates Git into the IDE, and handles all the file handling behind the scenes - a bit like Visual Studio's Team Explorer.


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. See the Installing wiki page.

If you're a C# developer looking for a fun project to contribute to, see the Contributing wiki page.


##License

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

Copyright (C) 2014-2016 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/.


#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.

###WPF Localization Using RESX Files

This library makes localizing WPF applications at runtime using resx files a breeze. Thank you Grant Frisken!

Licensed under The Code Project Open License with the author's permission to re-release under the GPLv3.

###Using Raw Input from C# to handle multiple keyboards

A library using the Raw Input API for reacting to low level keyboard/mouse events.

Licensed under The Code Project Open License.

##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.

###SharpDevelop

Icons in the ./Resources/Custom/ directory were created by (or modified using elements from) the SharpDevelop icon set licensed under the MIT license.


##JetBrains | ReSharper

JetBrains ReSharper logo

Since the project's early days, JetBrains' Open-Source team has been supporting Rubberduck - and we deeply thank them for that. ReSharper has been not only a tool we couldn't do without; it's been an inspiration, the ultimate level of polished perfection to strive for in our own IDE add-in project. So just like you're missing out if you write VBA and you're not using Rubberduck, you're missing out if you write C# and aren't using ReSharper.

Note: Rubberduck is not a JetBrains product. JetBrains does not contribute and is not affiliated to the Rubberduck project in any way.

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 96.6%
  • Visual Basic .NET 2.5%
  • Other 0.9%