DEV Community

loading...
Cover image for Why I switched from VsCode to WebStorm

Why I switched from VsCode to WebStorm

Daniel Castro
Software Engineer
・3 min read

I want to start saying that I'm not trying to claim that WebStorm is better than VsCode and it is because I think that someone can feel more comfortable in VsCode rather than WebStorm or even in another tool, like Vim, Sublime Text, whatever. I just want to share with you why I decided to move to WebStorm and why I'm still using it and maybe you could consider using it too!.

The first reason why I decided to start using WebStorm is because I changed my computer, and as a developer with a lot of work I needed to start coding as fast as I could, so I downloaded VsCode because that was the editor which I used to use, then I realised that I did not have all my plugins that I had in my previous computer (obviously) and I did not even remember their names, it was very frustrating. After 1 hour trying to set up my VsCode environment I remembered that I wanted to test WebStorm so I thought this was the perfect moment.

I downloaded it and I launched it. The first thing that I saw was that beautiful Darcula theme that I love so much, I actually had tried to find something similar for VsCode but I had not found anything so beautiful. Well, I know, if you are reading this you are looking for some reasons more interesting than a theme, I just wanted to say that I love this theme for coding <3.

TODO comments

When I opened my codebase in WebStorm is I was able to see my TODO comments highlighted, I remember that in VsCode I had to install a plugin in order to get this.

image

Auto Import

This is really amazing and I know VsCode has something similar but I'm 100% sure that it is not as accurate as this. I usually copy/paste code between files and it is very common that in my copied code I have some dependencies, it was truly good when I pasted my code and WebStorm automatically found all dependencies and included them at the top of my file.

Git Integration

After coding some hours I got my first conflict in some of my files and it was really surprising when I came across a friendly interface where I was able to resolve conflicts easily. I can leave you some screenshots here but you will have to test it by yourself to notice that it is very good.

Debugger

This is my WebStorm favorite thing. As a Full Stack Developer I have to code in both React and NodeJS. I think the best friend that a programmer can have is a great debugger, whether you are working in frontend or backend you will need a way to find errors easily. The WebStorm debugger is really useful. You can set it up fast and start using it. You can set breakpoints on your code and see all your variable values in a good interface. This is useful for both Frontend and Backend but if you are a Backend developer you will love this at the very beginning.

Refactor

Doing refactor is not a headache anymore if you have WebStorm. If you have been coding for a while I'm sure you have found yourself renaming a variable in your code, this can be really annoying but in WebStorm it is really easy, you just have to go to Refactor -> Rename and it will rename your variable in all the places you're using it and the most important thing is that it won't open all the files where you're using it like VsCode does. It is just an example of the Refactor feature.

Final Thoughts

These are just some of the things that I like about WebStorm. I wanted to keep this article short and just share with you my experience of using WebStorm. I almost forgot to say that WebStorm is not a Text Editor, it is a JavaScript IDE and if you decide to use it you will probably notice an increment in your RAM memory use.

Let me know in the comments section if you have already used WebStorm and what your experience has been. I will be waiting for your opinion.

Discussion (49)

Collapse
lukeshiru profile image
LUKESHIRU

You can achieve all those things with VSCode, some trough extensions, some trough configurations. Still, the most important thing is that VSCode is free and open source, while WebStorm has a monthly subscription :/

Collapse
nicolus profile image
Nicolas Bailly

The "free" argument really depends on where you work. In most western countries the 60€-35€ per year for Webstorm represents about an hour of work, so if you spend more than an hour per year configuring VScode plugins you already lost money by not buying webstorm. The enterprise license is a bit pricier, but if 120€ per year per developer is making any kind of difference to your employer you should already be looking for work elsewhere.

Also it's not opensource in the sense that you can't build webstorm from source directly, but most of the codebase (The IntelliJ platform and many plugins) is actually opensource : jetbrains.com/opensource/

If you're hobbyist or work from a country where 60€ a year is a significant part of your salary, it makes sense to favor a free and opensource alternative. If not you should really just use whatever is the best tool for you.

Collapse
ianwijma profile image
Ian Wijma

Also don't forget with VScode you send metrics to MS. Although you can turn it off. Your never sure how off it is.

Thread Thread
lukeshiru profile image
LUKESHIRU • Edited

I mean, you can take a look at the source if you don't trust them, or you can open Chrome DevTools in VSCode and check the Network panel as well .... or you could also keep saying "you're never sure how off it is".

Collapse
stojakovic99 profile image
Nikola Stojaković

You can't really get the diagnostics WebStorm has with any VS Code plugin (like catching unused promises, code duplications etc). It also has much more powerful debugging tools in my opinion. There is a reason why JetBrains IDEs are used so much by the professionals in the industry.

Collapse
lukeshiru profile image
LUKESHIRU • Edited

If you're using your IDE to catch unused promises instead of using a linter for that, the problem is not with the IDE/Editor. And about the usage, you might have to check again. Folks used to work with IDEs for development in languages like Java will obviously prefer something similar to what they are used to, so they'll fall into WebStorm, but let's say those folks are far from being the majority. Even if you check WebDev related conferences, tutorials and talks, generally the presenters are using VSCode or VIM to show code.

Thread Thread
stojakovic99 profile image
Nikola Stojaković • Edited

Linter can't do that because linter is not doing static analysis of the code. Your source shows the usage for JS - I'm talking about industry in general, which includes C#, C++, Rust, Python and developers using many other languages along with Java developers. It's not about being in majority but about developer's preferences. I don't know where you got the idea that JetBrains IDEs are used so rare. And it's not even IDEs only - they have DataLore which is the best database management tool I've ever used and TeamCity which is amazing CI/CD tool.

Thread Thread
lukeshiru profile image
LUKESHIRU

Good for you, Nikola .... but the article is about WebStorm .... "The smartest JavaScript IDE" .... and in JS you can have static analysis with ESLint and some plugins ... which is better because it can be implemented in CI as well, instead of just having it in your IDE. I know IDEs are popular for C#/C++/Java ... but in WebDev IDEs aren't that popular.

Thread Thread
stojakovic99 profile image
Nikola Stojaković

Of course you can have, but it's always good to have additional checks which you can't get by default when using ESLint. I don't really care what's popular or not - I was replying to your comment because it seems like you don't understand why someone would use proprietary solution. There are good reasons for that, as I stated above.

Collapse
dcastro profile image
Daniel Castro Author

You're right I'm sure that I can get all the things that WebStorm has with many plugins and configurations. However I prefer to have everything that I need after installing it :)

Collapse
lukeshiru profile image
LUKESHIRU

I mean:

  • TODO Comments: If you want that feature (not everyone does) you have TODO Highlight which is highly configurable (color, words to highlight, and so on). I use it and is great.
  • Auto Import: Out of the box in VSCode.
  • Git Integration: Out of the box in VSCode (more info here).
  • Debugger: Out of the box in VSCode (is that icon on the side with the bug on it, more info here).
  • Refactor: Out of the box in VSCode (F2 uses the TypeScript server, even if you're working with JS, more info here).

You might need to take a new look at VSCode. Is free and is open source, which means is constantly evolving and getting better. Not only that, once you set it up to be as you like, you can enable settings sync and you have your settings anywhere you do a new installation.

Is a matter of preference, but I prefer to not spend 59 USD on a subscription when I can get an excellent and highly customizable editor for free. Is it perfect? Nah, it could be better (lower resource consumption maybe), but is good enough and, from my point of view, way better than an IDE.

Thread Thread
dcastro profile image
Daniel Castro Author

You have a point.

This is my point:

  • TODO Comments: I have to install a plugin.
  • Auto Import: Does not work when I copy/paste code.
  • Git Integration: I don't like the interface that it shows when I have conflicts.
  • Debugger: I tried it once and I did not like it
  • Refactor: Every time that I renamed a variable in my code it opened a bunch of tabs with all the files where I was using my variable, just annoying.

Of course, is is a matter of preference. Thanks for sharing your opinion, it is great.

Thread Thread
remejuan profile image
Reme Le Hane • Edited

Have to agree, I too switched and while back, to IDEA, but that’s the big brother, I could just as easily have gotten away with the free community edition, I choose to pay for it, the paid one has a few useful benefits, honestly have not needed them much, but rather have them for that time I do…

It’s true that VSCode has the potential to be great, the amount of effort is too great and even then the bulk of the UI just sucks. I used it for many years, not knowing there was something exponentially better out there.

I honestly even tried to switch back, more of a verification than an actual desire to switch back and the clumsiness just frustrated me in minutes. You can’t go back from the ultimate tool to a tinker toy, just does not work.

I get paid enough to use proper tools, no need to save pennies on toys.

Collapse
andreidascalu profile image
Andrei Dascalu

Which you can achieve with vscode sync. It used to be a plugin but now I think it's part of the core. It the background it's done through github I think. So once you have your plugin set, next time you install vscode on a new machine (or wipe your current install) you'll have your setup downloaded and installed in seconds.

Thread Thread
dcastro profile image
Daniel Castro Author

I have not heard about that before.. it sounds great!

Collapse
adam_cyclones profile image
Adam Crockett

VSCode out of the box experience, plugins vary with quality, some anoy me so much, and most are not great. Webstorm does just work and it works well.

Thread Thread
lukeshiru profile image
LUKESHIRU

Fine for you, I guess I just prefer to have a powerful editor that I can extend with plugins if I want, and not pay a 59 USD subscription to get a bloated IDE. Is just a matter of preference. My point is that the author has to clarify that is a paid product, not everyone will like to pay for something they can get for free.
Even when you look for alternatives for VSCode WebStorm doesn't show up in the top results, but it does the other way around.

Thread Thread
adam_cyclones profile image
Adam Crockett

I have used both professionally for years they are both great, its the person behind the keyboard that counts. Forget this debate it's not realy worth it.

Collapse
rihdusr profile image
Sudhir

Just to add, you can buy a annual license for WebStorm, which you can continue to use perpetually. Only catch is you won't get any further updates after the first year of purchase.

Collapse
klvenky profile image
Venkatesh KL • Edited

I get your point. It's the classic "Nothing fits all" problem. There's no single thing that makes everybody happy. The choice of IDEs is like music. Someone likes hip-hop, someone likes jazz & someone like heavy-metal. There's no real point in saying someone is Right/Wrong when we're not standing in their shoes.
I've used Intellij IDEA & Webstorm both in the pro versions aug my previous employer. They had enough budget to get them all. We worked on just one front-end & one backend repositories for almost 2 years. There these work like a charm, keeping all the indexes up to date all the time. I'll just have to open the IDE once & I'm done with the initialisation. There I barely needed CLI tools. So that made me of sense.
However now, I use vscode as a Daily driver. I've put lot of effort has making it my own. The main reason being

  1. my employer doesn't have budget(sadly 😓)
  2. I've to open atleast 7+ projects everyday sometimes atleast 3 or 4 of them at the same time. So Webstorm might (not will) literally kill(🔥🔥🔥) my machine if I do so.
  3. I use lot of CLI tools(🖥️) due to the kind of work I do. So that's something which I can do irrespective of IDE. So that's an added bonus.

Due to all these points I use vscode. I do get some hearing issue at times, but I think I can live with it.

I've nothing against the #abcd editor/IDE fanboys, so just use whatever makes you happy & better

Collapse
siy profile image
Sergiy Yevtushenko

I've found VSCode much heavier than IntelliJ tools resource-vise.

Collapse
klvenky profile image
Venkatesh KL

That's really achievable, no pun just joking. Vscode is running on chrome(v8) which is hungry & would love resources at stake. Probably you need to checkout what all extensions are taking your resources because as a standalone build vscode is lean compared to Webstorm.
However if there are too many extensions which run at the same time then it can try to spawn multiple threads & can literally eat your resources like a hungry bear. So that's completely understandable. You might have to run your vscode in debug extensions mode to see which one is causing the trouble.
Otherwise just remove everything & install a plug-in only when you need.

Thread Thread
klvenky profile image
Venkatesh KL

The main reason for my advice to remove all extensions is simple. There were quite some extensions whose functionality has been built into vscode when compared to 3 years ago. So you might have to unlearn & learn again.
This is an example that I've found, path intellisense plugin maynot be required any more. Similarly organise imports. So you can make it leaner. I won't guarantee that it'll be always lean.
However if even that doesn't help, try going to something like lunar vim(neovim + vscode like functionality). Since the core is built outside electron it can help you a lot.
(TypeScript only!!!)
If that doesn't help much then you can check your project structure. If there are too many yarn workspaces built with TypeScript or something similar which requires the editor to do some heavy lifting for every small change done to the code then that will be a good place to start. I've recently seen a post about the same in dev. I'll try to share it if that might help.

Thread Thread
siy profile image
Sergiy Yevtushenko

Too much ceremony, as for me. One of the advantages of IntelliJ tools - that ceremony is already done for me and every new version is better and faster. For my purposes (I'm mostly writing Java code) VSCode has no advantages at all, because Idea Community Edition is free and open source.

Thread Thread
klvenky profile image
Venkatesh KL

There's no challenge for intellij IDEA when you're doing Java. I agree to that 200%.
Premium version has much better support for multiple frameworks like spring, hibernate etc

Thread Thread
siy profile image
Sergiy Yevtushenko

Fortunately I have no need to use garbage like spring or hibernate.

Thread Thread
klvenky profile image
Venkatesh KL

I don't like to call them garbage at least. Even though I don't use them in my day-to-day work work, I think they're great abstractions.
I do understand hibernate had some limitations with respect to query tuning (my assumption) as it doesn't control the creation of indexes & views (another assumption). But I wouldn't dare to call them garbage. They're not useful to do many people of they were.
Maybe hibernate is (SQLly) poorman's Mac Book Pro (a premium product is what I mean) into the database world.

Thread Thread
siy profile image
Sergiy Yevtushenko

I've used them for more than a decade, and I'm pretty sure they are both garbage. It's hard to express how much harm they did to whole Java ecosystem and still doing to developers and enterprises.

Hibernate is poor in every respect - it's poor in query optimization, poor in abstracting out DB access, poor in regard to writing queries, poor in regard to performance, etc. Anyone who needs performant, convenient to use and typesafe DB access should look for alternative. For example, JOOQ is good in every above-mentioned aspect - it has great performance, writing typesafe, arbitrarily complex queries is a breeze, optimization of queries is not different from doing that in plain SQL, etc.

Spring is not different to Hibernate - poorly designed and implemented, a lot of hidden "magic" which causes countless hard to nail down issues. Beside that it promotes bad practices like overuse of annotations and business-level exceptions.

Thread Thread
klvenky profile image
Venkatesh KL

You've a lot of fair points to think about. I've faced issues with hibernate earlier as I had to forcefully change the database schema as some query was not supported by it. I get you.
Probably you can create a post & share it with us so that lot of us can understand what can be improved in those systems & help us get better. Not sure if you've done that already. Please share it with us if it's already there.
I'm also against annotations of spring. I personally think that they cause issues in understanding the entire system. I like them old way of using XML to configure the entire beans loaded. But it's little hard for newbies to enter(was for me). I think brilliant documentation can help in that.
I support you fully with the annotations part.

Thread Thread
siy profile image
Sergiy Yevtushenko

Taking into account a huge wave of articles with promotion of Spring and Hibernate, article with critics will be considered a clickbaiting and hardly change situation. Nevertheless, if you're interested, just look around. Try Guice instead of Spring DI, JOOQ instead of Hibernate, Project Reactor instead of Spring Flux. There are a number of microframeworks for web services - Spark, Jooby, Rapidoid just to name few.

Thread Thread
klvenky profile image
Venkatesh KL

Sure. I'll give them a shot.
Thanks 👍

Collapse
msaaddev profile image
Saad Irfan

Hey! It's great that you are using WebStorm. Being a VSCode Power User, I thought I might share some resources for VSCode that can help you to achieve almost the same thing for free (and also other people who are looking to do the same thing but don't want to switch).

Todo Highlight
React Debugger

You can press CMD + Shift + F in VSCode, type in the name of the variable you want to rename. Type the new name and press Ctrl + CMD + Enter and it is going to rename every single instance for you.

replace

Also, I love using VSCode integrated source control. It is quite easy to use. You should check it out. You may like it

Collapse
dcastro profile image
Daniel Castro Author

Thank you for this!

Collapse
hanpari profile image
Pavel Morava

There is no doubt that Jetbrains products are superior to VS Code in many ways. After all, JetBrains knows its stuff and after all, JetBrains does not provide its editors for free.

Personally, I use VS Code because I am way too familiar with it. But in terms of refactoring and auto-completion, JetBrains has an upper-hand.

The problem in competition between JetBrains and VSCode is the fact that VS Code has a lot of features better than JetBrains, at least in my opinion.

Collapse
kylereeman profile image
KyleReemaN

For me after weeks of comparison I choose Webstorm over Vscode because of the better database tools I didnt found anything near as good as with Jetbrains Integration with mysql/nosql

Collapse
lachlanv profile image
lachlanv

Although I really love VS Code, lately I have been finding that it kind of suffers from an issue that extension-based applications tend to face. That is, getting decent functionality relies on finding and installing many plugins which are maintained separately, don't necessarily integrate together, have different levels of performance, and have their own issues. Some extensions are extremely useful and virtually flawless. Others which seem great turn out to suffer from issues that disrupt your workflow. An examplesl I have found is the Jest Test Explorer, which is unable to find tests unless that are at the root of your workspace.

What Webstorm does (at a price, to be fair) is provide an extremely capable IDE experience with no extensions necessary. You know it all works well and works together. The more capable I become as a developer, the more I find that VS Code definitely lacks in a lot of important areas.

I still love it though. I still find it so quick and useful for many use cases.

Collapse
vladi160 profile image
vladi160

In Storm everything is there and with configurations by default. Also, ftp/sftp, ssh, upload on save, good for PHP, auto import, format. With VScode sometimes there are bugs between the different extensions, the docs for them are different or unclear.

Collapse
presidenten profile image
Johan Hernefeldt • Edited

I like webstorm as well, but usually end up using vscode since it starts up faster.

The webstorm diff tool is amazing though, just like you said. Resolving git conflicts couldnt be easier.

Also wanted to mention, that if you are having a problem with getting started with vscode on a new machine, checkout the extention:
marketplace.visualstudio.com/items...

There are similar plugins for sublime and atom as well.

There is also a native settings sync in vscode preview that you can use:
code.visualstudio.com/docs/editor/...

Collapse
leadegroot profile image
Lea de Groot

One feature I am unsure is available in VsCode is the superlative project search, and search-replace that Storm offers.
Very excellent.
(I looked for a vscode plugin for it at one point, and failed to find it, so would be glad to hear there is one)
The Refactor tools are also awesome and reliable.

Collapse
rangercoder99 profile image
RangerCoder99

You start up by saying that you needed to setup VSCode again on your new computer... Why not just use Settings Sync?! It would have taking your plugins and settings from your old computer and you would be up and going faster then you could download and install WebStorm 😁

Collapse
elmuerte profile image
Michiel Hendriks

Editor/IDE wars will never die. Emacs4ever!

Collapse
leob profile image
leob • Edited

Years ago I made this switch, but the other way around, and I never looked back - WebStorm isn't bad but VSCode feels so much more simple, snappy & lightweight, and most of the things that you mentioned can be achieved with a couple of plugins. For me WebStorm and its advantages (if any) didn't justify paying a license fee anymore.

Collapse
adam_cyclones profile image
Adam Crockett

Why I swapped to Vs code from Webstorm: I moved into a new house in Feb and Im trying to save money on subscriptions 😑... Otherwise I would still be using it

Collapse
dikamilo profile image
dikamilo

You can always buy 1-year subscription once and use WebStorm forever without future updates ;)

Collapse
dcastro profile image
Daniel Castro Author

Hahaha I hope you can go back to WebStorm!

Collapse
adam_cyclones profile image
Adam Crockett

The critical thinking to be thankful, I still have hands, and my eyes work enough to operate a computer 😂

Collapse
eichgi profile image
Hiram

I have always prefered Jetbrains stuff over VS code or any other editor. Don't forget to install this plugin plugins.jetbrains.com/plugin/8575-...

Collapse
rangercoder99 profile image
RangerCoder99

Also see you're from Venezuela?! The USD in worth a hell lot more, how do you justifying spending that much money on a sub fee?!

Collapse
rom858 profile image
Rom858

I dont like webstorm's themes aren pretty as vs code