Most of these issues stemmed from having no plugin or extension system. With the 1.0 release and their open source release, they’ve gone from one of my “just okay” editors to being a top editor. They now have an extension system which has a lot of features with more commands and languages built in.
It has excellent support for TypeScript, with being able to click on any variable or method and go to the declaration for that. Using the
launch.json file you can run it as a TypeScript project and even add extra steps to the launch process.
I’m also a big fan of their React Native support, which was recently added due to their fork of React Native to add Windows support. On my Macbook I can just start debugging on an iOS device, and even without Xcode open it will compile the objc and run it in the simulator. The breakpoints in the editor then pop up helpful information in the debug pane and I can go through closures, globals, and local variables. So far VSCode has the best support for React Native.
From what I can tell, VSCode is trying to bring support to many of the languages that Visual Studio has. There’s official support for the C# and C/C++ extensions that you can install, which appear to be working very well with VSCode. There’s also extensions for other languages like Python, Go, Ruby, PHP, and several more. While I haven’t used any other languages (except a bit of objc) their support seems really good, and with some being officially supported by Microsoft, I don’t doubt that they’ll only get better.
With VSCode not always having extensions, there’s a lack of extensions that you can install. For instance, I’m a big fan of json5 for configuration files. There’s no support however for this type of file in VSCode, while Atom (a similar editor using the same set of technologies) has had one for more than a year. With the entire editor written in TypeScript, I feel like in the future there will be more extensions that are more stable than their Atom counterparts.