When comparing Notepad++ vs PhpStorm, the Slant community recommends PhpStorm for most people. In the question“What are the best JavaScript IDEs or editors?” PhpStorm is ranked 11th while Notepad++ is ranked 33rd. The most important reason people chose PhpStorm is:
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.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Syntax highlighting for a wide variety of languages
Notepad++ has built-in support for syntax highlighting for a wide selection of programming languages.
Pro Light and fast
Notepad++ is a very light program that starts almost instantly. This makes it a great text editor for users that want something that will start the second they open it.
Pro Extendable via plugins
A list of hundreds of plugins is maintained.
Pro Portable
You can get a portable version of N++ and put it on a flash drive or your dropbox account and have your editor, configured the way you like, at any computer that you are on.
Pro Free under GPL
Notepad++ is licensed under GPL, which means it is free/open source software that you can use freely.
Pro Regex replace in selection, active tab, or all tabs
In Notepad++, the user can utilise regular expressions to quickly modify text across multiple files.
Pro Persistent documents, even after exiting the application
If you close Notepad++ (npp), your documents remain even if you haven't saved.
Pro User defined language syntax support
You can define your own custom syntax highlighting rules (or add support for others) .
Pro Easy to use and admin
Very easy to use and personalize.
Pro Multi-line editing
While it is disabled by default, when enabled, it is possible to edit more than one line at a time. This is helpful in many situations.
Pro Split screen
The user can open and edit files in multiple screens within the editor window.
Pro Supports Markdown
If you have the Plugin Manager installed you can search for MarkdownViewer++ and install it via that plugin.
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
Not just for PHP, HTML and JavaScript, but especially good is SQL inspection and auto-completion of tables and fields. You can see at a glance, that your DB structure is in sync with your code.
Pro Built-in debugger
Has built in support for Xdebug including remote debugging.
Pro Phar package recognition
Phar support allows running complete applications out of .phar files.
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 External command support
Ability to setup custom external commands, which is something inherited from eclipse and found lacking on netbeans.
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 Plugins allow futureproofing and customization
Active development work on plugins is always a plus, as it can extend the use of the IDE.
Pro Code Refactoring
Quickly rename classes, methods, and variables used across multiple files in the project.
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 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 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 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 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 Integrated Vagrant support
It recognizes Vagrantfile and allows full control from the IDE.
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 Responsive core developers
Pro Emmet integrated
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.
Pro Excellent search tools
Especially the "find in path" feature that displays both results and file preview!
Cons
Con Windows-only
While it can run in Wine, it is native only to Windows. Linux users will have to use Notepadqq instead.
Con Settings confusingly scattered
Examples: try to change the tab size or used font.
Con Annoying update notifications upon start-up
Annoying update notifications tend to pop up upon start-up after not having used the app or machine for a few days. At the same time, they can be easily turned off.
Con Outdated UI
Only the text area can be themed, and it doesn't have as many features as browser-based text areas.
Con Limited new syntax support for new languages
It may be hard to find good plugins for relatively new languages.
Con Session backups not enabled by default
Unsaved tabs will be lost when Npp crashes, unless you first enable the session backup option.
Con User defined language doesn't support triple quote strings
It also doesn't support triple hashed comments. Both styles are overridden by their single character single line version.
Con Resource exhaustive
It often maxes out even 4 cores, not to mention several hundred MBs of RSS with a single small project opened.
Con Proprietary
It is not free software (free as in freedom).
Con Costly or you need github education pack
If you are ready to pay for it for phpstorm then it is better otherwise you need github education pack or if you have'nt either github education pack or you are not ready to pay it then visual studio code insiders is best option.
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 FTP Extremely Slow
FTP File transfer is extremely slow compared to filezilla or other ftp programs
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