bye Aptana, hello phpStorm

Apr 05, 2010

During the last weeks I've been playing (or working actually) with phpStorm. For those who haven't heard about this, phpStorm (or WebIDE) is an awesome IDE for web developers, it has support for quite a few languages, good deployment options and version control support (SVN, GIT, CVS).

I consider myself one of the now disappointed users of Aptana who have seen how their team started building an incredible IDE for web development that supports quite a few technologies to go shifting towards Rails development. It first started by dropping the support of their own php plugin in favor of PDT (which can be really good) but this plugin has almost no integration with Aptana, all appearance options are separate from the rest.

Now to make it even worse, they release RadRails 3 (Aptana Studio 3) and make everyone scratch their heads. http://aptana.com/ features RadRails, while http://www.aptana.org/ features Aptana Studio. But they also have http://www.radrails.org/ !!

It's time to move on...

Enters phpStorm

To be honest, I never heard of phpStorm or WebIDE before. The only difference between those two is that phpStorm comes with more PHP specific plugins. I'm not sure why they decided to split the project in two but it's not that bad. In my case I stick to phpStorm.

There are too many good things to say about this IDE to fit in one post but I will try list the ones I most like.

Projects

To create one, just open a "directory" and next time you want to open a directory you will see which ones are projects.

Color picker

Helps when making a CSS file to know the actual color you are using, and if you click the color you can access a color picker. Really useful to me.

 

 
Color picker comes up when clicking on the color square

Code completion and Zen-Coding

Pressing Control+Space brings the code completion drop down that is really well implemented. It works with PHP, CSS (even files in the project) and Javascript. Also ZenCoding is good for building HTML and it actually works with XML too.


File completion


Code completion

Deployment

Here's one of the killer features for me. I usually have to work on multiple websites and upload through FTP (or SFTP) so being able to create a connection and map resources is ideal. The best part is that you can have multiple projects using one connection but with different mapping. Makes sense!

You can also use VCS like SVN, GIT and CVS and while I haven't tried it yet it's good to see they are already considering different options.


Access types


Mapping options are project based, but connections are global.

Some customization

While I overall like the default settings, I missed the "Upload to remote server" shortcut from Aptana. Here's a quick fix for that:

  1. Go to File > Settings > Keymap
  2. search for "upload" and then create a key.

Another thing that I don't like is that when you upload the file it tries to preserve the timestamp which on most of my servers it doesn't work. So I prefer to disable the option.

  1. File > Settings > Deployment > Options
  2. Uncheck Preserve Timestamps

Closing comments

I've been working with this IDE for the last 2 weeks, and while it's been an excellent experience I have to mentions the things I don't like. And I hope they get worked in future versions.

  • Fragmentation with WebIDE and phpStorm. Just make one IDE
  • CSS indentation follows the very first ruleset you create, meaning that making a tree-like structure is annoying.
  • Remote server operations and UI are still weak. Needs a lot of improvements.
  • Log window, for FTP, SFTP, GIT, etc.

I strongly recommend giving this IDE a try, because of the best things it has is that they have weekly releases, and usually the newer version has tons of improvements over the previous one.

phpStorm Blog - blogs.jetbrains.com/webide/

phpStorm website - www.jetbrains.com/phpstorm/index.html

Anonymous's picture
Alexey Gopachenko on Apr 21, 2010 As a member of PhpStorm team I'd like to add some clarification:

WebIDE was the the codename of JetBrains PhpStorm project and is now a group name for all our products used for web development, see http://www.jetbrains.com/webide/

There's a whole world of web development and we're creating products targeted for each community. These products based on powerful JetBrains IDE platform and share same set HTML/JavaScript/CSS tools with extensions for each language or platform.

WebStorm is a lightweight IDE that contain this web part only, and we have a lot of requests for such a tool.

P.S. there IS a "Log window, for FTP, SFTP, GIT, etc"

Ivan's picture
Ivan on Apr 21, 2010 Thanks Alexey for your explanation. And while I know there is a log window I was hoping to see a full log of the commands it runs.
Anonymous's picture
ussher on May 22, 2010 Also liking phpstorm for the few hours that I have played with it so far. Things I would like to see/know how to do: * the editing window can be split horozontal/vertical with a menu option, but its not obvious how to move a file from split window A to split window B. dragging it doesnt work. * netbeans has a feature where saving the file your working on sends uploads it straight to the server. No need to click 'Upload to server' or any quick key. Love to see this feature too. On the good side, seams fast, the php debugger works. It hasn't crashed once yet. Im liking it.
Anonymous's picture
WhiteChrys on May 31, 2010 I've been using this IDE for several months and so far, so good. :) Its tough to find an IDE that caters to HTML/CSS/PHP/Smarty/etc all in one program. I like the "surround with" hot key (Ctrl + Alt + T) for faster editing. For auto-deployment, take a look at the per project deployment settings. You can choose to auto-upload to an FTP server among other things.

Post new comment

You can use your Gravatar account.

Mollom CAPTCHA (play audio CAPTCHA)
Type the characters you see in the picture above; if you can't read them, submit the form and a new image will be generated.