Visual Studio is joining Visual Studio Code in offering support for the Language Server Protocol. As an extension author, you can now write Visual Studio extensions that leverage existing language servers to provide a rich editing experience for languages that initially had no native language support in Visual Studio. With these extensions, you can use Visual Studio to code in your favorite language!
What is an LSP?
The Language Server Protocol (LSP) is a common protocol that provides language service features to developer tools. A language server contains the deep understanding of a specific language while the Language Server Protocol provides the communication between the language server and the developer tool. The complex logic of a language server needs to be implemented only once and then from there, smaller pieces of code can be written to allow the language server to talk to the specific developer tool. This allows for a consistent editing experience for any tool that supports the protocol.
How do I Start?
You will need to have the Visual Studio extension development workload installed on Visual Studio 2017 Preview. For the preview, you will have to declare a dependency on the Language Protocol Client Preview extension. This means that any customers who wish to install your language server extension must also have the Language Server Protocol Client preview extension installed first. For more details, check out our sample on Github, the client and protocol API documentation, and the walkthrough on how to add a language server protocol extension.
Let Us Know What You Think
Releasing as a preview first gives us a great opportunity to gather and incorporate feedback to make the final product even better. Please leave us comments and questions on the LSP extension page or email us at email@example.com with your feedback.
We can’t wait to see what extensions will be created by the community!
|Stephanie Su, Program Manager, Visual Studio
Stephanie Su is a Program Manager on the Visual Studio Extensibility team focused on the authoring and acquisition scenarios of extensions.