We added support for XDebug in the preview engine so you can use it right out of the box. When configuring your project you can select Xdebug or DBG. When the debug session starts, Apache will load Php with the configured debug engine.

XDebug has a lot more features than DBG and it is more stable in Php 5 so I recommend you using it instead of DBG.

As part of our move to XDebug we are adding new features that were not available in DBG.

The first one is support for the local variables watch window. XDebug has the ability to retrieve this list and we are adding support for it.

The second feature/bug fix is the ability to keep breakpoints working after you made modification in the code. Before those breakpoints needed to be reset. Right now the fix only applies to XDebug but we are going to try to fix it on DBG as well.

The next VS.Php 2.4 build will contain these changes.

Up to this point, the deployment functionality in VS.Php has been pretty simple. You make changes to your files locally and push those to the server by deploying your project.

In VS.Php 2.4 we are adding a very handy tool that gives you a lot more flexibility and functionality. It is called Website Copy. When working on a local project with deployment configured you will see a new icon in the solution view toolbar. This new icon will give you access to the website copy dialog.

The next build of 2.4 will contain full support for XDebug. This means you can now use DBG or XDebug for debugging your scripts. We've seen issues with DBG in the past, in particular with Php 5. XDebug delivers a better debugging experience than DBG and we hope you can benefit from this new feature.

To configure XDebug you need to change your project settings and select XDebug instead of DBG (the default). Also you need to configure your web server to use the XDebug module. These are the settings I've been using on Windows:

        

This is a minor release with a lot of bug fixes around deployment and remote projects. Including the ability to handle connections going down when working on remote projects. VS.Php will reconnect and continue working properly.

We also fixed a lot of issues with the debugger while dealing with non-Western text encodings.

As for new features, we added experimental support for __autoload and magic properties' intelliense. I wrote blog entries on both of these features.

The list of changes can be found here:

Changelog

In the latest dev build you will find a new feature that will help those using magic properties.

When you document a class like this:

/**
* my class
* @property string $myName This is a cool property
*/
class myClass
{

}

Any instance of myClass will show the property myName as specified in the PhpDoc comment. This is useful for those using magic properties via the __get and __set methods.

The intellisense also sets the type of the variable as well as a description of it.

You can get this functionality on the latest build here:

We have added support for __autoload to VS.Php. Here is how it works.

When you have in your code something like this:

$a = new foo();

VS.Php will try to include foo.php. This is the default behavior. It is equivalent to this:

require_once("foo.php");
$a = new foo();

You can change the behavior of this feature by adding a registry key. We will put this in the UI at some point in the future.

Under the HKEY_LOCAL_MACHINE\Software\VS.Php\V2.3\2005 (Change your edition if different)

Add the following string entry autoloadTemplate

Changelog list for VS.Php 2.3.5.3964:

  • Allow to execute a command before and after deploying your project
  • Allow remote projects to use custom port numbers. Use server:port to set custom port number
  • Fix issues with forcing a code page for the entire project
  • Use application data directory for storing session info. This makes it Vista friendly
  • Add support for setting passive/active FTP connections
  • Fix problems when showing Japanese and non-Western characters in the debug window

When creating a remote project, importing a project or setting deployment settings, you can use the following format to configure custom port numbers:

server:port

If you just type the server name in the server text field, VS.Php will use the standard port for the particular protocol. But entering server:port allows you to tell VS.Php to use a different port.

We posted a new version of VS.Php

http://www.jcxsoftware.com/jcx/vsphp/beta

That fixes various issues in VS.Php 2.3:

- Adding existing files on remote projects now works properly. When you select add existing file and select a file outside the project on the local machine, the file will be added to the desired folder and uploaded to the server. It also checks if the file already exists on the server and may ask you to override it.