00:00:06.359
Video equipment rental cost paid for by Peep Code.
00:00:18.840
So, what's Ruby doing in a Java IDE like NetBeans? Lots!
00:00:21.279
The claim of an IDE, which stands for Integrated Development Environment, is that it contains everything the developer needs to perform their tasks within the environment. At least, that’s the goal. In short, NetBeans does quite a good job of achieving this. Part of this is that I often go outside of it to discover features that are already available within the IDE, which I simply was not aware of. In fact, I learned a few things about it while working here.
00:00:39.000
Back in February, I started looking for a faster way to develop software. My minimum requirements for an IDE are that I can create files, specifically text files; I don’t need a graphics editor since I’m not an artist. I need the ability to update and edit these files, and I find syntax coloring or highlighting to be very helpful. While I might be willing to give it up for compelling reasons, I really appreciate it. When I first discovered syntax coloring, I thought, 'Oh, that looks pretty.' However, after a few years of using it, I realized it could feel somewhat anemic and slow without it. NetBeans enhances syntax coloring, taking it to the next level with consistency and logic.
00:01:06.520
Other essential features include compilation, building, and running the necessary commands for your programming language, as well as debugging and version control support. I would never hire an employee or developer who doesn’t utilize version control, and I wouldn’t choose an IDE that lacks version control support. Fortunately, NetBeans certainly meets these minimum requirements and even offers more functionalities. While I won’t cover all of these basic features, as you can find detailed information in flyers and through actual use, I will focus on the pleasant surprises I encountered.
00:01:51.000
I want to discuss four main features: change highlighting, what I call incremental or local undo and redo, auto-complete, and the API documentation. I’ll cover them together. Additionally, I'll discuss the testing support available.
00:02:52.040
NetBeans.org is the website for these resources. Here, you can access a variety of tutorials, including at least six that are Ruby or Rails-specific. There are flyers available that are nicely designed, two-sided, and glossy, but they do not mention Ruby and Rails directly. The Ruby and Rails support is currently in beta, but I'm using it for production work and have no major complaints. This support was introduced in version 6, and they are now up to version 6.1. I recommend downloading version 6.1 with the Ruby on Rails bundle. It's a convenient package with a single download and clean installation, taking a little time to catalog the content, but once it's done, it runs very efficiently.
00:03:40.360
Now, let’s talk about change highlighting. In the editing window, there’s a blue bar on the left that indicates modifications. If a line is new, it appears green, while deleted lines show up in pink. These colors are consistent across different views. If I hover over these colors, it will reveal what the line used to contain, and clicking on it will show you the previous version of that line. This functionality makes navigation through changes easier.
00:04:44.960
The local undo feature distinguishes between chronological changes and local modifications. For instance, in an error scenario, I might turn an error raise into an if statement. The original 'raise' is no longer a fatal condition, and I can manage changes without them cluttering the view. This allows for smart indentation, helping to maintain clarity in modified code.
00:05:20.000
Navigating through modifications is straightforward as you see what changes have been made. On the right, similar color indicators represent modifications, deletions, and insertions. A little black line with a circle indicates the current line. One aspect I appreciate about NetBeans is its friendly exploration approach. Tooltips explain the functions of various controls, helping users understand their options intuitively.
00:06:03.080
The change highlighting serves not only as a visual aid but also as an interactive tool, allowing users to engage directly with files. Additionally, there are syntax error markers. For example, if I introduce an error, it will highlight in red, indicating where the issue lies. There are also style hints available specific to Ruby and Rails development, which prove to be quite useful.
00:07:12.680
When working with files that contain numerous changes, side-by-side comparison can be helpful. NetBeans offers a feature I refer to as rubber banding diffs, which align unchanged lines fluidly while marking where modifications occur. In this mode, insertion and deletion indicators assist in reverting changes if needed.
00:08:00.000
I have the capability to undo a deletion easily, but I also discovered an arrow in the middle that undoes everything. Unfortunately, it doesn’t have a tooltip explaining its function, which can cause some confusion. Thankfully, there's the standard undo feature if you need to revert unexpected changes.
00:09:08.680
Now, let’s touch on testing support. NetBeans allows you to run complete test suites or individual tests seamlessly. You can run rake tests, rake unit tests, and rake spec modules. It also features generators to help with migrations.
00:09:38.200
Lastly, the auto-completion feature is quite effective. It automatically completes terms when I type class names or method names and offers a range of suggestions, including inherited methods and those explicitly defined in the class.
00:10:12.560
Thank you for your attention!
00:10:40.279
Video equipment rental cost paid for by Peep Code Screencasts.