I use PHP Tools for Visual Studio and I really like it. Mainly because I am primarily an asp.net developer and I feel most comfortable in Visual Studio. It's great that it I can use TFS within Visual Studio to manage my php files. It's also nice that some of the generic CodeRush features work (such as dropping markers). I've found their support to be good. It costs money, but it's reasonable.
To get server side debugging working, follow the steps here:
http://xdebug.org/docs/install .
In Visual Studio, you can get to the PHP tools options from the Tools menu. Tools-Options-PHP Tools.
One thing to be aware of is which php.ini file is being used:
IIS uses this php.ini:
%ProgramFiles%\PHP\v5.3\php.ini
This php.ini gets used when you debug from Visual Studio:
%ProgramFiles%\IIS Express\PHP\v5.3\php.ini
I'll mention one more thing since it was a pain to figure out; I have to debug code in the WordPress functions.php file. To get debugging working on functions.php, I first start the VS debugger (by clicking Debug-Start Debugging) on a small test file like this:
<?php
phpinfo() ;
?>
With the debugger running, breakpoints will then be hit in functions.php. Be aware that debugging WordPress like this will only work in your default browser.