PhpStorm has two types of autocompletion: structural completion and word expansion. Structural autocompletion makes predictions based on its understanding of PHP, while the latter tries to predict the word currently being typed based on previously typed words. Word expansion also works in comments and docstrings and it's similar to vim's omnicompletion. Both types of autocompletion work extremely well, have little to no problems and are quite fast even when loading suggestions on the go.
Ranked in these QuestionsQuestion Ranking
Pro Built-in browser live-updating
Brackets will automatically refresh the browser and load the latest saved version of a file open in the browser. This works with php as well. Editing a css will even highlight the tag that's currently being worked on. However, it only works with Chrome.
Pro Free, open source and cross-platform
Brackets is entirely free and open source.
Pro Built-in extension manager
The functionality of Brackets can be extended via a simple-to-use extension manager. The extension manager also has a considerable number of extensions and themes.
Pro Actively developed
Brackets is being actively maintained and developed.
Pro Can style a tag without switching over to the stylesheet
A feature called "Quick Edit" allows the user to select a tag in (a html file, for example) and edit the associated style without switching over to the css document. It also supports SASS and LESS pre-processors.
Brackets is easy on memory usage and it starts up quickly.
Pro Can be hacked by any front-end developer
Pro Popup previews
Hovering over colors hex codes or image paths will pop up previews of corresponding colors and images.
Pro Drag and drop support
Brackets supports drag and drop of text, as well as multi / rectangular selection.
Pro Vim mode
Vim-style editing is already built in the text editor.
Pro Support for Adobe PSD content
A default extension allows for the extraction of PSD resources, such as images and styles. There's good integration for placing extracted resources into source.
Pro Intelligent code completion
PhpStorm has two types of autocompletion: structural completion and word expansion.
Structural autocompletion makes predictions based on its understanding of PHP, while the latter tries to predict the word currently being typed based on previously typed words. Word expansion also works in comments and docstrings and it's similar to vim's omnicompletion.
Both types of autocompletion work extremely well, have little to no problems and are quite fast even when loading suggestions on the go.
Pro Supports various PHP frameworks
Supports Symfony2 (including Twig and Doctrine), Yii frameworks, and Laravel.
Pro PHPDoc support
PHPDoc is a documentation generator. It allows automatically generating documentation from specifically formatted comments.
Pro Inspections of all kinds
Pro External command support
Ability to setup custom external commands, which is something inherited from eclipse and found lacking on netbeans.
Pro Database view
The database tab, while not perfect, provides all the tools you need for daily usage. You always have your DB overview on the side (you can hide it when not needed).
Pro Phar package recognition
Phar support allows running complete applications out of .phar files.
Pro Built-in debugger
Has built in support for Xdebug including remote debugging.
Pro Auto-sync with remote folders
It allows monitoring code and sync the files that need to be changed with a remote server. This works more efficiently than libnotify and faster than vagrant auto rsync.
Pro Plugins allow futureproofing and customization
Active development work on plugins is always a plus, as it can extend the use of the IDE.
Pro Has built-in console and SSH clients
This allows execution of needed commands without switching to other windows. It also keeps track of what's happening right in the IDE, which is especially good with Vagrant, because you can connect to a VM in a single click.
Pro Integrated Git GUI support
Allows users to manage their repositories directly from the IDE with a GUI which lets you do all Git commands.
Pro Zero latency typing
Type codes with pleasure. Delay of visual feedback on a computer display has an important effect on typist's behavior and satisfaction, as cited here.
Pro Integrated Vagrant support
It recognizes Vagrantfile and allows full control from the IDE.
Pro Lots of plugins
Lots of plugins from JetBrains and the community are available, from useful things like support for Docker, Vagrant, Angular, Vue.js and more useless (but fun) like a nyan cat progress bar.
Pro Responsive core developers
Pro Templating support
Supports Twig and Laravel's Blade (among others). Technically the later is part of a framework which Phpstorm supports but I've seen IDEs (e.g. Netbeans) with Laravel support but no blade support so it does deserve a notable mention.
Pro Emmet integrated
Pro It comes with Testing RESTful Web Services
Save time of building your own or integrating libraries for testing RESTful Web Services. PHPStorm enables you to test endpoints without leaving your workspace or disrupting your workflow . You can code your endpoints in one window and test it immediately from another window.
Pro Code Refactoring
Quickly rename classes, methods, and variables used across multiple files in the project.
Pro Task/Context functionality
Similar to Eclipse Mylyn: you can create tasks or retrieve them from your ticketing system, and each task keeps its own context (opened files, modifications, etc.).
Pro Regular updates for fixes and new features
PhpStorm is clearly being developed continually, which gives confidence that it will be available for some time and is not abandonware.
Con Still missing some elementary text editor commands
Some gaps have to be filled by plugins, while these features should be built in.
- Jump to matching brace (bracket / parenthesis);
- Gutter selection of lines;
- Recall previous searches / replacements;
- Autofill of search field with text under caret (text has to be selected);
- Show whitespace / end of lines / indentation guides / right margin;
- Selection to upper / lower case;
and some more.
Con Problematic updater
Though the website says there is an update available, the updater in Brackets may give you an error, resulting in you having to download updates manually.
Con Supports only web languages by default <but>
Brackets is built for web development and that's where it excels at out of the box. Other languages that have a CodeMirror mode can be added as well.
<and language support plugins can be added>
Con Resource exhaustive
It often maxes out even 4 cores, not to mention several hundred MBs of RSS with a single small project opened.
Currently costs £78 but does not seem to offer much more than some free counterparts.
It is not free software (free as in freedom).
Con Slow performance
A very slow indexing, many memory leaks, large projects after some time will be very slow, opening large files like 10mb can even break IDE.
Con Interface is cluttered
Con Sometimes buggy
Index gets corrupt which results in errors in syntax presentation, code validation and auto-completion. Version-control system sometimes stops working, occasionally freezes in big files