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