VS Extensions
Official Marketplace
According to the VSCode Marketplace Terms of Use, you may only install and use Marketplace Offerings with Visual Studio Products and Services.
Marketplace Offerings are intended for use only with Visual Studio Products and Services, and you may only install and use Marketplace Offerings with Visual Studio Products and Services.
For this reason, we use Open-VSX, an open source registry for VS Code extensions.
INFO
Please note that some Visual Studio Code extensions have licenses that restrict their use to the official Visual Studio Code builds and therefore do not work with our workspace.
Installing User Defined Extensions
Recognizing your individual preferences for VSCode extensions, we provide two methods for ensuring your workspace retains custom installed extensions across restarts.
TIP
Kloud's workspace is always evolving. In order to gain the most from all the new features and upgrades, we suggest using the "Install at Boot"
method.
Install at Boot
Upon workspace startup, we evaluate the value of multiple environment variables in order to automate the installation of additional user-defined VSCode extensions. Both options below can be used in unison:
WS_EXTRA_VS_EXTENSIONS
: One or more space delimited extension names.WS_EXTRA_VS_EXTENSIONS_DIR
: Directory of extensions with as*.vsix
.
docker run \
-e WS_EXTRA_VS_EXTENSIONS="dbaeumer.vscode-eslint esbenp.prettier-vscode" \
ghcr.io/kloudkit/workspace:latest
docker run \
-e WS_EXTRA_VS_EXTENSIONS_DIR=/extra-extensions \
-v /path/to/my-extra-extensions:/extra-extensions \
ghcr.io/kloudkit/workspace:latest
Persistent Extensions
You can take full control of the workspace extensions by a persistent volume to the /extensions
directory. When using a named volume the initial content of /extensions
from the deployed image is copied over to the volume.
NOTICE
It is important to note, that by mounting a volume to the extensions directory, you opt-out of receiving future updates, installs, and changes to the prepackaged extensions that come with the workspace.
# Optional: the volume name is explicitly defined
# below, so the following can be skipped
docker volume create my-extensions
docker run \
-v my-extensions:/extensions \
ghcr.io/kloudkit/workspace:latest
Privately Hosted Gallery
If you own a marketplace that implements the VSCode Extension Gallery API, you can point the workspace to it by setting $EXTENSIONS_GALLERY
. For example:
docker run \
-e EXTENSIONS_GALLERY='{"serviceUrl": "https://my-extensions/api"}' \
ghcr.io/kloudkit/workspace:latest
WARNING
We strongly discourage you from setting this to the official VSCode Marketplace, since it infringes on the terms of use.
Prepackaged Extensions
The table below describes the preinstalled extensions (some also have customized settings) and their respective license.
👏 Many thanks to the amazing developers of these extensions.