Visual Studio Code has a very modular architecture. The tool itself is written in Node.JS and web technologies, on top of Electron, and most extensions have a Javascript component. But most of the language and debugging functionality is built as out-of-process components, which means that they can be built in any technology. For example, our Typescript and Node tools are built with Node; our .NET tools are built in .NET and native code; and most of the functionality of our Go extension is built (by the Go community) in Go.<p>PTVS is written in a combination of .NET and Python - but with CoreCLR available across all platforms, a lot of that code can be reused. The way they integrate into the tools may be different, but they can share a lot of common code.