Tim Boudreau: Frequently Undiscovered Features in NetBeans

DZone 's Guide to

Tim Boudreau: Frequently Undiscovered Features in NetBeans

· Java Zone ·
Free Resource

Tim Boudreau is a noted technology consultant, evangelist and author. Most broadly known for his leadership in the NetBeans project while it was part of Sun Microsystems, those who’ve worked with him remark most on his technical chops, passion for a challenge, and rare gift of great communication. And, as a former troubadour, he’s pretty tough when it comes to bad 70s rock lyrics too. A real renaissance programmer!

Since I know the insides of NetBeans, and wrote a few of these, I'd be remiss if I didn't mention a few small features that not everybody knows about - call these frequently undiscovered features (perhaps we can coin the acronym FUF?):

  • Shift-click the X button in an editor tab to close all files (including that one)

  • Alt-click the X button in an editor tab to close everything *except* that one

  • The mouse wheel scrolls the editor tabs

  • You can bind Alt-R (or whatever) to the Rebuild action (i.e., do whatever the last build action was again) in Tools | Options | Keybindings - this one binding saves a bunch of keyboard-to-mouse-to-keyboard switches when you're tweaking code

  • You can gain a row of screen real-estate by passing `-J-Dnetbeans.winsys.statusLine.in.menuBar=true` in
    $NETBEANS/etc/netbeans.conf, inside the "netbeans_default_options" variable (does not work on Mac OS due to the screen menu bar)

  • If subpixel antialiasing isn't working for you, try
    `-J-Dswing.aatext=true -J-Dawt.useSystemAAFontSettings=lcd -J-Dorg.netbeans.editor.aa.extra.hints=true` in the same place in `netbeans.conf`

  • Line Tools - the ability to use alt-shift-up-arrow/down-arrow to move a line or group of lines up or down in a source file is a real time-saver.  You can also press ctrl-shift-up-arrow/down-arrow and duplicate lines.

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}