Upload
leduong
View
219
Download
0
Embed Size (px)
Citation preview
Envision new paradigms for online developer tooling that will be as successful as the IDE has been for the desktop
Meanwhile Microso; Changes
RunonWindows RuneverywhereEditinVisualStudio UseyourfavoriteeditorBlackboxcompilers OpenLanguageServiceAPIsProprietary OpenSource
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
editor IDE
lightweight/fastkeyboardcenteredfile/foldersmanylanguagesmanyworkflows
projectsystemscodeunderstanding
debugintegratedbuild
File>New,wizardsdesigners
ALMintegraVonplaWormtools
...
lightweight/fastfile/folders withprojectcontextmanylanguageskeyboardcenteredcodeunderstandingdebugtaskrunning
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
TypeScript
OpVonalstaVctypes–be@ertooling:IntelliSense,RefactoringBe@erAPIsdocsMoresafety
deletethis.markers[range.statMarkerId];//startMarkerId
Usefeaturesfromthefuture(ES6,ES7)today
Extension isolaGon ControlledextensibilityJavaScriptorTypeScriptReusenodemodulesAPI:vscode.d.tsExtensiondescripVon:package.json
MainProcess
IPC
ExtensionHost
ExtensionHostRP
C
ExtensionHost
Node Renderer process
Language/Debug services
RPC
ExtensionHost
Node Renderer process
JSON
PowerShell
OmniSharpServer
GoCLITools
Jedi
vs
racer
javac
TS/JSServer(*) code language protocol
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
Feedback Channels
QuesVons:StackOverflowIssues/PullRequests:GitHubFeatureVoVng:UserVoiceSenVment:Twi"erMSFTFTEsusetosamechannels
Feedback Example - Accessibility
CollaboraVonwithGitHubonElectronaccessibility
h@ps://github.com/MicrosoH/vscode/issues/2108
VS Code OSS vs. VS Code Distro
VSCodeOSSEverybodycanbuildfromgithubrepoNotbrandedMITLicenseSupportedbyCommunity
VSCodeDistroBuildsonVSCodeMSbranded(logo,telemetry,gallery)MSStandardLicenseSupportedbyMS
Easy for Developers
VSCodeconsumes142OSScomponents,90+%arenodemodules
Varietyoflicenses,someVmesnoneWetrack,revieweachlicense,C/Rstatementsforeverydependency
NeedstoolingtogenerateandmaintainthirdpartynoVces
Summary
RunonWindows RuneverywhereEditinVisualStudio UseyourfavoriteeditorBlackboxcompilers OpenLanguageServiceAPIsProprietary OpenSource