Or, you know, to actually make money from an editor they created, offer the core and tons of functionality for free and as FOSS, and spend millions employing people to work on, but adding some non-free value-added extensions...
The "bad" reason why they are closed: They have the open core, but with key parts closed it's boarder for others to build a solution on top of it, thus they can shovel more integrations with their services in.
The "good" reason: Because relicensing of old software is hard and while they want to make it available (to strengthen their position in the developer community) See also my comment in https://news.ycombinator.com/item?id=24048633
Hasn't Microsoft been a pretty attractive brand for years on end while being proprietary?
You make a brand attractive by offering a good product, good support/service, and then marketing those points.
I try to use as much OSS as I can. But free/opensource isn't the most attractive feature to everyone. And I'd say the success of so many proprietary companies is proof of that.
I saw somewhere that they will offer the remote development in the browser as a paid cloud feature.
They can also at any time make those proprietary features non-free. Perhaps when they get a large enough user base or new CEO or something like that.
You know... even for a feature like that, the plugin itself can be open source.
After all, if the remote development feature is based on a centralized server (owned by MS), the license check will be performed on that server. And if no centralized server is in play, suffice it to say, anybody sufficiently motivated could reverse-engineer the plugin, remove the license check, and go on using the feature for free.
For one, by not allowing someone to just take their code and use it in another editor to offer the same "remote development" etc features using their (MS's) work.
So they control the value from those closed features to only be used to enhance the VSCode and VS brand.
(Which even them, they offer free as in beer).