Wow, it's been a while since I wrote a blog on VS.Php. That does not mean that I haven't been working on VS.Php but I've been spending most of my time writing new features and supporting customers.

PHP 5.4 language features

VS.Php 3.2 has a couple of cool new features. The first one is language support for PHP 5.4. Here are some screenshots of some of the new language features. One I would like to highlight is traits support which comes with intellisense support as well:

Other language features include new notations for arrays and function deferencing:

Other cool language features include class expressions and class member access on instantiation:

One feature that did not make the 3.0 release was project references. This is probably a key feature for intellisense with very large projects. In VS.Php 2.10 we used per file references. This was ok for small projects but it was unmanageable for very large projects. In VS.Php 3.0 we introduced a new intellisense engine that has a much improved project-wide intellisense and does not require file references for files within the project. Since we no longer rely on user references, some of the intellisense features don't work as well in VS.Php 3.0 when using file references. I want to give you an update on project references so you get an idea of what's coming. This is way much better than file references in VS.Php 2.10.

VS.Php 3.0 for Visual Studio includes a large number of improvements and new features.

New intellisense engine

The highlight of this release is the new intellisense engine that provides a much richer experience when working with complex PHP projects. The new intellisense engine improves support for finding classes, functions and constants defined in the project. Also much improved support for namespaces including namespace aliases. Finally, the new intellisense engine gives you information about how it is finding the symbols you are looking for. A new output view is available to see the intellisense messages:

We also improve the ability to access variables defined in other files as long as those files are explicitly included in the file you are working on.

Here is another update that fixes a number of issues reported by customers:

* When refreshing, make sure the selected node stays selected.
* Fix issue with renaming files that are under source control.
* Handle deleting files in SCC
* Replace Php with PHP
* Fix issue when updating status of directory in dirCache.
* Put back the expression checker as XDebug still crashes when sending invalid expressions.
* Make sure version number fits in the updater window
* Select correct node after clicking showall.
* Better handle CLASSNAME property from XDebug
* Fix issue where PDO was not listed in the modules list.
* Fix a number of path issues on PHP 5.2
* Fix a number of path issues on PHP 5.2 (Fix some issues with previous commit, including missing files)

Many customers have asked me how to configure Xampp to work with VS.Php. Tonight, I went through the process of doing this and documented each step so you don't have to figure this out by yourself.

Installing Xampp

The first step is to decide where to install Xampp. I decided to go with the default location. A lot of further steps assume this location. If you pick a different location make sure you take this into consideration.

The next step is choosing what components to install. I chose Apache and MySql servers. I also wanted to install them as services.

In my system, I already have IIS install. This means that Apache is going to fail to start because it is trying to use port 80.

This release fixes a number of issues from previous releases:

  • Website copy now works again
  • Remote file browser now works again
  • Various crashes on intellisense
  • Fixed a number of syntax error checker issues
  • Small performance improvements
  • Fix preferences settings not always sticking
  • Fix issue with apps that used .htaccess
  • Improve system requirement checking on web installer
  • Fix debugging issue in VS2010 and XP
  • Run in elevated more when activating VS.Php.
  • Fix various crashes related to SysStringLen

This is a small update that fixes various issues reported by customers:

Download update

This is a bug fix update with the following fixes:

- Fix bug: http://www.jcxsoftware.com/mantis/view.php?id=503
- Fix issue when launching vs.php.exe from 32-bit systems.
- Fix interoperability issue with CodeSmith Visual Studio plug-in

You can get the latest version here:

http://www.jcxsoftware.com/download.php

I'm very pleased to announce the release of VS.Php 2.10 for Visual Studio. This new release comes with many improvements and lots of bug fixes. One of the new improvements is variable highlighting. When placing the cursor on top of a variable, all instances of this variable will be automatically highlighted. Here is a screenshot:

Another improvement is better support for @return PhpDoc tag as well as recursive intellisense. If your method returns a type known by intellisense, you get intellisense assistance. Here is an example where you have two classes, each with a method that returns a type of the other class. You can see how I can call each method and get access to the return type and keep doing this as much as I want:

We also fix lots and lots of bugs making sure the overall stability of the product is significantly improved over prior releases.

I have updated VS.Php 2.9 to version 2.9.3.6589

The following are the changes in this update:

The last one is very important. Now when Visual Studio crashes, we will be able to get crash information about the issue (if related to VS.Php). Please make sure you send crash information to Microsoft.

Download here:

http://www.jcxsoftware.com/download.php

Thanks,

Juan