Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Carl Mosca: My Five Favorite NetBeans IDE Features!

DZone's Guide to

Carl Mosca: My Five Favorite NetBeans IDE Features!

· Java Zone
Free Resource

What every Java engineer should know about microservices: Reactive Microservices Architecture.  Brought to you in partnership with Lightbend.

Continuing a series of articles focusing on NetBeans users and their five favorite NetBeans IDE features, here's the next part, by Car Mosca. -- NetBeans team.

I am Carl Mosca (my blog is here) an IT Director for the U.S. Courts where I spend most of my time designing, implementing and deploying case management and financial related systems.  Although I have been in IT management for many years, I still have fun writing code on a regular basis. 

In addition to my main focus of Java and related technologies, I enjoy working with a variety of other languages which lately include Dart and Go.  I am energized through the challenge of trying to stay current in this exciting field.

What are your 5 favorite NetBeans features?

1. Familiar Look. The first thing I liked, and still like, about NetBeans is that it has a familiar look. This may be because I was a long time Delphi and JBuilder user, both Borland IDEs, and NetBeans was, at least to some extent, inspired by Delphi's IDE style and functionality. NetBeans feels natural to me and I think it is generally very approachable for new developers.

2. Out of the Box Functionality, e.g., Maven. Out-of-the-box functionality is my second reason for liking NetBeans.  I install the full version of NetBeans on Mac OS X, Linux, and Windows and I am up and running very quickly. 

I use Subversion, Git,  and Maven and I do a variety of work in Java and this stuff just works. 



It's worth pointing out that Maven support in NetBeans is not an afterthought or something that coexists as a native project type.  I can modify my POM file from within NetBeans or do a command line build and the IDE is in synch with the project because NetBeans "knows Maven."

3. No Workspaces. This may be unsettling for users of some other IDE's, but I tend to want to open and close individual projects on demand.  I am usually involved in a variety of development efforts and I may need to open a project for a quick look or modification.  I also don't like the configuration bloat and potential corruption that may go along with the concept of a workspace.



4. Java Editor. Code completion, hints, searching (across projects), and code generation. These four are the tip of the iceberg for me. 



They are the first four "I-know-the-IDE-is-smarter-than-I" features that don't get in my way and are available at the touch of a hot-key.

One very current example is if you're moving or thinking of moving a project to Java 8. Give NetBeans a look and you will quickly understand what I mean. I have used other IDEs that have similar features but I find myself just using them in NetBeans with no tweaking or searching.

5. Open Source Community. NetBeans itself is open as is the community.  While many folks may use software as-is and wait for updates and new features, NetBeans users can have an active role in the development process: 

https://netbeans.org/community/index.html

Bug reporting, feature requests, testing, and support are all very active and welcoming communities and continue to make for a better IDE.

Do you and your colleagues also want to share your team's favorite NetBeans features with the world? Write to netbeans dot webmaster at gmail dot com.

Microservices for Java, explained. Revitalize your legacy systems (and your career) with Reactive Microservices Architecture, a free O'Reilly book. Brought to you in partnership with Lightbend.

Topics:

Opinions expressed by DZone contributors are their own.

THE DZONE NEWSLETTER

Dev Resources & Solutions Straight to Your Inbox

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

X

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

{{ parent.tldr }}

{{ parent.urlSource.name }}