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 project 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’s conda dependencies.

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.

Conda-lockfiles also supports pixi.lock. Conda Code does not offer that file as a standalone environment input. Pixi projects 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-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

Pixi Code#

Pixi Code is the Python Environments provider for Pixi projects. It is closer to Conda Code than a Python-only environment manager because Pixi also manages conda packages and project 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 projects. 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 project 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.