This document lists possible projects to work on - both large and small. This is definitely not a definitive list; if you have other ideas, feel free to add them here.
How to Start
First, you should make sure that you're not duplicating work - so let somebody know if you're planning to work on one of these tasks. If you're not sure you want to "commit" to finishing anything and just want to play around a bit at first, you can of course work on it in secret until you get further along - just don't be upset if somebody else is doing the same thing and you're both ready to contribute competing solutions.
It might be a good idea to discuss your ideas there first.
Next, get familiar with the code. A great way to do that is to look through the bug list and fix a bug or two in the area related to the code you want to improve.
There is also a RubyCodeOverview document which outlines the Ruby IDE code.
There is also a RubyParticipation document which describes any additional steps needed to contribute your code into netbeans.org - such as license information etc.
Build The Code
See RubyBuildInstructions for instructions on how to check out and build the code.
- First, see the list of requested enhancements in the issue tracker for NetBeans. The various issues will have additional information about what the filer is after.
- Hints and Quick fixes: These are ideal starter-projects since they are fairly self-contained to write. I've moved the list of specific hints
we need into a separate document, RubyAddHints, which also provides a simple set of instructions on how to get started writing hints.
- Improved unit test display ("green bars") etc. Currently the testing support mostly consists of running unit tests in the output window.
- Additional refactorings: This is possible but a bit tricky at the moment; I'm planning some code cleanup such that this will be a bit nicer.
- LOTS of things should be added here; this document is a bit of a placeholder at the moment
- Teach code completion about database models (by inspecting the migrations files)
- Improve database integration
- Better YAML support
- Better DRYML / Extract tags from current documentation
There are some other areas that the Ruby IDE support depend on that also could use contributions
- Improve the keybindings, particularly on the Mac such that they conform to the Mac standards. Similarly for the Emacs keybindings.
- Improve the color themes (there are several bundled ones now), or contribute new ones.
- Subversion support: It's currently using command line tools to talk to subversion, but it would be nice to rewrite it to use the java subversion libraries directly