Ecosystem fit#

Conda Code connects Visual Studio Code to conda itself and to a small set of related tools that affect environment discovery, package records, or task execution.

conda-workspaces#

conda-workspaces defines workspace manifests, declared environments, features, tasks, and workspace commands. Conda Code provides VS Code integration for installed workspace environments and declared tasks.

It uses conda workspace for environment discovery and changes, and conda task for tasks. Regular conda support does not require a workspace manifest.

Conda Code publishes tasks from the workspace manifest selected for a registered Python project. It uses conda task list for discovery and conda task run for execution. conda-workspaces remains responsible for the task graph, platform behavior, variables, and caching. Conda Code passes the selected Conda Code workspace environment when it belongs to the same manifest. It does not parse or edit task definitions.

conda-pypi#

conda-pypi gives installed PyPI packages conda records. Conda Code lists those records like other conda packages while omitting raw pip-only distributions.

For workspace [pypi-dependencies], conda-workspaces and conda-pypi solve and record those dependencies. Package changes started in Conda Code apply to the workspace manifest. New dependencies are added as conda dependencies. An existing direct PyPI dependency can be removed when its installed name still matches the declaration name, but it cannot be updated.

conda-lockfiles#

conda-lockfiles registers additional exact environment formats with conda. When it is installed, Conda Code can pass project-root conda-lock.yml and conda-lock.yaml files to conda create.

The conda-lockfiles plugin also supports pixi.lock. Conda Code does not offer that file as a standalone environment input. Pixi workspaces stay with Pixi Code when it is installed, or with conda-workspaces otherwise.

Conda Code does not parse or synchronize those files. It delegates the format to conda and manages the result as a regular named environment.

conda-sboms#

conda-sboms adds CycloneDX JSON to conda export. Conda Code supplies the selected environment prefix and destination, then delegates generation and serialization to conda-sboms 0.3.0 or newer. Regular environments use their owning conda installation and workspace environments use the configured primary installation.

conda-express#

conda-express supplies cx and cxz delegates that bootstrap and run conda. Conda Code accepts them from the conda-code.condaExecutable setting, CONDA_EXE, or python.condaPath. It does not search PATH for or install them, and their normal bootstrap behavior remains in effect.

conda-global#

conda-global creates isolated tool environments and exposes their commands through PATH trampolines. Those prefixes are implementation details of globally installed tools, not project environment choices.

Conda Code skips the active tool root:

  1. $CONDA_GLOBAL_HOME/envs when configured

  2. ~/.conda/global/envs for the current layout

  3. ~/.cg/envs for an existing legacy installation

conda-exec#

conda-exec creates hash-keyed environments for running tools and scripts without changing a project environment. Those prefixes are disposable execution caches, not environment choices.

Conda Code excludes the active conda-exec cache from regular discovery, explicit resolution, and workspace routing. It does not select, activate, modify, or delete those prefixes. Changing a cached prefix would make its contents disagree with the specifications, channels, or lock content encoded by its cache key. conda-exec also owns cache refresh and automatic cleanup. The active cache is $CONDA_EXEC_HOME/envs when configured and conda-exec’s platform default otherwise.

Run tools and scripts through conda exec. Inspect and remove cached prefixes with conda exec --list and conda exec --clean.

Pixi Code#

Pixi Code is the Python Environments provider for Pixi workspaces. It is closer to Conda Code than a Python-only environment manager because Pixi also manages conda packages and workspace environments.

The extensions can be installed together. When Pixi Code is present, Conda Code leaves pixi.toml, [tool.pixi], and .pixi/envs to Pixi Code while continuing to handle regular conda environments and conda.toml workspaces. That rule also applies to task discovery. When Pixi Code is installed, Conda Code does not publish tasks from pixi.toml or a pyproject.toml workspace with a [tool.pixi] table.

Python Environments#

Python Environments supplies the common VS Code view and extension API. Conda Code supplies conda-specific behavior through that API. The built-in conda manager remains separate because the current API supports registration, not replacement.