Moving from WebStorm/Phpstorm to VS Code
Been a user of Phpstorm/webstorm since long and wish to migrate to VS Code ? Skeptical about changing your IDE or the changes that it might bring along ? Fear not, for we will show you how you could setup VS code to be identical to Phpstorm/webstorm.
Why should you migrate to VS Code ?
I love using Webstorm/Phpstorm and it has been the editor of my choice since several years now. But here are a few advantages that I saw that compelled me try out VS Code –
- VS Code provides the same functionality as Webstorm/Phpstorm
- Free of cost (thanks to Microsoft for making it Open Source)
- It is fast. (In fact, faster than Webstorm/Phpstorm and lighter in terms of RAM usage)
Lets see how to get this IDE setup
Setting Up VS Code
Firstly, you should have installed VS Code. If you haven’t, do so by downloading it from its official source
By default, VS Code does not come with out-of-the-box support for many languages like PHP, Java, Ruby, etc or even frameworks like React, Vue, Svelte, Symfony, etc. Thankfully, there are extensions to support almost every language and framework.
You will find a list of useful extensions which are highly recommended to make your new IDE function just like Phpstorm/Webstorm. In general, to keep your IDE fast, the lesser the number of extensions, the better. Consequently, only the bare essential extensions have been listed.
This extension ensures your transition to VS Code to be less cumbersome by allowing you to use the same keyboard shortcuts as you did with WebStorm/PhpStorm.
There are a few exceptions but its much better than having to learn new keyboard combinations all over.
# To install, Launch VS Code Quick Open (Ctrl+P) and execute the following ext install k--kato.intellij-idea-keybindings
As the name suggests, this adds auto-complete support for css classes in your html files.
# To install, Launch VS Code Quick Open (Ctrl+P) and execute the following ext install Zignd.html-css-class-completion
Gitlens is a cool extension that can be used for all your git based tasks. Allows you to check a file’s history, annotate them, explore repositories, see and compare your stashed items and so on.
# To install, Launch VS Code Quick Open (Ctrl+P) and execute the following ext install eamodio.gitlens
5. Extensions to Support PHP
- Php Pack – Adds support for Php
- Php Intellisense – Adds autocompletion and refactoring support for Php
- Php-Debug – Adds debug support for php via XDebug
# To install, Launch VS Code Quick Open (Ctrl+P) and execute the following ext install felixfbecker.php-pack ext install felixfbecker.php-intellisense ext install felixfbecker.php-debug
6. Extensions to Support Symfony + Twig
# To install, Launch VS Code Quick Open (Ctrl+P) and execute the following ext install TheNouillet.symfony-vscode # adds symfony-support ext install whatwedo.twig # adds twig-support
# To install, Launch VS Code Quick Open (Ctrl+P) and execute the following ext install ms-vscode.vscode-typescript-tslint-plugin ext install dbaeumer.vscode-eslint
If you’re using docker, then this extension will be your ally. It helps you to build, manage, deploy and debug your containerized applications.
# To install, Launch VS Code Quick Open (Ctrl+P) and execute the following ext install ms-azuretools.vscode-docker
This extension is the equivalent of the Select Opened File button found in PhpStorm/WebStorm. Its adds a similar button to allow you to quickly highlight an open file in the File Explorer/sidebar.
# To install, Launch VS Code Quick Open (Ctrl+P) and execute the following ext install smulyono.reveal
10. Code Formatting
# To install, Launch VS Code Quick Open (Ctrl+P) and execute the following ext install esbenp.prettier-vscode ext install EditorConfig.EditorConfig
11. Auto Rename Tag
As the name suggests, this extension will rename matching tags like
<html></html> while you edit them. VS code does this automatically for html files but other file formats aren’t supported. To add support for every other format, use this extension. I find it very helpful while using frameworks like React, Vue, Svelte or any other frameworks that use JSX or even XML files.
# To install, Launch VS Code Quick Open (Ctrl+P) and execute the following ext install formulahendry.auto-rename-tag
12. Syntax Highlighting for Apache, yaml and dotenv
- Apache Conf – Highlights syntax for apache configuration files
- Yaml – Adds Yaml language support
- Dotenv – Adds support for dotenv file syntax
# To install, Launch VS Code Quick Open (Ctrl+P) and execute the following ext install mrmlnc.vscode-apache ext install redhat.vscode-yaml ext install mikestead.dotenv
13. Settings Sync
Settings Sync helps you to synchronize your settings between multiple machines. Synchronizing settings has become absolutely essential for people in 2020 who are forced to toggle between work and work from home (thanks Corona!) NOTE: To sync settings, there exists a native way to do it within VS Code. I’d suggest using this recommended way instead of the extension. The extension nonetheless serves as an excellent alternate option.
# To install, Launch VS Code Quick Open (Ctrl+P) and execute the following ext install Shan.code-settings-sync
14. Rest Client
If you need to test your API without leaving your IDE, this extension does a great job. Its an alternative to using Postman or Insomnia for the same.
# To install, Launch VS Code Quick Open (Ctrl+P) and execute the following ext install humao.rest-client
15. Improve Code Readability
- Bracket Pair Colorizer – This extension colorizes matching brackets
- Indent Rainbow – Makes indentation easier to read by adding colours
# To install, Launch VS Code Quick Open (Ctrl+P) and execute the following ext install CoenraadS.bracket-pair-colorizer ext install oderwat.indent-rainbow
Bonus: Custom Vscode Icons
This extension adds custom icons for files according to their extension. For example,
package.json files will have an icon with npm written on it, thus making it easier to identify the file.
# To install, Launch VS Code Quick Open (Ctrl+P) and execute the following ext install vscode-icons-team.vscode-icons
Bonus Theme: Darcula IntelliJ Theme
Do you prefer Webstorm’s / Phpstorm’s Darcula theme ? If yes, then this extension is for you!
# To install, Launch VS Code Quick Open (Ctrl+P) and execute the following ext install trinm1709.dracula-theme-from-intellij
I’m sure that there are tons of other extensions available at VS code’s marketplace. Feel free to try them out and if they’re worth it, recommend them to the dev community as well.
Update VS Code Settings
Once you’ve installed all the necessary extensions, its time to update the settings of your new IDE. To open the settings, you can use the File Menu (Preferences => Settings) or you could hit Ctrl + ,. This will open up your Settings. You can tinker with the settings as you’d like.
You can also update the
settings.json directly. Hit Ctrl + Shift + P and type
settings.json and then select Preferences: Open Settings (JSON).
You should now have your settings.json file on the screen and could update it as shown below. And you do not need to worry about updating settings of extensions that you haven’t installed. Because, in that case, those settings will simply have no effect. So you could directly copy-paste the following settings –
Useful Keyboard Shortcuts
Here are a few new keyboard shortcuts that you might wanna learn to make your life easier.
- Open command Palette => Ctrl + Shift + P OR F1 key
- Open Settings => Ctrl + ,
- Select all occurrences of Find match => Ctrl + Shift + L
- Add selection/cursor to next match => Alt + J
- Jump to matching bracket => Ctrl + Shift + \
To help with your transition, here’s a link to my VS Code Settings. You can most certainly use it as a reference. Also, once you finish setting up your new IDE, feel free to go through the official Tips & tricks.
Hope it helps 😉