Guys,

I've been quiet on my blog lately so I wanted to give everyone an update on what am I up to.

First, VS.Php 2.7 has been a great release, probably the best one so far. But while the product has evolved with new features, bugs have crept up as well. I wanted to take time to fix bugs, lots of them. And that's what I've been doing and will be doing for some time.

There are new features I plan, like PHP 5.3, refactoring and obviously VS2010.

But it is time to do some house clean up and put the extra effort in going through the bug backlog.

Now that VS.Php 2.7 is out, I'll like to share our progress with VS.Php for Visual Studio 2010.

If you are currently participating on the VS2010 beta program, you can try VS.Php for Visual Studio 2010.

Here is a screenshot of VS.Php running on Visual Studio 2010:

VS.Php for Visual Studio 2010

There are a number of things broken but basic functionality is there.

You can download the latest build here: vsphp_en_2010.exe

I have made some improvements to the smart indentation feature in VS.Php. Smart indentation can be enabled here:

I tried to address a number of issues with the previous version where things didn't align well. In many cases things don't align well if there are syntax errors so it is difficult to do it then.

One of the things I do as I write code is Ctrl+K Ctrl+D, this will auto indent the entire document. You can also do Ctrl+K Ctrl+F if you want to auto indent selected text.

In VS.Php 2.7 I made changes to the IIS integration in which you could use IIS with any existing project by simply changing the debug mode in the project properties. I also had removed the Local IIS project from the new project types. In the lastest build, I reintroduced the Local IIS project which creates a standard PHP 5 local project and then runs the IIS configuration wizard for the project.

Also, in the case you run into this type of error:

Make sure you install the CGI component in IIS:

Update: I have updated the bootstrapper and this one should work pretty good

One of the things we are doing in regards to the standalone edition is that VS.Php will automatically install the shell if you don't have it.

You will download a bootstrapper executable. This executable checks if you have the .Net runtime and Visual Studio installed. If you don't, it will go to the Microsoft site and download those and run their installers. Once all the prerequisites for VS.Php are met, the bootstrapper will download VS.Php from the jcxsoftware site and run the installer.

VS.Php standalone edition is a great tool for PHP developers who don't own Visual Studio. It comes with the Visual Studio shell and provides all the features you find in the other editions of VS.Php.

I'll like to share a bit of history on the standalone edition, where we are today and where we are going tomorrow.

History of VS.Php Standalone Edition

In VS.Php 2.7 we have added extra functionality to the built-in Apache web server. First, you will no longer see a console Apache window showing up when you start the debug session. Instead, you will see a nice icon showing up in the traybar.

Second, if the Apache process crashes, it will recover and will let you continue debug your application. In previous versions, if the Apache process crashes, it would stop the debug session.

Finally, it also informs you if Apache failed to start. Any errors Apache reports to the stderr, will be presented in a message box.

We have redone our IIS integration in VS.Php 2.7. The new level of integration is more powerful and flexible.

You can now use IIS with any local project instead of having a specific project type for IIS. That means you can use the project wizard to create project from existing folder and then use IIS.

IIS7 is now one more option in the debug mode settings.

VS.Php debug settings

When you select the IIS7 debug mode, a wizard will walk you through the process of getting IIS7 configured to run your project.

This is another minor update to the 2.6 branch. The following are some of the key changes in this release:

- Fix indentation issues when using "else if"
- Fix reconnection issues on remote server projects. When the connection goes down, it will reconnect silently. It also has the ability to force a reconnection.
- Fix issue on remote project servers that allows to create new folders.
- Fix problem detecting if a remote folder existed
- Fix issue with saving credentials for remote server projects.
- Fix issue with XDebug and remote server projects with mapping breakpoints.

Until now, we have been including both PHP 5 and PHP 4 runtimes with VS.Php. In an attempt to simplify things, I was wondering if we could get rid of the PHP 4 runtime. Afterall, I think everyone has moved to PHP 5 by now since PHP 4 is no longer supported.

What if I get rid of PHP 4 in the next release of VS.Php 2.7? Any issues with that? Please speak up before I get rid of it.

Happy Easters!

Juan