Workspace tasks#
Conda Code implements a native VS Code task provider for tasks declared in workspace manifests.
Discovery scope#
Tasks are discovered only from the workspace manifest selected by Workspace discovery for a Python project registered with Python Environments. A matching file elsewhere in the VS Code window is not a task source. Task-only manifests are not included.
The Pixi Code coexistence rule applies before task discovery. When Pixi Code is
installed, Conda Code skips every pixi.toml and every pyproject.toml workspace
with a [tool.pixi] table, including its tasks.
For each selected manifest, Conda Code runs:
conda task --file /path/to/manifest list --json
Conda Code publishes workspace tasks returned by conda-workspaces. It omits
user-level tasks marked with source: "user" so they are not repeated for
every workspace. Conda Code does not parse the manifest’s task tables.
VS Code task definition#
The task type is conda-workspace. Its definition has two required string
properties:
Property |
Meaning |
|---|---|
|
Declared workspace task name |
|
Workspace-folder-relative manifest path |
Discovered tasks use conda-workspaces as their VS Code source.
Execution#
When a Conda Code workspace environment is selected for the same manifest, Conda Code delegates execution to:
conda task --file /path/to/manifest run --environment=ENVIRONMENT -- TASK
Otherwise it leaves environment selection to conda-workspaces:
conda task --file /path/to/manifest run -- TASK
Conda Code resolves the definition’s file value against its VS Code workspace
folder and passes the absolute path to conda. The -- separator keeps task
names from being interpreted as command options.
VS Code supplies the task UI and terminal. conda-workspaces handles dependency ordering, task and dependency environment overrides, platform overrides, variables, caching, and the task command itself. Without a matching VS Code selection, conda-workspaces uses the task’s declared environment or the workspace default.
Conda Code does not edit task definitions and does not add task arguments.
User interface#
Open a confirmed workspace manifest and select the Run Workspace Task action in the editor title. The command lists tasks only from that manifest and executes the selected native VS Code task. The same action is available as Conda Code: Run Workspace Task in the Command Palette.
The generic Tasks: Run Task command lists discovered tasks from every registered workspace.
Refresh#
Saving conda.toml, pixi.toml, or pyproject.toml invalidates task
discovery. Running Conda Code: Refresh Environments also invalidates it.