Skip to content

VS Extensions

Official Marketplace

VSCode logo

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.
sh
docker run \
  -e WS_EXTRA_VS_EXTENSIONS="dbaeumer.vscode-eslint esbenp.prettier-vscode" \
  ghcr.io/kloudkit/workspace:latest
sh
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.

sh
# 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

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:

sh
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.

NameLicense
Catppuccin.catppuccin-vscMIT
charliermarsh.ruffMIT
DavidAnson.vscode-markdownlintMIT
EditorConfig.EditorConfigMIT
exiasr.hadolintMIT
golang.goMIT, Apache 2, BSD, Other
hashicorp.hclMPL 2
humao.rest-clientMIT
ludwhe.vscode-uuidISC
mikestead.dotenvMIT
ms-azuretools.vscode-dockerMIT
ms-kubernetes-tools.vscode-kubernetes-toolsApache 2
ms-python.pythonMIT
ms-vscode.hexeditorMIT
PKief.material-icon-themeMIT
redhat.ansibleMIT
redhat.vscode-xmlEPL 2
redhat.vscode-yamlMIT
samuelcolvin.jinjahtmlMIT
streetsidesoftware.code-spell-checkerGPL 3
tamasfe.even-better-tomlMIT
timonwong.shellcheckMIT
wayou.vscode-todo-highlightMIT
yzhang.markdown-all-in-oneMIT

Released under the MIT License