I recently wrote about my switch to phpDesigner as my IDE. Since the article, I have received several comments/feedback telling me I should try NetBeans. I had already installed it once before and didn’t like it, but I couldn’t remember why. So, I thought I’d try it again, except this time, document my experience!
My favorite feature about phpDesigner, and the primary reason why I use it over any other IDE is it’s ability to take files in my project, wrap em all up and create the intellisense for all my classes, functions, methods, and constants, INCLUDING phpDoc comments in my code hints. And as I mention in my article, phpDesigner does this really fast! Even when reading a project off a network drive.
The version I installed was 6.8. Here we go:
- Google: NetBeans -> Website
- Download FREE -> PHP Column -> “Download” Button
- File’s Downloaded -> Install! STOP!
I do not have JDK installed on my computer. Guess I’d better go get that.
- Google: JDK -> Website
- Oh, look! JDK + NetBeans Bundle. I’ll grab that!
- Select Windows, I agree checkbox, Download.
- Now that this is downloaded, Let’s install! … [installing]
- Ok, installed! Let’s Run.
- Fairly Quick Load.
- First thing I’m notified of is there is an Update to the Updater that I need to get.
- Ok, update is done, Restarted IDE, Run again.
- Now that my Updater has been updated, I can now find out about 10-12 more updates that I need for this software. Ok, better get those. I’ll let these run in the background, it seems to be taking a while.
- The interface is nice. Seems clean, easy to use. I’ll create a new project while I wait for updater to finish. STOP!
- I can’t create a new PHP project because I installed the standard version of NetBeans, not the PHP version. I’d better go get the PHP plugin. STOP!
- I can’t get any additional plugins until the updater is done doing its thing. I’ll go grab a soda.
- All right! Update is done again, Restarted IDE, Run again.
- Tools -> Plugins -> Available Plugins -> PHP (and I went ahead and grabbed the PHP Manual Search)
- OK, that should be the last of the updates, plugins, and installs. Restart IDE one last time (hopefully).
My First Project
- Now that PHP is setup, I can create my first project. I’ll select one I’ve already been working on so that I can test out some of the features of the IDE.
- File -> New Project -> PHP -> PHP Application with Existing Sources -> Next -> Select my application folder -> Name my project -> Select PHP 5.3 -> Check box to put metadata in separate directory -> Next -> Finish!
- Ah, ok, here we go. There are my files in the Projects pane, as expected. Let me find a file so I can test out the “intellisense”.
- Browse -> Down -> to -> folder. This is a bit sluggish. There’s a slight delay after clicking the PLUS next to each folder as I navigate down.
- Ok, so I open up a model I built using the CodeIgniter Framework
- The first thing I notice is a new panel has popped up called Navigator. Although the contents are “Please Wait…”.
- I’ll worry about that later, right now, let’s give intellisense a shot. I type $this-> to see what comes up. Heres what I get:
- I also notice in the bottom right corner of the application, there is a progress bar that reads “Scanning projects…”
- I suppose the progress bar explains why intellisense isn’t working. So I’ll wait til the project scanning is done. It shouldn’t take long right?
- While I’m waiting for this to finish, I’ll take a look at some syntax highlighter themes. Hmm. There doesn’t seem to be any to my liking. I’ll Google for some.
- Ah, I found one I might like, I’ll follow the instructions on the blog where I found it and Import this theme.
- Import Successful. I must again restart the IDE or my changes “might not show up.” Restart IDE, again.
- STOP! What is this?? Some huge error has occurred while trying to load a laundry list of plugins (as well as 65 others not shown). I can either Exit or Disable and Continue. Disable and Continue?
- Nice. The IDE is COMPLETELY empty with a PHP button in the toolbar, no menu bars, no panels, nothing else. I must’ve closed down the application while it was doing something REALLY important.
- I have no choice but to uninstall and re-install.
- Start -> Control Panel -> Programs and Features -> NetBeans IDE 6.8 -> Uninstall
- Ok, NetBeans is uninstalled. Let’s re-install it to see if that fixes my problem.
- Step X: Cannot install into Program Files (x86)/NetBeans 6.8 – Directory is not empy
- Navigate to directory, manually delete files: Error, cannot delete files.
- Restart Computer
- Navigate to directory, manually delete files. Reinstall NetBeans.
- STOP! Same error as Step 13 above.
- Uninstall NetBeans, Java 6 Update 20, and Java SDK 6 Update 20
- Restart Computer (ended up not being necessary)
- Reinstalling the entire Package again.
- At this point I’m a little frustrated at NetBeans. It’s wasted a lot of my time and I feel like my efforts will be rewarded by an IDE that will be lacking in what I want anyway.
- Now that I seemed to have gotten that error to go away, I proceeded again with this entire process all over again, from the software updates to the plugin installs/updates, and then the creation of a new PHP project.
- So I’m still waiting to find out how the intellisense works (which is the MAIN reason why I love phpDesigner). Yet I still have a dialog that reads “Scanning in progress…”
- I then try to change the syntax highlighter again, although this time, I know not to restart the IDE while it’s doing something in the background.
- Much time passes and “Scanning Projects…” is still going on in the corner of the window.
- I think I’ll take a break….
- Still Scanning Projects….
- Alas! A new step in the process!!
- Does intellisense now work??
- Nope. 🙁 Gonna wait some more….
- Finally. Everything’s done scanning, the Navigator has stuff in it, and I can test out the intellisense!
- Ok, the intellisense box did not auto trigger and I can’t seem to find a setting to make it do that. I also only see in this list the methods and properties in this specific class. I do not see methods and properties in the class I’m extending.
- I noticed there was a PHP Symfony plugin for NetBeans. Maybe there’s a CI Plugin. I Google and find this blog post.
I’m really not going to pursue this any further. I have gotten to a point in this process where I have firmly established that using phpDesigner is 100x better than NetBeans when it comes to its ability to provide intellisense. The method outlined in the blog post above seems a bit rediculous when my CI folder is sitting inside my project. It should find it and parse through it. The whole point of this functionality is to speed up development time, and adding extra steps to each project is quite the opposite.
On a side note, I restarted the IDE again at this point, and guess what I had to sit through for another 30 min. or so. More PROJECT LOADING… Just as equally slow as the first time. Sorry, no intellisense until that’s done.
I understand there are people that have been using NetBeans for a while and wanted this functionality with CI, however I think I’m just going to stick with what I’ve been using.