microsoft open source softwaremicrosoft open source software erich gamma (@erichgamma) bios 2002...
TRANSCRIPT
Any developer, any app, any platform
Run on Windows Run everywhere
Edit in Visual Studio Use your favorite editor
Black box compilers Open Language Service APIs/protocols
Proprietary Open Source
Open Source .NET – 2 years later
http://mattwarren.org/2016/11/23/open-source-net-2-years-later/
Issue Activity
Oct 2014 Nov 2016
http://mattwarren.org/2016/11/23/open-source-net-2-years-later/
Visual Studio Code
A desktop tool that combines the simplicity of a code editor with what developers need for the core code-build-debug-commit cycle
editor IDElightweight/fast
keyboard centered
file/folders
many languages
many workflows
project systems
code understanding
debug
integrated build
File>New, wizards
designers
ALM integration
platform tools
...
lightweight/fast
file/folders with project context
many languages
keyboard centered
code understanding
debug
task running
VS Code - Extension isolation
MainProcess
IPC
ExtensionHost
ExtensionHost
RPC
ExtensionHost
Node ProcessRenderer process
Extensions
Language Service Extensions: Language Servers
RPC
ExtensionHost
NodeRenderer process
PowerShell Server
OmniSharp Server
Go CLI Tools
Jedi
C++ Server
Rust LS
Eclipse Java Server
TS Server
Common Language Protocol
Editor/IDE Host Language ServerLanguage ServerProtocol
User opens document textDocument/didOpen: textDocument
User edits document textDocument/didChange: textDocument
User executes go to definition
textDocument/defintion: textDocument, position
result: uri, range
User closes document textDocument/didClose: textDocument
JSON RPC
textDocument/publishDiagnostics: diagnostics
https://github.com/Microsoft/language-server-protocol
Language Service Extensions: Language Servers
RPC
ExtensionHost
NodeRenderer process
JSON
PowerShell Server
OmniSharp Server
Go CLI Tools
Jedi
C++ Server
Rust LS
Eclipse Java Server
TS Server
https://github.com/Microsoft/language-server-protocol/wiki/Protocol-Implementations
Java Developmenthttps://projects.eclipse.org/proposals/jdt-language-server
Microsoft will probably never open source
Windows or Office, its position on Github proves that it's now a true open source company.
http://www.theverge.com/2016/9/15/12926288/microsoft-really-does-love-linux