I always wanted to write this up after noticing numerous people struggling to work on enterprise level applications in a terminal or in a simple Text Editor.
Although nowadays the text editor scene has changed a lot with them getting advanced as the likes of Sublime, Atom or Brackets, and these are pluggable as well, so community is working to add the missing features.
But even after that, I still prefer an IDE for full blown development as it provides me everything at one place. My choice of IDE right now (and since last two years) is NetBeans. It can be downloaded from here. I finally chose it after struggling with performance issues on Eclipse and Zend Studio.
I am a PHP programmer and have benefited a lot from below enlisted features provided by NetBeans IDE:
- Click to follow
- Word Completion
- Context Menu Integrations
- Version Control Integration
- Clean and feature filled Search interface
- Everything at one place
- Other Features at a glance
Now this is something that will top the list of any feature that the IDE gives you. I myself used an IDE in the initial days just for this feature.
An Auto-completer that comes with such an IDE is a comprehensive, project wide auto-completer out of the box, unlike the in-file auto-completion provided by Text Editors. It scans all your project files and actually understands the language that you are coding in.
It suggests you the type, function, method, property and almost anything that you want.
Here is an example video, which shows NetBeans excelling in PHP, CSS, JS and HTML auto-completion:
If you see the video you will notice that it even suggests the CSS selectors that you have in your project, for HTML tags. Now how cool is that!.
2. Click to follow
New to a project which already had been in the development from quite sometime? You don’t know what libraries are being used, what is the source of the code. Then this feature will come in handy for you.
You can hover over a method, variable, object etc while pressing “Ctrl” and see where is it coming from. “Click + Ctrl” to go to the definition. This is really helpful if you are working with Open Source Technologies, as browsing through the source code becomes easy and efficient.
Afraid of getting lost in the myriad of code? Worry not you can come back to your initial position by “Alr + left arrow”
3. Word Completion
This is different from Auto Completion. I am not sure if any other editors have this feature, but NetBeans has a very handy feature, using which you can press “Ctrl + k” and it will complete the word for you.
Now this word can be anything from a variable name, array index. It saves a lot of typing and typos, as you can be sure that you are getting the same word throughout your code(the way you wrote it).
4. Context Menu Integrations
This is again a very convenient feature. NetBeans can add one of your favorite utility programs right into the context menu. Just go to Tools > Options > PHP and configure all the tools that you want.
Yes, you can reuse a set of lines of code that you want again and again with ease by creating a Snippet (Template) for it. This can be configured through Tools > Options > Editor > Code Templates.
Pallete is another feature which is even more advanced as it lets you add dynamic snippets. Dynamic snippets are the snippets that you can configure every time you use them.
Some people don’t use a particular tool because they don’t like the look and feel of it. But with NetBeans you can change almost every aspect of it. Apart from selecting how the syntax coloring will be, you can even control how the windows look like.
In my screen-shots, you can see that I use a darker theme that is different from the default theme.
You can change UI theme by going to “Tools > Options > Fonts and Color” and “Tools > Options > Appearance”
Usually, this is where IDEs excel and NetBeans is no exception. It provides all the debugging tools that a coder needs. I believe that Debugging is a great learning experience as you get to see step by step where you went wrong and can be careful in future.
If you are using PHP, you just need to setup xdebug(enable the php extension) and then you are ready to debug your code.
Standalone scripts can be debugged directly without special effort if you have xdebug installed. For debugging web applications you will need to send an IDE_KEY in the request(through cookies or request parameters).
This will greatly help you in finding those bugs in the code or logic.