DEV Community

loading...
Cover image for Why I Switched From Visual Studio Code To JetBrains WebStorm

Why I Switched From Visual Studio Code To JetBrains WebStorm

mokkapps profile image Michael Hoffmann Originally published at mokkapps.de on ・6 min read

As I started my first JavaScript project in 2015 I used JetBrains WebStorm which is an IDE (integrated development environment) for JavaScript development. I was already used to JetBrains IDEs as I worked before with Android Studio which is based on IntelliJ IDEA. Additionally, I got a WebStorm license from my company and could, therefore, use it without any restrictions.

As Visual Studio Code got more and more popular I used it for my further web projects. I really liked it because it was much faster, highly customizable and free so that I could also use it for my private projects.

In my current project, I met a developer who was really confused that I was using an editor and not an IDE for the development of large business applications. First, I did not really consider his concerns but meanwhile, I understand him.

In this blog post, I want to tell you why I now mainly use WebStorm instead of VS Code for development.

Preamble

This is a very hot topic and I know this will cause some controversy. In the following article, I talk about my experience using WebStorm in a large Angular application which was mainly developed in VS Code.

Code Inspection

WebStorm provides a robust, fast, and flexible static code analysis. This analysis detects language and runtime errors, suggests corrections and improvements. It also indexes your whole project and can, for example, detect all unused methods, variables and more.

You can also detect unused methods in JavaScript methods using VS Code and ESLint with the rules no-unused-vars and no-unreachable. But if you are, for example, using a TypeScript project (like Angular) VS Code does not detect unused public methods. See this simple example:

VS Code

WebStorm

This can have a huge impact on the code quality of a large Angular code base which was mainly developed using VS Code.

To see the difference open your project which was developed in VS Code with WebStorm and run the code inspection. This was basically what convinced me that using WebStorm results in a cleaner code base.

Integrated Karma Tests

WebStorm has an integrated test runner which I really like. This way you can run your tests directly from the IDE and even debug them there.

Running my jasmine & Karma tests in WebStorm I can easily jump to the failed test code and rerun only this specific test. The following image shows such a test run:

My Angular unit test workflow in VS Code is normally to mark a describe or it test block with a f (e.g. fdescribe) which tells Karma to only run this certain test block. Alternatively, I use the karma-jasmine-html-reporter where you can also define to run only certain tests by clicking on them in the HTML page.

There is currently also a VS Code Karma Test Adapter in development which should provide a similar integrated Karma test functionality for VS Code.

Unused Promises

Not waiting for promises can be really tricky if you expect the subsequent code to run only after the promise has been resolved. WebStorm shows if there are unresolved promises (in this case for a TypeScript application):

WebStorm

VS Code has currently no possibility to show this information:

VS Code

Source Control / Git Integration

VS Code has per default a pretty basic git integration. You can either use extensions like GitLens or use additional tools like Sourcetree if you like to use a GUI for complex git work.

WebStorm provides all the functionality for complex git work out of the box. You can commit files, review changes, and resolve conflicts with a visual diff/merge tool right in the IDE.

Local History

VS Code does not save a local history of your changes but you can use extensions like Local History.

WebStorm automatically tracks all the changes you made to your files and therefore protects you from accidentally losing these changes. You can inspect the history of files and directories and do rollbacks. This can be useful if you, for example, did a git push force by accident and overwrite your files even on the remote branch.

Debugging

VS Code can only debug web application on Chrome by using the Debugger For Chrome extension which you then need to configure for your application.

Using WebStorm you already have everything available per-default and, for example, for Angular just need to click "Debug Application" and you can set breakpoints in the editor and watch variables etc.

Code Refactoring

In my opinion, refactoring code is much better using WebStorm. You can rename a component and it updates all file names and usages both in the HTML as well as in the TypeScript files. In general, all the JetBrains IDEs are well known for their refactoring features:

A well-known feature of the JetBrain IDEs is Safe Delete. Using this functionality you can safely remove files from your source code during refactoring. The IDE will first search for usages of the files and if they are found, you can check them and make necessary before the files are deleted.

Unfortunately, VS Code is not that powerful at the moment.

Angular CLI Integration

WebStorm provides a good Angular CLI integration by the so-called Angular Schematics:

In total, WebStorm has great Angular support as it assists in editing Angular templates, provides code completion for variables, pipes, and template reference variables.

Speed

VS Code is based on Electron and is powered by HTML & JavaScript.

WebStorm is developed in Java and it feels in general slower than VS Code. I would not say that it is critically slower but the speed difference is noticeable.

VS Code has a faster startup time but if you are working on a project your IDE or editor is always open and startup time does not play a crucial role.

Accessibility Inspections For HTML

WebStorm provides inspections which are based on recommendations from Web Content Accessibility Guidelines (WCAG) which help you to write more accessible HTML code.

Price

VS Code is open source and free to use.

You need to pay for a WebStorm license unless you choose one of the free licenses available for open source projects, students, teachers, classroom assistance or training courses, coding schools and boot camps.

Another option is to use the EAP (Early Access Program). These pre-release versions include features which will be added to the next release. These versions are temporarily available before a new version of the software will be released.

This is the official disclaimer for the EAP:

This is an early access version of the product. You expressly acknowledge that this version of the product may not be reliable, may not work as intended and may contain errors. Any use of the EAP product is at your own risk.

Conclusion

VS Code is more of an editor than an IDE like WebStorm is categorized as. WebStorm has in its standard installation more features than VS Code has in its default installation without any additionally installed extensions.

Microsoft has created an amazing product with VS Code which you can of course use for larger business applications. Generally, I would prefer and recommend using WebStorm due to these reasons:

  • Better code analysis functionalities
  • All-in-one IDE with good basic functionality without the need to install many additional plugins
  • Much better code refactoring possibilities

If you prioritize speed, prefer using open source software or just want to quickly edit some configuration files then you should go for VS Code.

What are your experiences using VS Code and WebStorm? Let me know in the comments what you use to develop your application!

My VS Code & WebStorm Setup

The screenshots in this article show VS Code using the Material Dark Theme and WebStorm using the Material UI with Material Darker theme.

Discussion (131)

pic
Editor guide
Collapse
pringels profile image
Peter Ringelmann

Good comparison, although I wouldn't agree with you that VScode is not as well suited to large projects. I can do all the things you mentioned VScode lacks. (Eg running karma tests in IDE with wallabyJS)

To me it comes down to preference between "out of the box" functionality versus building your own feature set with plugins.

Collapse
schollii profile image
schollii • Edited

Refactoring, search/replace, widening selection, and regression testing, in jetbrains IDE (whether webstorm or pycharm etc) blow the doors off vs code. But you have to experience these features first-hand in jetbrains IDE because just comparing "on the page" feature for feature misses important differences that have huge impact on productivity.

The only real advantages of VS code are startup time, memory and price, ie I have yet to find a feature that I use daily and that is truly better than jetbrains product. Im guessing most of us start our GUI once every few weeks, so for quick edits and minimal UI I use vs code or even vi. Re price: Most can afford the cost of quality (ie a jetbrains IDE) but don't want to out of some strabge notion that free is best. Memory is the biggest problem for me jetbrains IDE, when GUI stays open for weeks, but after using vs code for 6 months I'm going back to pycharm as I'm just missing its Ferrari features too much, on a daily basis. I'll keep VS code for quick edits.

Collapse
jwluiten profile image
Jan Willem Luiten

I have been using IDE's by JetBrains for many years now and in my opinion there is no contest.

Collapse
jaycverg profile image
Jayrome

I primarily work on IntelliJ as a Java developer. I have also used VS Code for frontend tasks. My experience is that IntelliJ (or IntelliJ-based IDEs) is quicker in terms of searching, refactoring, static analysis, etc. due to the fact that it indexes your project. Opening our monorepo project in VS Code, finding files/symbols/methods is much slower compared to IntelliJ.

Collapse
stevensacks profile image
Steven Sacks • Edited

Thanks for the write up! Here are my thoughts.

It isn’t fair to compare Webstorm and VSCode out of the box. Both use many extensions and you always install more in both (or uninstall some of the defaults). If the end result is similar functionality, then there is no practical difference.

The above notwithstanding, Webstorm is a far superior IDE than VSCode when it comes to coding for many reasons but there is one major one that you also mentioned: Refactoring.

VSCode doesn’t hold a candle to Webstorm when it comes to refactoring which is such a big and important part of coding. Its refactoring is the #1 reason why, despite spending a month using only VSCode to give it a fair shot, I came back to Webstorm.

One thing you didn’t mention that I think is one of, if not the biggest feature differentiator, the “Find/Replace In Files” modal. It was a GAME CHANGER when it was released a couple of years ago. I simply cannot live without it. I've never seen a tool like it. VSCode's "Find/Replace In Files" panel is significantly worse than Webstorm's previous Find/Replace in files panel, which was great in its own right.

In Webstorm, you can rename folders and files and they will update throughout the project. You can drag files and folders to new locations and your entire codebase will update every reference to them. There is an extension in VSCode that is supposed to do this, but it's buggy and doesn't work as expected. One of its worst bugs is it changes all of you node_modules imports into their full paths like "../../../node_modules/path/to/the-libs/file.js" in every affected file. It's unusable.

A lot of other nice features make coding in Webstorm a much better experience, as well. Unused function dimming, automatic import injection on paste, import autocomplete, automatic conversion of HTML class to React’s className on paste, and numerous small but useful features that make working in Webstorm a joy.

However, to be fair VSCode has some really great extensions that Webstorm does not.

The biggest feature is VS Live Share, which keeps getting better and better with each release. However, I can use it and still code in Webstorm. I host a Live Share session, and the changes automatically update in VSCode so the person on the other end sees those changes. It's not perfect because you can't take advantage of the "follow along" features, but it's still useful.

The Git extensions are simply better. Gitlens and Git History are full of great features that Webstorm does not have. I primarily use Git on the command line, though, so I don't miss these that much.

This might seem minor, but the customization that you can do to the application frame is much better than Webstorm. I tried installing the Webstorm Material Plugin and it made Webstorm run like molasses and it took a fair bit of googling to figure out how to completely uninstall it because it left all kinds of changes in its wake. Webstorm is stuck with the Darcula color frame. Not a deal breaker, but VSCode has a more cohesive look to its themes.

The clear winner is Webstorm. I just don’t see VSCode getting feature parity with some of Webstorm’s most important differentiators, and so I’m sticking with it. My only feature request is something like VS Live Share, but honestly, everyone else I know seems to use VSCode so there wouldn't be anyone to share with. #lonelywebstormer #worth

Collapse
caruso profile image
Giuseppe Caruso • Edited

That's unbelievable. Those are just my thoughts when reading the article condensed in your comment. 😳
I would just add that Vim mode is, IMHO, better in VsCode. That's what makes me go back to it from time to time.

Search in sidebar is just unusable compared to Search window in WebStorm.

And themes... OMG. I don't know how many comments, tweets, or emails I wrote to JetBrains asking for better themes or, at least, a better API to build them. It seems super minor but you'll tend not to use something you don't like.

Onr last thing, I'd like to mention is code inference. It's probably just a personal preference but I like more VsCode pop ups VS. WebStorm ones. I find them easier to be readen. Could be its just code formatting, but params, function signatures, typescripts annotations are way better in VsCode.

Im conclusion I like better VsCode but use WebStorm for Search and Refactoring featutes.

Collapse
derskeal profile image
Comical DERSKEAL

Great comment! Although I enjoy using Webstorms's Git menu wayyyyyyy more than that of VSCode's extensions.

Collapse
stevensacks profile image
Steven Sacks

Yeah, I primarily use git on the command line so I’m not exactly the best judge. I do like the inline blame vs the annotation bar in Webstorm, but no biggie.

Collapse
qm3ster profile image
Mihail Malo

Update-imports-on-move and find-and replace-in-files work great out of the box for me.
When did you try Code?

Collapse
stevensacks profile image
Steven Sacks

The Update Imports On Move extension only works properly if you use TypeScript and even then still has bugs.

Have you used WebStorm’s Find In Files?

Thread Thread
qm3ster profile image
Mihail Malo

No, I hoped you'd tell us what's exciting about it.

Maybe I'll try out a EAP. Someday...

Thread Thread
stevensacks profile image
Steven Sacks

You just have to use it. I have never used anything like it. It’s next level. So powerful. I use it constantly. It’s just amazing.

Collapse
klausdevwalker profile image
Klaus Ferreira

The biggest feature is VS Live Share, which keeps getting better and better with each release. However, I can use it and still code in Webstorm. I host a Live Share session, and the changes automatically update in VSCode so the person on the other end sees those changes. It's not perfect because you can't take advantage of the "follow along" features, but it's still useful.

I haven't thought about that before. Thanks for this great tip :)

Collapse
mokkapps profile image
Michael Hoffmann Author

IntelliJ now also supports that feature: jetbrains.com/help/idea/code-with-...

Collapse
akainth015 profile image
Aanand Kainth

You can change the color theme back to normal by changing Editor > Color Scheme to "Default"

Collapse
jordyvandomselaar profile image
jordyvandomselaar

Late to the party…

I agree with you. I mean, I love VSCode but it has this void that even extensions cannot fill.

Using my currently open Chrome to debug JS? Can't do it.
Autocompletions inside a debugging console? Can't do it.
Running phpunit tests with xdebug? Should be possible but after tinkering for more than an hour it still doesn't work.

All of these things work out of the box without any effort at all in PHPStorm.

What I do love about VSCode is the plugins that do work though. Easy development in React, Flutter, Laravel in one editor? Check.
It sometimes has better autocompletions because of the abundance of plugins.
It's really fast and typing feels snappy as well.

I wish I could use VSCode full time but I use these missing features all the time and I cannot live without them.

Collapse
nikoheikkila profile image
Niko Heikkilä

Hot take: If you need a full-blown IDE to refactor your application it probably has grown into such a monolith you should consider splitting the logic to smaller and more focused modules.

Collapse
tracker1 profile image
Michael J. Ryan • Edited

It can happen though. I'm pretty good at not letting it and enforcing a structure and sure that limits it. That said I've jumped into a number of projects that are so much spaghetti it isn't funny.

That's about the only saying grace of typescript, which I credit more than the ide. I still prefer vs code though.

Collapse
rcollette profile image
Richard Collette

And it happens because they either were not using Webstorm, or they simply choose to ignore the recommendations in the first place.

Thread Thread
scottadamsmith profile image
Scott Smith

I may have misread, but are you saying that not using Webstorm could be the reason an app has grown into a monolith full of spaghetti code?

Collapse
sekmun profile image
Sek-Mun

Sometimes we don't have the luxury of working on our own code I guess...

Collapse
nikoheikkila profile image
Niko Heikkilä

Majority of my professional career has involved working with someone other's code. Hasn't affected my editor of choice, though.

Collapse
lampewebdev profile image
Michael "lampe" Lazarski

My thought exactly.

If you have so many dependencies that you cant refactor a part of your code then maybe there is something wrong with your architecture.

Collapse
strahinjalak profile image
Strahinja Laktovic

Thanks for the post ! I, myself, also went for the JetBrains products, and never looked back. Though I work in PHPStorm, firstly because I started with Symfony, but now also for Express/ React applications because PHPStorm has integrated Database tab which can work with MySQL and PostgreSQL very well and with almost no configuration. It is quite good for basic tasks with tables.

Collapse
derskeal profile image
Comical DERSKEAL

That Database tab. Boyyyyyy! 😍

Collapse
thejacer87 profile image
Jace Bennest

if anyone can point to an actual comparable in vscode, i would love it. none of the sql extension even came close.

main reason i haven't fully switched to vscode

Collapse
alekstheod profile image
Alex

Paid by jetbrains to advetise their expensive product? I wouldn't spend a penny for an "IDE".

Collapse
koresar profile image
Vasyl Boroviak • Edited

I used to spend 4-8 hours a month to configure or keep updated my VS Code / Atom. That's roughly $100 MONTHLY.

The WebStorm costs my employer $50 YEARLY. I don't waste that time any more.

WebStorm is CHEAPER than VS Code.

Collapse
defman profile image
Collapse
mokkapps profile image
Michael Hoffmann Author

Nope I am not sponsored and currently using the EAP version

Collapse
stewieandro profile image
Stuart Slaugh

Expensive? 89$ per year? You better get a better job lol! Would you use VSCode if it wasn't free? Jetbrains makes great software and you're probably working twice as hard as you need to if you never use an IDE.

Collapse
onetom profile image
Tamas Herman

To be fair, you should spend a few hundred extra dollars on your computer to enjoy a snappy JetBrains IDE experience, because you will need a few extra gigs of memory, fast SSD and i7 with lots of L3 cache to speed up code indexing...

You might need to invest every 2-3 years into your machine too keep it up with the hunger of your IDE (and the wasteful projects you might be working with...), so that cost amortizes quite well, IMHO...

I was paying for IntelliJ Ultimate monthly for 2 years but last year I've upgraded to the yearly All Pack version, since they offer substantial discounts for continuous subscribers and they do a really great job! It cost me 190 USD/year, which is ~16 USD/month. That's pretty reasonable for a tool I use daily for work...

Collapse
lscarneiro profile image
Luiz Eduardo Carneiro

I pay for WebStorm (and PhpStorm) with a smile on my face. But I do see value in VSCode too.

As Steven Sacks mentioned, when it comes to refactoring a large application, WebStorm really shows its power.

I defend that everybody should use the tool that makes you more happy and productive, in my case it's WebStorm, but I recognize that for others don't, YMMV.

Collapse
rattanakchea profile image
Rattanak Chea

Pricing, startup time, extensions and open source, easy configuration are the reasons I use VS Code. But I like to try new tools that make job easier.

Collapse
manpenaloza profile image
Manuel Penaloza

Had the quite the same experiences and thus switched to Webstorm. What convinced me most about Webstorm:

  • its awesome (imho much better-working compared to vs code) possibilities to do code navigation/inspection (i.e. 'go to declaration' or 'show usage' features)
  • Webstorm's quick search improved a lot the last few months and from current perspective it surpasses the vs code equivalent

Those two points represent major aspects of my dev process. As a result the editor switch to Webstorm also led to more fun and convenience during development for me.

Collapse
nicolaerario profile image
Nicola Erario

Vscode is an editor;
WebStorm is an IDE;
You can’t compare them directly;
You can compare vscode vs sublime text for example;
or, maybe, visual studio 2017 with webstorm

Collapse
alexdwhite profile image
Alex White

This was exactly what I was thinking the whole read.

Collapse
jcklpe profile image
Aslan French

I think vscode is more of a hybrid because of how robust its plugin scene is. It's a defacto ide once you extend it enough. That's what makes it so good though. You can really pick and choose what you find important.

Collapse
qzsg profile image
Adrian

I am too lazy to read configuration options and search for good free extensions so I am switching back to an expensive ide that has everything preset for me because I am lazy that way /s

Collapse
jcklpe profile image
Aslan French

Really don't understand the flaming here. I like vscode a lot but y'all are taking this personally in such a silly way

Collapse
qzsg profile image
Adrian

I wouldn't call it flaming as in my daily work I use both of them. Just felt that while your article has it good points against vscode and for webstorm, it kinds of feels like a comparison that should not have been there in the first place. I understand where you are coming from, and that the other comments may me too harsh, personally it is just some naughty jab at the actual flaming comments. Sorry if you felt like I was flaming

Thread Thread
jcklpe profile image
Aslan French

just FYI but I didn't write the article. I'm just commenting on the story.

Thread Thread
qzsg profile image
Adrian

Oops I though you were op, wasn't really awake yesterday but well comment still stands

Collapse
moniuch profile image
moniuch

WebStorm comes helpful with a lot of small bits of intelligence where one would assume the work has to be done manually. Not only does it have a separate menu labeled Refactor, packed with all kinds of extractions, moving, etc. but it also watches your coding and helps you (like for example when working in Angular/TS) to keep the file name in sync with class name. Most of renaming jobs can be done without using global search/replace without turning your app crashing be it for a second.

But WebStorm has also a great set of code inspections, some of them simply amazing. One time I was using .scrollTo(leftPos, topPos) where topPos was passed using a variable called lastYPos. When the thing was refusing to work as expected, in my desperation I became interested in squiggles that appeared around the statement. WebStorm politely asked me whether I was sure passing lastYPos as leftPos was a good idea. It knew that Y could probably mean something vertical. Turned out, I inadvertently mixed the order (blame CSS conventions for that!) and WS got me covered.

For those who are not so fluent using Git in command line, WebStorm has a great UI, allowing you to select files that should be included in a commit. But not only files - you can also select individual changes through checkboxes! During rebase interactive that UI is just a time saver. You can view changes of each and every commit in a diff mode.

I really encourage everyone to at least give WS a spin.

Collapse
deathgaze profile image
Kirk Sefchik • Edited

IDEs tend to make developers dependent on them. So much so that after awhile people seem to forget how to do things and depend on the IDE to do it for them. I can't tell you how many times people have effed up our git repositories because they don't understand Git, but use it anyway with the IDE or GUI tool. Likewise, when you outsource things like testing, builds and debugging to the IDE, the moment you take it away people get lost and have no idea what to do.

Rise above. Focus on coding, not on letting the IDE do all the work for you. Having everything in one place is nice, but is it worth sacrificing visibility into your own project?

Collapse
mokkapps profile image
Michael Hoffmann Author

True, for unexperienced developers!

Collapse
adam_cyclones profile image
Adam Crockett

Your argument is based on the absence of an IDE, the problem is they got into a situation without firmiliar tools. I did what this post did and I can somehow still use a terminal 😂

Collapse
dskuratovich profile image
Dmitry

I wouldn't agree to all the points, but in generally from my point of view IDE is always better than just code editor; so in certainly I think WebStorm is a good choice against VS Code.
Thanks for this good comparation

Collapse
peterwitham profile image
Peter Witham

Thanks for this post, a very well thought out evaluation of both sides I think. I often find myself pondering which app I'm going to use (almost monthly) for certain projects.

I feel it is a wonderful time to be a developer with so many tool options, we are afforded the opportunity to switch tools anytime one 'feels' better than another for particular scenarios.

Collapse
cjbrooks12 profile image
Casey Brooks

I haven't used VSCode much at all, but for speed, I've found the IntelliJ products to feel quite a bit faster than VSCode on my MacBook.

IntelliJ is quite RAM-hungry though, I've got 16gb of RAM and IntelliJ chews through a good portion of that. If you are using a computer with less RAM, that might be the main cause for slowness you're seeing with WebStorm.

Collapse
adrianvoica profile image
Adrian Voica • Edited

Nope. Macbook Pro 13", 8GB RAM, WebStorm flies like a bird, even for huge projects. VS Code is also there, front row on the dock, for quick hacks. IntelliJ-based IDEs have years of real-world knowledge behind their weight (because of IDEA and the Java ecosystem).

Collapse
onetom profile image
Tamas Herman

I think ppl struggle with 8GB (macOS) setups, because they have shit load of browser tabs, like whatsapp, gmail, github pages open, along with lots of electron apps, like slack, discord, telegram, gitter, notion and those "steal" a lot of memory from the IDE.

There are a lot of things which are loaded but not very actively used during coding, like GoogleDrive/Dropbox/Box, Evernote/Joplin, Mail, Skype. It's tedious a bit to stop them it worth it, because you also reduce distractions. Lot of ppl feel FOMO though because not being connected...

I've noticed that even my iTerm2 hogs 0.5-1GB... Considering to switch to sw.kovidgoyal.net/kitty/ because of that.

So while I agree that JetBrains IDEs might be a bit wasteful with memory, but so are all the other apps you use... Have you summed up ALL your browser processes' memory usage lately? You will be shocked. I'm battling that kind of waste with the github.com/tabwrangler/tabwrangler/ browser extension.

Collapse
suprnova32 profile image
Patricio Cano • Edited

Even though I don't use WebStorm, I completely agree that JetBrains IDEs blow VS Code out of the water all the time. I use RubyMine on a day to day basis.

I once thought of switching to VS Code for Ruby development, mainly because it is free, and I wanted to see if I could cut on the license cost.

I truly found it unusable. I could not get proper code inspection to work, it would refuse to follow function definitions, it would not show me documentation, code completion sucked. I decided it was more trouble than it's worth. I am very happy paying JetBrains for a top of the line IDE, that does everything I need and more.

I do have to say, though, that the Elixir experience in VS Code is far better. I have yet to give it a proper try using IntelliJ and the Elixir plugin, so I can't make a recommendation here.

Collapse
adnanbabakan profile image
Adnan Babakan (he/him)

It's been almost 3 years I've been using VS Code (almost since its release) for both PHP and JavaScript projects but then I switched to PhpStorm I can definitely tell you that it is awesome. It has a slower launch time though.
VS Code is perfect when you don't need many tools or if you want to install them manually, but I rather have them already there so if I need them anytime there would be there for me.

Collapse
jcklpe profile image
Aslan French • Edited

Webstorm def has some better refactoring tools and I think their intellisense in general is better but the thing that really keeps me using vscode besides speed is the fact that being open source and being plugin friendly and being written in web technologies it's an absolute joy to hack out customizations. I have a ridiculously ornate set of configuration files, extension settings and injected css and Javascript scripts that allow me to make it exactly what I want. I love it.

This is also the reason I like the hyper.js terminal emulator is because it's super hackable.

I'm also a designer turned developer so I'm not particularly good compared to what some people can do but that's very motivating to me. Nothing makes me want to learn something more than it being a tool I use daily. It's a little self serving maybe ha!

Collapse
onetom profile image
Tamas Herman

What have you hacked in it? And I don't mean just installing/configuring plugins for it. It eats a lot of memory for what it does and quite slow too...

But if you like hacking, maybe you can consider sw.kovidgoyal.net/kitty/index.html too ;)

Collapse
jcklpe profile image
Aslan French

Basically using a code injection plugin you can inject your own custom css and javascript to manipulate or change the UI in ways that no plugins or default configs allow for. I'm currently just using it to style things in ways which the current theme tokens don't allow for, but eventually I'd like to explore actually directly manipulating things with javascript. Though at that point I should probably just fork vscode itself or perhaps write a plugin for it. Though I believe plugins are limited to what the extension API allows for and I don't think code injection has that limitation. Not sure.

You can see if you'd like here: github.com/jcklpe/Configs/tree/mas...

I'm still learning a lot of dev stuff and I'd like to package up the changes I make into their own extension eventually once I have time.

Collapse
tremainebuchanan profile image
Tremaine Buchanan

Great post! I had IDE fatigue at one point switching from Sublime to Atom to WebStorm to VSCode. Webstorm worked great for me when I was developing an PHP application. However, the cost is always a factor hence why I'm sticking with VSCode for now. But your post gave me the impetus to consider WebStorm.

Collapse
panta82 profile image
panta82

JetBrain's background indexing is the biggest win for me.

VSCode seems to only see the code in currently open file. If you reference something from a different file, it has no idea what to make of it. This works fine when you import all the types you intend to use (a la typescript), but falls apart for pure js with JSDoc annotations which I prefer.

WebStorm has a daemon running in background that maintains knowledge base of all the symbols defined in entire codebase. This makes all the difference in the world if you like intellisense-style tooling.

Collapse
onetom profile image
Tamas Herman

Indexing is also one of the things which makes the typing experience very laggy and it can be really really annoying that you can't do anything responsively when a bigger reindexing job kicks in...

But it's a good trade-off most of the time!
You can also pause it and use the IDE just as a more traditional editor, while still having access to scope-selection expand/shrink (cmd-up/dn), refactoring (shift-f6, cmd-alt-v) and fuzzy search in many places in a snappy way...

koresar profile image
Vasyl Boroviak

In 20 years I configured and played with so many code editors and IDEs that I got very tired of all of them. Thus WebStorm is a good suit.

Collapse
sarahk profile image
Sarah Ksiyer

I've used JetBrain products (IntelliJ and WebStorm) for many years, recently I've given VSCode a good try but it just doesn't match up to the convenience of having a full IDE.

Sure you can do the same tasks with plugins and playing around with the settings.json but its fiddly and not as intuitive (I think)

Collapse
dannyengelman profile image
Danny Engelman

Very good comparison.

In the end there is no winner, they are different tools for different jobs.

Like every craftsman with a toolbox full of tools; I use both and Notepad++ and even open up Notepad occasionally.

Hiring a developer with only one tool is like hiring a painter with only one arm.

Collapse
nuculabs_dev profile image
Nucu Labs • Edited

When I was working for an automotive company some of us were using VSCode as our main tool for developing the project. I didn't had a any problems with it, except with some git related extensions that weren't working properly because of the large number of commits we had.

Collapse
lucasalfare profile image
Lucas Sousa

I'm only a enthusiast in programming and have few experience in big and/or big projects. However, I keep studying some concepts of front and back-end, in general looking to java, android and web environments.

I think is good for you all got noticed about someone with this level. And I say: WebStorm (and any other jetbrains products) are always my first choice! I tried VS Code and others various tools and always back to JB once my productivity is heavily affected by the main tool I'm using.

I think, JB tools are the best to improve speed of coding!

Collapse
danielwu profile image
Daniel Wilianto

So true, man. People who prefer to use VS Code don't know what they are missing. I have written code on Notepad++, Sublime Text, Atom, VS Code, VS Studio, PHPStorm and WebStorm. Jetbrains IDE blows all of them out of the water. And no, I am not paid by Jetbrains for saying this, nor I work for them. Jetbrains's Find All and Replace All in Project alone beats all other editors. It's so intuitive and comfortable to use. I can make change to existing projects easily, and with much smaller risk of messing something up. The refactoring works wonder too, there's so many customization on it to suit your needs and coding style.

Collapse
spacebromx profile image
Alan Medina

I love WS it feels just right for my needs. However, I also use VS Code, specially for smaller projects, and I’m getting the best of both worlds.

Definitely there’s value in both apps. I pay my WS license because I really like the product. I use VS Code because I also really like the product!

Collapse
istvandesign profile image
Istvan Fulop • Edited

My 2 cents: I have been using VSCode since 2017 and currently VSCode beats IntelliJ out of the box at everything related to JS development. (maybe the debugger is not that nice).

I tried IntelliJ again with a large multi-workspace project and indexing takes ages, after the indexing is complete it doesn't find paths in scss, in jsx files, autocomplete is random for props, I know you can go and set everything manually and then IntelliJ is a wonderful IDE for a lot of money. But VSCode on the same huge project works out of the box and is slower by 0.2 seconds when navigating through a react codebase.

Prettier and linting support is uncomparable, just install recommended plugins in vscode and everything just works, in IntelliJ it's a pain to set up for everyone.

VSCode also has support for WSL on Windows, which is incredibly useful when you have a codebase that requires a unix environment to run as expected.

I don't try to make an Ad for VSCode, but people with a lot of experience say that it's the best and that VSCode is bullshit and that it's a toy, then I try IntelliJ, fiddle with it for 2 days, still doesn't work as VSCode works out of the box just for that nice search window when you press shift shift.

Collapse
manelgonzalezops profile image
ManiloxGT • Edited

Say out "Out if the box" just one more time, idiots love that phrase

vladimirnikolic profile image
Vladimir Nikolic • Edited

Well, if someone works for you and having fun tinkering instead of coding, you might change your opinion on the day you pay extra 100 USD to the developer.
That is the point Vasyl is talking about, his employer pays 50 buck per year for a webstorm, and Vasyl is focused on his work, not on setting up vs code.
Personally I am using both phpstorm and vscode with high proficiency, I have set my VScode per my liking, I keep my settings on gist, and whenever I need to change dev machine, its a matter of minutes to get all my settings back.
So no wasting time, pure productivity.