I extracted some text from the VSCode extension development guide. Hope you can get an overview first.


The extension host:
====================
Extension host is a Node.js process in VS Code responsible for loading and running extensions. Although you don't need to worry about the Extension Host when you are writing extensions, it is still useful to know what the Extension Host does to your extension.

URL: https://code.visualstudio.com/api/advanced-topics/extension-host


Extension Manifest:
====================
Every Visual Studio Code extension needs a manifest file package.json at the root of the extension directory structure.

URL: https://code.visualstudio.com/api/references/extension-manifest


Contribute Points:
===================
Contribution Points are a set of JSON declarations that you make in the contributes field of the package.json Extension Manifest. Your extension registers Contribution Points to extend various functionalities within Visual Studio Code. Here is a list of all available Contribution Points:

configuration
configurationDefaults
commands
menus
keybindings
languages
debuggers
breakpoints
grammars
themes
snippets
jsonValidation
views
viewsContainers
problemMatchers
problemPatterns
taskDefinitions
colors
typescriptServerPlugins
resourceLabelFormatters

URL: https://code.visualstudio.com/api/references/contribution-points


Extending Workbench:
====================
"Workbench" refers to the overall Visual Studio Code UI that encompasses the following UI components:

Title Bar
Activity Bar
Side Bar
Panel
Editor Group
Status Bar

VS Code provides various APIs that allow you to add your own components to the Workbench.

URL: https://code.visualstudio.com/api/extension-capabilities/extending-workbench

在 2020年1月1日 +0800 PM11:32,Eli Zaretskii <eliz@gnu.org>,写道:
Date: Wed, 1 Jan 2020 12:02:35 +0800
From: HaiJun Zhang <netjune@outlook.com>
Cc: dgutov@yandex.ru, 38807@debbugs.gnu.org

While with the same dart project, the VSCode has good user responsiveness. As far as I known, the
extensions of VSCode runs in separate process.

Can you even remotely compare the degree of control the VSCode
extension language can have on the UI, with what Emacs gives you?