When comparing Spacemacs vs PhpStorm, the Slant community recommends Spacemacs for most people. In the question“What are the best JavaScript IDEs or editors?” Spacemacs is ranked 10th while PhpStorm is ranked 11th. The most important reason people chose Spacemacs is:
Spacemacs combines the Emacs platform (with the full power of the Emacs plugin ecosystem) and the Vi keybindings (via EViL), all in the same box.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Combines the best parts of Vi and Emacs
Spacemacs combines the Emacs platform (with the full power of the Emacs plugin ecosystem) and the Vi keybindings (via EViL), all in the same box.
Pro Simple but powerful configuration architecture
At the heart of Spacemacs, the configuration layers group packages configuration into semantic units that can be toggled on and off. The architecture is simple but powerful, allowing the user to easily manage configuration dependencies between hundreds of packages.
Pro Community-driven configuration
Spacemacs is the biggest community-driven Emacs starter-kit.
Pro Above average documentation quality
Documentation is mandatory for each new configuration layer and can be accessed directly within the editor in Org format.
Pro Cross-platform
Emacs runs on Gnu/Linux, Mac OS X, and Windows.
Pro Completely configured out of the box
Stuff like version control, file management, good default theme are all configured out of the box.
Pro Mnemonic and consistent keybindings
Space-lead key bindings are organized in mnemonic namespaces. For instance, buffer actions are under SPC b
, file actions are under SPC f
, project actions are under SPC p
, search actions are under SPC s
, and so on. Keybindings are consistent across the whole distribution thanks to a set of conventions.
Pro Can be controlled fully with the keyboard
There's no need to reach for the mouse again since Spacemacs can be fully controlled with keyboard.
Pro Gradual learning curve
Evil package is a first class citizen and Spacemacs embraces it from day one. Evil package allows Vim users to be productive very quickly while still allowing regular Emacs users to use Spacemacs.
Pro Remote file editing
Files can be edited in Spacemacs remotely.
Pro Great note-taking and agenda mode built-in
Allows for great organization applications that can be saved in future-proof format, plain text, can be integrated with org, LaTeX, markdown, HTML, Literate Programming and be committed to source control.
Pro Offers a number of practical features
Spacemacs has some great features for taking notes, tracking to-do lists, and tracking time.
Pro LaTeX support
LaTeX allows for auto-completion, syncing, and more.
Pro Manage many code bases easily
Pro Daemon support
Has great daemon support, which can mitigate the issue of slow startup.
Pro Can work in terminal mode
Sometimes you only have terminal access, over ssh or something.
Pro Great CFEngine support
Syntax highlighting and org-babel extensions.
Pro Great support from the community
The community surrounding Spacemacs is very active and there is a welcoming gitter chat for users to ask questions.
Pro Lowers the risk of RSI by using the spacebar as leader
Spacemacs got its name from the fact that it is uses the space bar as a default leader key. The key was chosen because it is easy to press and to hopefully lower the risk of RSI.
Pro Fast-paced development
New functionalities and fixes are added to Spacemacs every day, while release cycles are short.
Pro Easily extended with community plugins
Pro Works well with Common Lisp
Pro Manage R files easily
Pro Great Clojure support
Pro Excellent support for Elixir programming language
Elixir layer which uses the Alchemist package is the best way to edit Elixir code out there.
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 Can be quite glitchy at times
Spacemacs combines many packages from many different authors that were never designed to work together. Sometimes they interact in unexpected ways, and things randomly break as one package interferes with another's features. This combined with frequent package updates and necessary customization by selection of layers and packages, can make these glitches hard to reproduce. It takes a lot of emacs know-how to fix these problems. Fortunately there is a very active community willing to help with these problems, but it might take a while.
Con Complex learning difficulty
You must be familiar with either Vim or Emacs. In addition, you should be familiar with the unique features of Spacemacs. The Layer concept of replacing Emacs settings is still difficult and abstract compared to modern editors.
Con Functionality layers of complicated configuration
To configure Spacemacs, settings for Emacs/Evil/Spacemacs may need editing. It's not always clear which need to be changed or how to change settings globally: sometimes hooks are needed, other times Spacemacs provides options.
Con High CPU and unresponsive at times
There are occasions when Spacemacs would suddenly consume a LOT of CPU and then other times would become completely unresponsive. This instability took place only 6 months or so ago. Restarting Spacemacs can fix it for a while but perhaps this issue is already fixed in newer versions.
Con Relative low startup time
Although configuration is heavily loaded, the starting time of Spacemacs is usually between two and five seconds. Emacs can be run as a daemon though which reduces the client's startup time to a few milliseconds. Still not as bad as other editors though, especially Electron based ones like VSCode or Atom.
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