Geertjan's Blog

  • February 24, 2015

From Sublime to NetBeans?

Geertjan Wielenga
Product Manager

What if Sublime were to be less cool than you thought and what if NetBeans were to be faster than you've assumed it to be? Right-clicking on an HTML file on disk and then opening it into Sublime takes 1 second, while with NetBeans IDE 8.0.2, if you're using the small HTML5 & PHP distribution (which doesn't need the JDK, only the JRE) it takes 9 seconds. Is 8 seconds a very big deal? To me, it sounds like NetBeans is an IDE that is 8 seconds away from being as fast as an editor.

Sure, performance and speed is a lot more than startup time. It's also about how quickly and easily things open and how smoothly you can switch from one task to another. But even here NetBeans has made great strides over recent releases and there's useful plugins like the Sublime feature (in fact, on the NetBeans Plugin Portal there are currently 6 different Sublime plugins) and the One Click Open Sesame feature to make it even more editor-like. Below are two screenshots, on the left of each you see Sublime, on the right you see NetBeans. Click the images to enlarge them and, unless I'm very much mistaken, the difference between them is 8 seconds faster startup time for Sublime, versus heaps of integrated features (which surely are worth waiting 8 seconds for) in NetBeans.

If you haven't tried the small bundle of NetBeans, i.e., the bundle aimed specifically at frontend developers, i.e., the HTML5 & PHP bundle, go here to get it (all free):


One feature I really like in Sublime, and it is also in the JetBrains products, is the multicursor functionality. I.e., you can have more than one cursor, i.e., on multiple lines. Lets you select code in multiple lines and change them at the same time, like rectangular block selection but not limited to a block. Seems like an extremely cool feature to me. However, the question does arise how often one needs that feature versus, for example, code completion for AngularJS directives, with embedded AngularJS documentation, as well as cutting edge KnockoutJS features, and native integration with Git, Gulp, Grunt, Bower, Node.js, Cordova, SASS, LESS, Mocha, Karma, Protractor, and Selenium, as well as integration with the Chrome browser, a library of out-of-the-box samples, and heaps more.

If you're going to respond to this admittedly contentious blog entry, it would really help if you've recently, i.e., over the last 6 months, made heavy use of both Sublime and NetBeans.

Join the discussion

Comments ( 13 )
  • Geertjan Tuesday, February 24, 2015

    PS: A similar argument is made here -- http://tech-tamer.com/netbeans-v-sublimetext-experiment/

  • Ryan Tuesday, February 24, 2015

    Is it possible the One Click Open Sesame plugin is messing with the Source/Design view buttons? Since installing the OCOS plugin selecting the Source view has become very difficult and flickery. Disabling the plugin fixed the issue. Maybe its just me.

  • Geertjan Wednesday, February 25, 2015

    Hi Ryan, yes, it's possible that the plugin might have a strange side effect with Source/Design buttons. I'll take a look. Thanks for trying it out!

  • Richard Willis-Owen Thursday, February 26, 2015

    For those interested in seeing multicursor functionality in NetBeans - there is a feature request you can vote for at https://netbeans.org/bugzilla/show_bug.cgi?id=200027

  • EdwinF. Thursday, February 26, 2015

    Hi Geertjan.

    I'm confused, how different is this multicursor sublime feature from the block netbeans feature activated by Ctrl+Shift+R ?. They look the same to me.

  • Geertjan Thursday, February 26, 2015

    Hi EdwinF. These two features are completely different. Imagine being able to press Ctrl-Alt-Click (that's how it work in IntelliJ IDEA) on multiple different lines and then, everywhere you have done that, you will have a cursor and then when you start typing, you will start typing from all those cursors at the same time. E.g., you'll be able to replace similar text in multiple different places very quickly and easily.

    Then again, the fact that you're not missing it (a lot of people don't miss this feature either) kind of implies that it's kind of a nice feature. Still, we're going to work on this feature in the coming period, many from other IDEs and editors are very familiar with it, to the extent that they're not using NetBeans specifically because they miss this very specific feature.

  • EdwinF. Thursday, February 26, 2015

    Thanks Geertjan, I get it... several non-contiguous lines at the same time. That's kind of weird, but it can be of some help, however I use the block selection a lot in Netbeans. I imagine if the feature is available, I probably find an use scenario for it.

    However, and it's not the purpose of this blog entry of yours (sorry :-)), I'm eager to see a new full JavaFX Netbeans version, getting rid of the outdated Swing for good. That way we could start seeing the hw acceleration magic in our "powerful" computers ;-).

    Thanks again.

  • guest Thursday, February 26, 2015

    " getting rid of the outdated Swing for good."

    This is the kind of comment I hate to see.

    I work with the good old Swing in NetBeans and I love it. And it does exactly what I need from it.

    The egoism of those who call to remove Swing just beats me. You want to use javaFX - please do so.

    But removal of Swing will upset a lot of other users.

    So, please don't think only of yourself.

  • Geertjan Thursday, February 26, 2015

    guest, it seems you don't have much of a clue what EdwinF is referring to here. He's not saying that he doesn't want Swing tools to be part of NetBeans. He's saying that NetBeans itself should be created in JavaFX.

  • Hung Thursday, May 7, 2015

    Hi everybody! I;m Hung. I from Vietnam. I am trying to learn Java but i see it's very hard.

    I am new star to learn Java. I hope all person can interesting help me. Thanks a lot all.

  • Carlo Friday, May 8, 2015

    Netbeans is better for OO programming specially when analysing existing sourcode. It allows you to navigate through objects' methods easily. This is impossible using Sublime Text. Also, I like the integration with Git. However, some tines it gets a bit slow and the work are is too small compared to Sublime text.

  • Paul Ingram Thursday, March 31, 2016

    Hi Geertjan,

    Admittedly I haven't used Netbeans in quite a while, but my comment is sparked by your question regarding multicursor in Sublime - "how often do you realistically use it"?

    I used to be a very heavy Netbeans user and switched to Sublime because of speed alone. I'm considering a switch back to Netbeans though, at least for some projects, so started looking for some of the features I use most in Sublime.

    I know that question is followed by "compared to", however it's a feature I use extensively - mainly with refactoring, but it's a very powerful tool that I use on a daily basis.

    For text parsing tasks I use multi cursor _all the time_ - I realise though that this is definitely the job of a text editor and not necessarily an IDE. Example task - CSV list of email addresses, I want to put them into a format to make them perfect for a MySQL IN () query, takes me about 10 seconds to do because of that feature.

    If I had to name one of the highest used features for me in Sublime, multi cursor is definitely up there. Why not make a fantastic IDE better by implementing your own version of the feature?

  • Geertjan Thursday, March 31, 2016

    I don't really understand you. When you googled for "multi cursor and netbeans", which I'm assuming you must have done, you must have come up with this: https://www.youtube.com/watch?v=iWejyPL5YQI In other words, yes, this is planned for NetBeans IDE 8.2 and is already in the daily development builds on netbeans.org. It is a MASSIVE change, required a lot of reworking, but it has been done. Maybe subscribe to the weekly newsletter or just in general use Google when looking for a feature, etc.

Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.