Talk: Anatomy of Language Server Protocol and C# language services for code editors

Language Server Protocol, one of the reasons behind the amazing success of Visual Studio Code, is a generic mechanism for communicating between a code editor and a language server.

LSP architecture allows editors to stay lean and focused on editing experiences and shifts the semantic understanding of the code to the language server. Through LSP, rich IDE-like features for many different languages - such as diagnostics, intellisense or reference lookups - can easily be exposed to the editor.

In this session, we'll look at the internals of LSP, discuss how you can built your own LSP VS Code extension and see how the C# Extension for VS Code ("OmniSharp") is implemented.