IDE's with debuggers that actually work with CodeIgniter

#1
[eluser]BrianDHall[/eluser]
I was playing around with some IDE's today and took a reccomendation to try Aptana. Debugging doesn't seem to work with CI the way I would want it - which is set a breakpoint in, say, my view or controller, then click 'debug' and it halts right there then allowing me to step into/out of/over the code one line of a time, and giving me access to variable values, various scopes that exist at that point in time, objects and their values, etc.

With PhpED this works fine - I can't use breakpoints, I have to type in DebugBreak() and then open the page I want to debug in a localhost browser window...but frankly this isn't a big deal as far as work-arounds go. It works, and I'm good with that.

I wanted to see about a debugger with a little better intellisense and support for SVN/Git source control (PhpED oddly only supports CVS internally, not that using an outside management program would be so horrible - which is what I'll probably end up doing), and any other nice extras would be cool but that's really what I was after.

I tried Aptana, which fits the bill...but debugging doesn't work and in my google searches everyone seems to just say "oh yeah, I don't use that..." and in the Aptana forums it shows up on a lot of wish lists that they want for support for frameworks like CodeIgniter and Cake.

So, what options are they with fully working integrated debugging and SVN/Git source control, and intellisense that works with frameworks like CodeIgniter? Does netbeans or the Zend IDE do all this?

EDIT: Oh, PhpED has inline syntax warning, so if you forget a ; or mismatch a { or ( or ' or " it lets you know right away, which has been so damn useful that I refuse to ever do without it again.

#2
[eluser]n0xie[/eluser]
[quote author="BrianDHall" date="1252132759"]
So, what options are they with fully working integrated debugging and SVN/Git source control, and intellisense that works with frameworks like CodeIgniter? Does netbeans or the Zend IDE do all this?
[/quote]
I've been using Netbeans and it does all that. For Xdebug support (which is a bit tricky to setup it) take a look here:
http://ellislab.com/forums/viewthread/105866/

It also does inline syntax warning, has SVN support integrated, does CodeIgniter intellisense, CodeIgniter code highlighting, CodeIgniter autocompletions, has templates so you don't have to build 'every Controller, method and view' by hand but just let Netbeans create them for you and programmable shortkeys which I use a lot.

This means that when I type:
Code:
db
md
vw

and press 'TAB' it changes this to:
Code:
$this->db->
$this->load->model(_)
$this->load->view(_);

Like with every IDE it takes getting used to and the default 'skin' and 'font' and 'behaviours' could be better (something with spaces and tabs which you have to fix manually) but all in all I'm quite pleased with it sofar. It is a full stack IDE so it won't be fast (unless your hardware is fast) but it should be 'lighter' than most other full stack IDE's.

#3
[eluser]elambiguo[/eluser]
I use two... one in my work (WeBuilder) and one, minus, in my house, but very impressioned with this (phpDesigner).......

P.S. Sorry for my english....

#4
[eluser]attos[/eluser]
You can debug CI code with NetBeans. There is some configuration changes.
Please refer to this post:
http://ellislab.com/forums/viewreply/630554/

#5
[eluser]BrianDHall[/eluser]
Interesting, I might have to give NetBeans a try in my spare time. I'm blessed with fast hardware (the first time I've had fast hardware in like...uh...10 years) so that's not such an issue.

Does it have search/replace in files and code collapsing down to methods/functions too?

Any particular other gotchyas in setting it up to work with codeigniter that you found, or is just getting debugging 'just so' the only real obstacle?

#6
[eluser]attos[/eluser]
You don't really need 'fast hardware'. I use NB in a variety of HW and OS. It even runs OK on an EEE-PC 701 (well, 2GB of memory).

NB provides code folding, searc in projects (or files) and there was a post on how to enable CI autocomplete with netbeans:
http://ellislab.com/forums/viewthread/128248/

No other glitches or gotchas. It just runs like a charm.

#7
[eluser]attos[/eluser]
I was thinking about the 'gotchas'. As I said before there are none, but some requirements and additional configuration are needed:

1. the xdebug extension for your PHP distribution (YMMV)
2. the php.ini needs to be modified to load the extension
3. NB needs know where the PHP interpreter is located

I can help you if you run into problems.

#8
[eluser]BrianDHall[/eluser]
I've decided to try Netbeans, spent about an hour with it at home and only had one problem the whole day.

I did have a problem getting xdebug setup, but I didn't spend enough time on it to see what was up. Thanks for the offer attos, I'll take you up on it if I can't sort it out.

I was pleasantly surprised how non-crappy it was...LOL. I remember using sun's ide for java years ago, and what a difference a few years has made. That thing took unbelievable amounts of time to load (run it and take a break for the next 5 minutes to get it to start), was kludgey and buggy, it made me wonder why anyone would build a complicated application in Java at all.

I love seeing progress. I also noticed a plugin for git as well as native support for SVN and others, and I like the idea of the code expanding option. I'm going to try to spare some time to play around with it, but the deal-breaker is going to be xdebug - debugging has to work really well for me to consider switching.

#9
[eluser]attos[/eluser]
Ok, lets do it.

You need to know where the xdebug extension is located. The dev environment I'm using is WinXP/XAMPP. In the php.ini file I have the following lines:

Code:
[xdebug]
zend_extension_ts=\xampp\php\ext\php_xdebug.dll
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_port=9000
cgi.force_redirect = 0

You may need to restart the web server for this changes to take effect.

In NB, from the main menu select Tools | Options and under the PHP tab (Click on the PHP icon) set the path and file name of the PHP interpreter. In my case I have:
\xampp\php\php.exe
Also check that the debugging port is 9000

Also configure you CI app as mentioned in one of the above posts.

This should do the trick.

#10
[eluser]BrianDHall[/eluser]
I finally got around to trying debugging in NetBeans attos - thanks for your help, it works great! One thing that bit me was I had downloaded the wrong version of XDebug as I didn't get the significance of the version names - darn php 5.3 is trouble all the way around (seeing as how I don't have it) Big Grin

It seems to do everything that debugging did in Phped, except I can actually use real breakpoints and not have to type DebugBreak() in anytime I want a breakpoint.

I'ma liking - thanks for the help! Now to try out that cool autocomplete goodness and version control.


Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  


  Theme © 2014 iAndrew  
Powered By MyBB, © 2002-2019 MyBB Group.