The Journey of Visual Studio Code - gotocon.com Studio A tool that combines the Code simplicity of a...
Transcript of The Journey of Visual Studio Code - gotocon.com Studio A tool that combines the Code simplicity of a...
![Page 1: The Journey of Visual Studio Code - gotocon.com Studio A tool that combines the Code simplicity of a code editor with what developers need for the core code-build-debug-commit cycle](https://reader034.fdocuments.us/reader034/viewer/2022051508/5aba4f9b7f8b9ad13d8eaa7c/html5/thumbnails/1.jpg)
The Journey of Visual Studio Code
ErichGamma
![Page 2: The Journey of Visual Studio Code - gotocon.com Studio A tool that combines the Code simplicity of a code editor with what developers need for the core code-build-debug-commit cycle](https://reader034.fdocuments.us/reader034/viewer/2022051508/5aba4f9b7f8b9ad13d8eaa7c/html5/thumbnails/2.jpg)
Envision new paradigms for online developer tooling that will be as successful as the IDE has been for the desktop
![Page 3: The Journey of Visual Studio Code - gotocon.com Studio A tool that combines the Code simplicity of a code editor with what developers need for the core code-build-debug-commit cycle](https://reader034.fdocuments.us/reader034/viewer/2022051508/5aba4f9b7f8b9ad13d8eaa7c/html5/thumbnails/3.jpg)
2012
![Page 4: The Journey of Visual Studio Code - gotocon.com Studio A tool that combines the Code simplicity of a code editor with what developers need for the core code-build-debug-commit cycle](https://reader034.fdocuments.us/reader034/viewer/2022051508/5aba4f9b7f8b9ad13d8eaa7c/html5/thumbnails/4.jpg)
2011
![Page 5: The Journey of Visual Studio Code - gotocon.com Studio A tool that combines the Code simplicity of a code editor with what developers need for the core code-build-debug-commit cycle](https://reader034.fdocuments.us/reader034/viewer/2022051508/5aba4f9b7f8b9ad13d8eaa7c/html5/thumbnails/5.jpg)
Eat your own dogfood
h"p
2011
![Page 6: The Journey of Visual Studio Code - gotocon.com Studio A tool that combines the Code simplicity of a code editor with what developers need for the core code-build-debug-commit cycle](https://reader034.fdocuments.us/reader034/viewer/2022051508/5aba4f9b7f8b9ad13d8eaa7c/html5/thumbnails/6.jpg)
2012
![Page 7: The Journey of Visual Studio Code - gotocon.com Studio A tool that combines the Code simplicity of a code editor with what developers need for the core code-build-debug-commit cycle](https://reader034.fdocuments.us/reader034/viewer/2022051508/5aba4f9b7f8b9ad13d8eaa7c/html5/thumbnails/7.jpg)
2012
![Page 8: The Journey of Visual Studio Code - gotocon.com Studio A tool that combines the Code simplicity of a code editor with what developers need for the core code-build-debug-commit cycle](https://reader034.fdocuments.us/reader034/viewer/2022051508/5aba4f9b7f8b9ad13d8eaa7c/html5/thumbnails/8.jpg)
2013
![Page 9: The Journey of Visual Studio Code - gotocon.com Studio A tool that combines the Code simplicity of a code editor with what developers need for the core code-build-debug-commit cycle](https://reader034.fdocuments.us/reader034/viewer/2022051508/5aba4f9b7f8b9ad13d8eaa7c/html5/thumbnails/9.jpg)
Meanwhile Microso; Changes
RunonWindows RuneverywhereEditinVisualStudio UseyourfavoriteeditorBlackboxcompilers OpenLanguageServiceAPIsProprietary OpenSource
![Page 10: The Journey of Visual Studio Code - gotocon.com Studio A tool that combines the Code simplicity of a code editor with what developers need for the core code-build-debug-commit cycle](https://reader034.fdocuments.us/reader034/viewer/2022051508/5aba4f9b7f8b9ad13d8eaa7c/html5/thumbnails/10.jpg)
![Page 11: The Journey of Visual Studio Code - gotocon.com Studio A tool that combines the Code simplicity of a code editor with what developers need for the core code-build-debug-commit cycle](https://reader034.fdocuments.us/reader034/viewer/2022051508/5aba4f9b7f8b9ad13d8eaa7c/html5/thumbnails/11.jpg)
Hacker News: Microso; “Hit List”
h@ps://hn.algolia.com/?query=MicrosoH
![Page 12: The Journey of Visual Studio Code - gotocon.com Studio A tool that combines the Code simplicity of a code editor with what developers need for the core code-build-debug-commit cycle](https://reader034.fdocuments.us/reader034/viewer/2022051508/5aba4f9b7f8b9ad13d8eaa7c/html5/thumbnails/12.jpg)
Pivotor
Persevere?
![Page 13: The Journey of Visual Studio Code - gotocon.com Studio A tool that combines the Code simplicity of a code editor with what developers need for the core code-build-debug-commit cycle](https://reader034.fdocuments.us/reader034/viewer/2022051508/5aba4f9b7f8b9ad13d8eaa7c/html5/thumbnails/13.jpg)
Visual Studio Code A tool that combines the simplicity of a code
editor with what developers need for the core code-build-debug-commit cycle
![Page 14: The Journey of Visual Studio Code - gotocon.com Studio A tool that combines the Code simplicity of a code editor with what developers need for the core code-build-debug-commit cycle](https://reader034.fdocuments.us/reader034/viewer/2022051508/5aba4f9b7f8b9ad13d8eaa7c/html5/thumbnails/14.jpg)
editor IDE
lightweight/fastkeyboardcenteredfile/foldersmanylanguagesmanyworkflows
projectsystemscodeunderstanding
debugintegratedbuild
File>New,wizardsdesigners
ALMintegraVonplaWormtools
...
lightweight/fastfile/folders withprojectcontextmanylanguageskeyboardcenteredcodeunderstandingdebugtaskrunning
![Page 15: The Journey of Visual Studio Code - gotocon.com Studio A tool that combines the Code simplicity of a code editor with what developers need for the core code-build-debug-commit cycle](https://reader034.fdocuments.us/reader034/viewer/2022051508/5aba4f9b7f8b9ad13d8eaa7c/html5/thumbnails/15.jpg)
![Page 16: The Journey of Visual Studio Code - gotocon.com Studio A tool that combines the Code simplicity of a code editor with what developers need for the core code-build-debug-commit cycle](https://reader034.fdocuments.us/reader034/viewer/2022051508/5aba4f9b7f8b9ad13d8eaa7c/html5/thumbnails/16.jpg)
![Page 17: The Journey of Visual Studio Code - gotocon.com Studio A tool that combines the Code simplicity of a code editor with what developers need for the core code-build-debug-commit cycle](https://reader034.fdocuments.us/reader034/viewer/2022051508/5aba4f9b7f8b9ad13d8eaa7c/html5/thumbnails/17.jpg)
![Page 18: The Journey of Visual Studio Code - gotocon.com Studio A tool that combines the Code simplicity of a code editor with what developers need for the core code-build-debug-commit cycle](https://reader034.fdocuments.us/reader034/viewer/2022051508/5aba4f9b7f8b9ad13d8eaa7c/html5/thumbnails/18.jpg)
Inside Visual Studio Code – OSS in AcGon
Electron,NodeTypeScriptMonacoEditor
![Page 19: The Journey of Visual Studio Code - gotocon.com Studio A tool that combines the Code simplicity of a code editor with what developers need for the core code-build-debug-commit cycle](https://reader034.fdocuments.us/reader034/viewer/2022051508/5aba4f9b7f8b9ad13d8eaa7c/html5/thumbnails/19.jpg)
![Page 20: The Journey of Visual Studio Code - gotocon.com Studio A tool that combines the Code simplicity of a code editor with what developers need for the core code-build-debug-commit cycle](https://reader034.fdocuments.us/reader034/viewer/2022051508/5aba4f9b7f8b9ad13d8eaa7c/html5/thumbnails/20.jpg)
It’s fun to program in JavaScript
![Page 21: The Journey of Visual Studio Code - gotocon.com Studio A tool that combines the Code simplicity of a code editor with what developers need for the core code-build-debug-commit cycle](https://reader034.fdocuments.us/reader034/viewer/2022051508/5aba4f9b7f8b9ad13d8eaa7c/html5/thumbnails/21.jpg)
Compensating patterns for classes, modules and namespaces.
Refactoring JavaScript code is difficult! Code becomes read only Defining and documentation of APIs is difficult. Type information in comments are not checked
![Page 22: The Journey of Visual Studio Code - gotocon.com Studio A tool that combines the Code simplicity of a code editor with what developers need for the core code-build-debug-commit cycle](https://reader034.fdocuments.us/reader034/viewer/2022051508/5aba4f9b7f8b9ad13d8eaa7c/html5/thumbnails/22.jpg)
TypeScript
OpVonalstaVctypes–be@ertooling:IntelliSense,RefactoringBe@erAPIsdocsMoresafety
deletethis.markers[range.statMarkerId];//startMarkerId
Usefeaturesfromthefuture(ES6,ES7)today
![Page 23: The Journey of Visual Studio Code - gotocon.com Studio A tool that combines the Code simplicity of a code editor with what developers need for the core code-build-debug-commit cycle](https://reader034.fdocuments.us/reader034/viewer/2022051508/5aba4f9b7f8b9ad13d8eaa7c/html5/thumbnails/23.jpg)
Growing the Code
![Page 24: The Journey of Visual Studio Code - gotocon.com Studio A tool that combines the Code simplicity of a code editor with what developers need for the core code-build-debug-commit cycle](https://reader034.fdocuments.us/reader034/viewer/2022051508/5aba4f9b7f8b9ad13d8eaa7c/html5/thumbnails/24.jpg)
VS Code Preview – April 2015
![Page 25: The Journey of Visual Studio Code - gotocon.com Studio A tool that combines the Code simplicity of a code editor with what developers need for the core code-build-debug-commit cycle](https://reader034.fdocuments.us/reader034/viewer/2022051508/5aba4f9b7f8b9ad13d8eaa7c/html5/thumbnails/25.jpg)
Extensions
![Page 26: The Journey of Visual Studio Code - gotocon.com Studio A tool that combines the Code simplicity of a code editor with what developers need for the core code-build-debug-commit cycle](https://reader034.fdocuments.us/reader034/viewer/2022051508/5aba4f9b7f8b9ad13d8eaa7c/html5/thumbnails/26.jpg)
Eclipse
Everythingis…...apluginwithcontribuVons…implementedinJava…runsinasingleshell/window
![Page 27: The Journey of Visual Studio Code - gotocon.com Studio A tool that combines the Code simplicity of a code editor with what developers need for the core code-build-debug-commit cycle](https://reader034.fdocuments.us/reader034/viewer/2022051508/5aba4f9b7f8b9ad13d8eaa7c/html5/thumbnails/27.jpg)
Eclipse Plug-ins
![Page 28: The Journey of Visual Studio Code - gotocon.com Studio A tool that combines the Code simplicity of a code editor with what developers need for the core code-build-debug-commit cycle](https://reader034.fdocuments.us/reader034/viewer/2022051508/5aba4f9b7f8b9ad13d8eaa7c/html5/thumbnails/28.jpg)
Extension isolaGon ControlledextensibilityJavaScriptorTypeScriptReusenodemodulesAPI:vscode.d.tsExtensiondescripVon:package.json
MainProcess
IPC
ExtensionHost
ExtensionHostRP
C
ExtensionHost
Node Renderer process
![Page 29: The Journey of Visual Studio Code - gotocon.com Studio A tool that combines the Code simplicity of a code editor with what developers need for the core code-build-debug-commit cycle](https://reader034.fdocuments.us/reader034/viewer/2022051508/5aba4f9b7f8b9ad13d8eaa7c/html5/thumbnails/29.jpg)
Language API
![Page 30: The Journey of Visual Studio Code - gotocon.com Studio A tool that combines the Code simplicity of a code editor with what developers need for the core code-build-debug-commit cycle](https://reader034.fdocuments.us/reader034/viewer/2022051508/5aba4f9b7f8b9ad13d8eaa7c/html5/thumbnails/30.jpg)
Language API – Providers
EditorregisterHoverProvider()…
ProviderprovideHover()…
![Page 31: The Journey of Visual Studio Code - gotocon.com Studio A tool that combines the Code simplicity of a code editor with what developers need for the core code-build-debug-commit cycle](https://reader034.fdocuments.us/reader034/viewer/2022051508/5aba4f9b7f8b9ad13d8eaa7c/html5/thumbnails/31.jpg)
DEMO: Extension Development
![Page 32: The Journey of Visual Studio Code - gotocon.com Studio A tool that combines the Code simplicity of a code editor with what developers need for the core code-build-debug-commit cycle](https://reader034.fdocuments.us/reader034/viewer/2022051508/5aba4f9b7f8b9ad13d8eaa7c/html5/thumbnails/32.jpg)
Extensions, Extensions, Extensions
1000+ extensions in the marketplace
![Page 33: The Journey of Visual Studio Code - gotocon.com Studio A tool that combines the Code simplicity of a code editor with what developers need for the core code-build-debug-commit cycle](https://reader034.fdocuments.us/reader034/viewer/2022051508/5aba4f9b7f8b9ad13d8eaa7c/html5/thumbnails/33.jpg)
Language/Debug services
RPC
ExtensionHost
Node Renderer process
JSON
PowerShell
OmniSharpServer
GoCLITools
Jedi
vs
racer
javac
TS/JSServer(*) code language protocol
![Page 34: The Journey of Visual Studio Code - gotocon.com Studio A tool that combines the Code simplicity of a code editor with what developers need for the core code-build-debug-commit cycle](https://reader034.fdocuments.us/reader034/viewer/2022051508/5aba4f9b7f8b9ad13d8eaa7c/html5/thumbnails/34.jpg)
Tool Protocols Request Response
definiFon ReturnsthefilelocaVonofthesymbolatthegivenfilelocaVon
references ReturnsthefilelocaVonsthatreferencethesymbolatthegivenfilelocaVon
compleFons ReturnspossiblecompleVonsatagivenfilelocaVon
symbolDetails ReturnatypeinformaVonanddocumentaVonforthesymbolatagivenfilelocaVon
format ReturnseditinstrucVonstoformatafile
outline ReturnslistofnavigaVontargetsforaparVcularfile
open NoVfiestheserverthattheeditorhosthasopenedafile
close NoVfiestheserverthatapreviouslyopenedfileisnowclosed
change NoVfiestheserverthatarangeofafilehaschanged
Request launch LaunchadebugeesetBreakpoints SetsmulVplebreakpoints
conFnue,next,stepIn,stepOut
ExecuVoncontrol
stackTrace ReturnsthestacktracefromthecurrentexecuVonstatevariables ReturnsthechildrenofallvariablesgivenavariablereferenceEvent stopped TheexecuVonofthedebugeehasstoppedexited Thedebugeehasterminated
![Page 35: The Journey of Visual Studio Code - gotocon.com Studio A tool that combines the Code simplicity of a code editor with what developers need for the core code-build-debug-commit cycle](https://reader034.fdocuments.us/reader034/viewer/2022051508/5aba4f9b7f8b9ad13d8eaa7c/html5/thumbnails/35.jpg)
DEMO: Sublime
![Page 36: The Journey of Visual Studio Code - gotocon.com Studio A tool that combines the Code simplicity of a code editor with what developers need for the core code-build-debug-commit cycle](https://reader034.fdocuments.us/reader034/viewer/2022051508/5aba4f9b7f8b9ad13d8eaa7c/html5/thumbnails/36.jpg)
November 2015: VS Code goes OSS
![Page 37: The Journey of Visual Studio Code - gotocon.com Studio A tool that combines the Code simplicity of a code editor with what developers need for the core code-build-debug-commit cycle](https://reader034.fdocuments.us/reader034/viewer/2022051508/5aba4f9b7f8b9ad13d8eaa7c/html5/thumbnails/37.jpg)
DevelopmentTeam Community
Transparency
Feedback
![Page 38: The Journey of Visual Studio Code - gotocon.com Studio A tool that combines the Code simplicity of a code editor with what developers need for the core code-build-debug-commit cycle](https://reader034.fdocuments.us/reader034/viewer/2022051508/5aba4f9b7f8b9ad13d8eaa7c/html5/thumbnails/38.jpg)
OSS - Transparency
![Page 39: The Journey of Visual Studio Code - gotocon.com Studio A tool that combines the Code simplicity of a code editor with what developers need for the core code-build-debug-commit cycle](https://reader034.fdocuments.us/reader034/viewer/2022051508/5aba4f9b7f8b9ad13d8eaa7c/html5/thumbnails/39.jpg)
Feedback Channels
QuesVons:StackOverflowIssues/PullRequests:GitHubFeatureVoVng:UserVoiceSenVment:Twi"erMSFTFTEsusetosamechannels
![Page 40: The Journey of Visual Studio Code - gotocon.com Studio A tool that combines the Code simplicity of a code editor with what developers need for the core code-build-debug-commit cycle](https://reader034.fdocuments.us/reader034/viewer/2022051508/5aba4f9b7f8b9ad13d8eaa7c/html5/thumbnails/40.jpg)
Feedback Example - Accessibility
CollaboraVonwithGitHubonElectronaccessibility
h@ps://github.com/MicrosoH/vscode/issues/2108
![Page 41: The Journey of Visual Studio Code - gotocon.com Studio A tool that combines the Code simplicity of a code editor with what developers need for the core code-build-debug-commit cycle](https://reader034.fdocuments.us/reader034/viewer/2022051508/5aba4f9b7f8b9ad13d8eaa7c/html5/thumbnails/41.jpg)
More Feedback: Development Channels
DailyupdatesStability
![Page 42: The Journey of Visual Studio Code - gotocon.com Studio A tool that combines the Code simplicity of a code editor with what developers need for the core code-build-debug-commit cycle](https://reader034.fdocuments.us/reader034/viewer/2022051508/5aba4f9b7f8b9ad13d8eaa7c/html5/thumbnails/42.jpg)
![Page 43: The Journey of Visual Studio Code - gotocon.com Studio A tool that combines the Code simplicity of a code editor with what developers need for the core code-build-debug-commit cycle](https://reader034.fdocuments.us/reader034/viewer/2022051508/5aba4f9b7f8b9ad13d8eaa7c/html5/thumbnails/43.jpg)
VS Code OSS vs. VS Code Distro
VSCodeOSSEverybodycanbuildfromgithubrepoNotbrandedMITLicenseSupportedbyCommunity
VSCodeDistroBuildsonVSCodeMSbranded(logo,telemetry,gallery)MSStandardLicenseSupportedbyMS
![Page 44: The Journey of Visual Studio Code - gotocon.com Studio A tool that combines the Code simplicity of a code editor with what developers need for the core code-build-debug-commit cycle](https://reader034.fdocuments.us/reader034/viewer/2022051508/5aba4f9b7f8b9ad13d8eaa7c/html5/thumbnails/44.jpg)
Easy for Developers
VSCodeconsumes142OSScomponents,90+%arenodemodules
Varietyoflicenses,someVmesnoneWetrack,revieweachlicense,C/Rstatementsforeverydependency
NeedstoolingtogenerateandmaintainthirdpartynoVces
![Page 45: The Journey of Visual Studio Code - gotocon.com Studio A tool that combines the Code simplicity of a code editor with what developers need for the core code-build-debug-commit cycle](https://reader034.fdocuments.us/reader034/viewer/2022051508/5aba4f9b7f8b9ad13d8eaa7c/html5/thumbnails/45.jpg)
Easy for Contributors: CLA BOT
![Page 46: The Journey of Visual Studio Code - gotocon.com Studio A tool that combines the Code simplicity of a code editor with what developers need for the core code-build-debug-commit cycle](https://reader034.fdocuments.us/reader034/viewer/2022051508/5aba4f9b7f8b9ad13d8eaa7c/html5/thumbnails/46.jpg)
Summary
RunonWindows RuneverywhereEditinVisualStudio UseyourfavoriteeditorBlackboxcompilers OpenLanguageServiceAPIsProprietary OpenSource
![Page 47: The Journey of Visual Studio Code - gotocon.com Studio A tool that combines the Code simplicity of a code editor with what developers need for the core code-build-debug-commit cycle](https://reader034.fdocuments.us/reader034/viewer/2022051508/5aba4f9b7f8b9ad13d8eaa7c/html5/thumbnails/47.jpg)
Thank you!
@erichgamma@code