3 ms·
Is there any blog/video discussing architecture of VSCode. From my limited understanding it seems to have made some brilliant choices, but don't have enough tim
by blackoil 6y ago
Is there any blog/video discussing architecture of VSCode. From my limited understanding it seems to have made some brilliant choices, but don't have enough time(skills?) to go through the code. Someone discussing arch, various choices and implication would be really neat.
- deleted 6y ago[deleted]
- nojvek 6y agoIn terms of language support there are 3 big things 1) Syntax highlighting. They followed the textmate bundle highlighting spec which is somewhat a standard that is shared by many editors. 2) Language Server Protocol - a JSON RPC based protocol that different languages can hook into. The interface is something like. “The users cursor is at this position, what code completion items need to be shown? Where are the errors and warnings?” 3) Debug Protocol - similar JSON RPC protocol, but for debugging. For this breakpoint, show the scopes, the stack trace, console logs etc Almost everything in Vscode communicates in an async manner. The main UI is on an isolated process, and all extensions are on a different process so they don’t stall the UI. It’s a modularized and RPC based architecture.