zed-extensions/dockerfile

Rust

92

35 commits

updated Aug 28, 2026

See the code

README

Dockerfile Zed Extension

Docker Compose

Compose files are given their own Docker Compose language, matched on compose.yaml, compose.yml, docker-compose.yaml and docker-compose.yml. Plain YAML files are unaffected.

Each entry under services: gets runnables, so a single service can be brought up, run and taken down from the gutter:

TaskEffect
upstarts the service and its dependencies, attached so logs appear in the terminal
runstarts a one-off container for the service
downstops and removes the service's containers

Each is offered for docker compose, docker-compose, podman compose and podman-compose.

Configuration

By default, this extension associates Dockerfile, dockerfile, and Containerfile with Dockerfile syntax.

To match additional custom patterns (such as Dockerfile.dev or Dockerfile.prod), add the file_types setting to your user or project settings.json:

{
  "file_types": {
    "Dockerfile": ["Dockerfile.*", "Containerfile.*"],
  }
}

Debugging

The extension supports debugging Dockerfile builds with Buildx. The minimal required version of Buildx is v0.28.0. To get Buildx, we recommend installing or updating Docker Desktop. You may alternatively install Buildx manually by following the instructions here.

You can validate your Buildx installation by running BUILDX_EXPERIMENTAL=1 docker buildx dap.

You can create a debug configuration by modifying your project's .zed/debug.json.

{
  "label": "Docker: Build", // required, configurable
  "adapter": "buildx-dockerfile", // required, must not be modified
  "request": "launch", // required, must not be modified
  "contextPath": "/home/username/worktree", // optional, defaults to ${ZED_WORKTREE_ROOT}
  "dockerfile": "/home/username/worktree/Dockerfile", // optional, defaults to ${ZED_WORKTREE_ROOT}/Dockerfile
  "target": "test", // optional, should be a build stage in the Dockerfile
  "stopOnEntry": true, // if the debugger should suspend on the first line, defaults to false
  "args": [
    // additional arguments for the build command
    "--build-arg",
    "NODE_ENV=development"
  ]
}

While a build has been suspended, you can evaluate exec to open a shell into the Docker image that has been built up to that point in time.

zed-extensions/dockerfile

Rust

92

35 commits

updated Aug 28, 2026

See the code

README

Dockerfile Zed Extension

Docker Compose

Compose files are given their own Docker Compose language, matched on compose.yaml, compose.yml, docker-compose.yaml and docker-compose.yml. Plain YAML files are unaffected.

Each entry under services: gets runnables, so a single service can be brought up, run and taken down from the gutter:

TaskEffect
upstarts the service and its dependencies, attached so logs appear in the terminal
runstarts a one-off container for the service
downstops and removes the service's containers

Each is offered for docker compose, docker-compose, podman compose and podman-compose.

Configuration

By default, this extension associates Dockerfile, dockerfile, and Containerfile with Dockerfile syntax.

To match additional custom patterns (such as Dockerfile.dev or Dockerfile.prod), add the file_types setting to your user or project settings.json:

{
  "file_types": {
    "Dockerfile": ["Dockerfile.*", "Containerfile.*"],
  }
}

Debugging

The extension supports debugging Dockerfile builds with Buildx. The minimal required version of Buildx is v0.28.0. To get Buildx, we recommend installing or updating Docker Desktop. You may alternatively install Buildx manually by following the instructions here.

You can validate your Buildx installation by running BUILDX_EXPERIMENTAL=1 docker buildx dap.

You can create a debug configuration by modifying your project's .zed/debug.json.

{
  "label": "Docker: Build", // required, configurable
  "adapter": "buildx-dockerfile", // required, must not be modified
  "request": "launch", // required, must not be modified
  "contextPath": "/home/username/worktree", // optional, defaults to ${ZED_WORKTREE_ROOT}
  "dockerfile": "/home/username/worktree/Dockerfile", // optional, defaults to ${ZED_WORKTREE_ROOT}/Dockerfile
  "target": "test", // optional, should be a build stage in the Dockerfile
  "stopOnEntry": true, // if the debugger should suspend on the first line, defaults to false
  "args": [
    // additional arguments for the build command
    "--build-arg",
    "NODE_ENV=development"
  ]
}

While a build has been suspended, you can evaluate exec to open a shell into the Docker image that has been built up to that point in time.

Significant stargazers

Felipe Santos

194 followers · starred Oct 2026

fwcd

496 followers · starred Aug 2026

Lawrence Chou

58 followers · starred Mar 2024

Micah Parks

36 followers · starred Jan 2026