We used Microsoft Visual Studio Code to handle many of our JavaScript projects. Visual Studio Code is much more suited to Single Page Application (SPA) projects, NodeJs projects, and any client-focused projects than Visual Studio. Visual Studio is not a good fit for any project that needs to respond to many files changing on the file system, which SPA projects typically do. Visual Studio Code fills this gap by allowing the file system to be the source of truth, instead of fighting changes to the file system, like Visual Studio will do.
Pros
Manages SPA applications well by responding to changes on the file system, such as those made by "ng serve".
Manages any npm-based application by responding to changes made by "npm install".
Highly pluggable architecture allows the Developer to configure their environment however they like.
Cons
I would like there to be a more "out of the box" default configurations for Angular projects. By default, Visual Studio Code does not honor tslint suggestions in Angular projects, and it creates friction between devs who are set up to honor Angular's tslint guidelines and newer developers who are not. Just a single choice to "configure for Angular" would be great.
I would also like to be able to use the Visual Studio Code as a "git merge tool" to handle merge conflicts. You currently can't do that in VS Code.
I'd like to be able to pin tabs like I can in Visual Studio, so I can keep certain files always open.
Likelihood to Recommend
Visual Studio Code is perfect for any JavaScript-focused project, especially those which have a lot of file changes occurring from outside the IDE. Any sort of linting process or auto-building process, like "ng serve", gulp, grunt, etc will be well-served and managed via Visual Studio Code. We use it for any scenario where Visual Studio becomes a pain in the butt. Conversely, .NET projects are better served with Visual Studio.