---
url: https://ws.kloudkit.com/editor/extensions.md
description: >-
  Manage VS Code extensions in Kloud Workspace, including Marketplace terms and
  how to pre-install extensions in your deployment.
---

# VS Extensions

## Official Marketplace

![VS Code logo](/icons/vscode.svg){.doc-image}

According to the VS Code Marketplace [Terms of Use](https://aka.ms/vsmarketplace-ToU), 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](https://open-vsx.org), 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 VS Code extensions, we provide two methods for
ensuring your workspace retains custom installed extensions across restarts.

::: tip
Kloud Workspace is always evolving.
To gain the most from all the new features and upgrades, we suggest using the
[`"Install at Boot"`](#install-at-boot) method.
:::

### Install at Boot

Upon startup, Kloud Workspace automatically scans `~/.ws/extensions/` for `.vsix` files
and installs them.

You can also install additional extensions by marketplace ID:

```sh{2}
docker run \
  -e WS_EDITOR_ADDITIONAL_VS_EXTENSIONS="dbaeumer.vscode-eslint esbenp.prettier-vscode" \
  ghcr.io/kloudkit/workspace:v0.4.0
```

### Persistent Extensions

You can take full control of the workspace extensions by using 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.

::: warning NOTICE
It is important to note that by mounting a volume for the extensions directory, you
***opt-out*** of receiving future updates, installs, and changes to the prepackaged
extensions that come with the workspace.
:::

```sh{3,6}
# 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:v0.4.0
```

## Privately Hosted Gallery

If you own a marketplace that implements the VS Code Extension Gallery API, you can point
the workspace to it by setting `$EXTENSIONS_GALLERY`.

For example:

```sh{2}
docker run \
  -e EXTENSIONS_GALLERY='{"serviceUrl": "https://my-extensions/api"}' \
  ghcr.io/kloudkit/workspace:v0.4.0
```

::: warning
We strongly discourage you from setting this for the official VS Code Marketplace, since
it infringes on the [terms of use](https://aka.ms/vsmarketplace-ToU).
:::

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

| Name | License |
| --- | --- |
| **[Anthropic.claude-code][]** | Other |
| **[Catppuccin.catppuccin-vsc][]** | MIT |
| **[charliermarsh.ruff][]** | MIT |
| **[DavidAnson.vscode-markdownlint][]** | MIT |
| **[EditorConfig.EditorConfig][]** | MIT |
| **[exiasr.hadolint][]** | MIT |
| **[golang.Go][]** | MIT, Apache 2, BSD, Other |
| **[hashicorp.hcl][]** | MPL 2 |
| **[humao.rest-client][]** | MIT |
| **[ludwhe.vscode-uuid][]** | ISC |
| **[meta.pyrefly][]** | MIT |
| **[mikestead.dotenv][]** | MIT |
| **[ms-azuretools.vscode-containers][]** | MIT |
| **[ms-kubernetes-tools.vscode-kubernetes-tools][]** | Apache 2 |
| **[ms-python.python][]** | MIT |
| **[ms-python.vscode-python-envs][]** | MIT |
| **[ms-vscode.hexeditor][]** | MIT |
| **[PKief.material-icon-theme][]** | MIT |
| **[redhat.ansible][]** | MIT |
| **[redhat.vscode-xml][]** | EPL 2 |
| **[redhat.vscode-yaml][]** | MIT |
| **[samuelcolvin.jinjahtml][]** | MIT |
| **[streetsidesoftware.code-spell-checker][]** | GPL 3 |
| **[tamasfe.even-better-toml][]** | MIT |
| **[timonwong.shellcheck][]** | MIT |
| **[wayou.vscode-todo-highlight][]** | MIT |
| **[yzhang.markdown-all-in-one][]** | MIT |

[Anthropic.claude-code]: https://github.com/anthropics/claude-code

[Catppuccin.catppuccin-vsc]: https://github.com/catppuccin/vscode

[charliermarsh.ruff]: https://github.com/astral-sh/ruff-vscode

[DavidAnson.vscode-markdownlint]: https://github.com/DavidAnson/vscode-markdownlint

[EditorConfig.EditorConfig]: https://github.com/editorconfig/editorconfig-vscode

[exiasr.hadolint]: https://github.com/ExiaSR/vscode-hadolint

[golang.Go]: https://github.com/golang/vscode-go

[hashicorp.hcl]: https://github.com/hashicorp/vscode-hcl

[humao.rest-client]: https://github.com/Huachao/vscode-restclient

[ludwhe.vscode-uuid]: https://github.com/ludwhe/vscode-uuid

[meta.pyrefly]: https://github.com/facebook/pyrefly

[mikestead.dotenv]: https://github.com/mikestead/vscode-dotenv

[ms-azuretools.vscode-containers]: https://github.com/microsoft/vscode-containers

[ms-kubernetes-tools.vscode-kubernetes-tools]: https://github.com/vscode-kubernetes-tools/vscode-kubernetes-tools

[ms-python.python]: https://github.com/Microsoft/vscode-python

[ms-python.vscode-python-envs]: https://github.com/microsoft/vscode-python-environments

[ms-vscode.hexeditor]: https://github.com/microsoft/vscode-hexeditor

[PKief.material-icon-theme]: https://github.com/material-extensions/vscode-material-icon-theme

[redhat.ansible]: https://github.com/ansible/vscode-ansible

[redhat.vscode-xml]: https://github.com/redhat-developer/vscode-xml

[redhat.vscode-yaml]: https://github.com/redhat-developer/vscode-yaml

[samuelcolvin.jinjahtml]: https://github.com/samuelcolvin/jinjahtml-vscode

[streetsidesoftware.code-spell-checker]: https://github.com/streetsidesoftware/vscode-spell-checker

[tamasfe.even-better-toml]: https://github.com/tamasfe/taplo

[timonwong.shellcheck]: https://github.com/vscode-shellcheck/vscode-shellcheck

[wayou.vscode-todo-highlight]: https://github.com/wayou/vscode-todo-highlight

[yzhang.markdown-all-in-one]: https://github.com/yzhang-gh/vscode-markdown
