I think Visual Studio Code introduces much better extensibility philosophy than Visual Studio.
Of course VS is old product and has some legacy we have to excuse, like COM, writing tons of boilerplate code just to show item in context menu, etc., but I mean philosophy of being friendly to everyone, regardless of underlying technology, is very important. For instance, writing language service, in C++ or C# only is a real limitation for some languages and prevents many languages of being integrated, so "Common Protocol for Languages" is right decision.
From another side, Visual Studio is very powerful in terms of customization. Creating virtual item hierarchy is easy (if we consider something can be easy when creating Visual Studio extension), so we have things like database project, with a lot of items, but no real files. I look forward to find similar possibilities in Visual Studio Code.
Decoupling the language support from the tool will be great if it gets wider support. This would give new editors a big leg up, as they only need to support the protocol and handle editing, and can lean on other parties to provide cross tooling language support. The same applies for new languages, write the server once, and get support from many tools.
The most interesting part of this announcement was who they didn't mention: JetBrains. It will be interesting to see if they come on board with this.
Many languages already have something like this. For example, look into ENSIME, ghc-modi, and Racer. I guess the innovation here would be a common protocol for "any" language, but I somewhat doubt that this will have much adoption outside of the .NET/Typescript communities.
omnisharp has already done this, at least specific to their stuff. granted, they are writing front-ends for each editor to integrate with a common language-server like described here, but its the same concept
adontz|9 years ago
Of course VS is old product and has some legacy we have to excuse, like COM, writing tons of boilerplate code just to show item in context menu, etc., but I mean philosophy of being friendly to everyone, regardless of underlying technology, is very important. For instance, writing language service, in C++ or C# only is a real limitation for some languages and prevents many languages of being integrated, so "Common Protocol for Languages" is right decision.
From another side, Visual Studio is very powerful in terms of customization. Creating virtual item hierarchy is easy (if we consider something can be easy when creating Visual Studio extension), so we have things like database project, with a lot of items, but no real files. I look forward to find similar possibilities in Visual Studio Code.
dantiberian|9 years ago
The most interesting part of this announcement was who they didn't mention: JetBrains. It will be interesting to see if they come on board with this.
weberc2|9 years ago
Nullabillity|9 years ago
jdc0589|9 years ago
omnisharp has already done this, at least specific to their stuff. granted, they are writing front-ends for each editor to integrate with a common language-server like described here, but its the same concept
unknown|9 years ago
[deleted]
nippur72|9 years ago