This is a weekly roundup of awesome DEV comments that you may have missed. You are welcome and encouraged to boost posts and comments yourself using the #bestofdev tag.
I consider the term "full stack" to have a different meaning from most people ( i guess ). I think you can be considered full stack when you reach enough knowledge to be technology agnostic, and use the most appropriate technology to solve the task, even if that means learning something new.
After you get deep into a couple frontend technologies and a couple backend technologies you start thinking by design/architecture instead of language constraints, and that allows you to easily take into any other language as needed
This week, I got confirmation that I'll be starting as a web developer at StraTopo (a company building geo information systems and geographical models) next month.
provided a thorough reply to the Why I Switched From Visual Studio Code To JetBrains WebStorm thread. Be sure to check out the original article as well.
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
"QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers. Orders a sfdeljknesv." -Bill Sempf
There is actually a second part, which I feel is quite relevant here:
First real customer walks in and asks where the bathroom is. The bar bursts into flames, killing everyone.
You should not ignore package.json, it is a key file shared between all the developers defining package dependencies. You should ignore build artefacts and installed dependencies and user specific configuration files such as IDE configuration, that is specific to a single user. Note that some IDE config files you don't want to ignore such as build configurations because they're the same for the whole team.
See you next week for more great comments ✌