Open
Description
Problem
The current Docker Compose Language Server Protocol (LSP) implementation inside the Docker VS Code extension is incomplete and limits the developer experience:
- Autocompletion is inconsistent or missing for many Compose attributes.
- Validation of Compose files is minimal, catching only basic syntax errors.
- Hover information is sparse, often only showing type hints without helpful documentation.
- No schema-based suggestions for service options, volumes, networks, and other Compose constructs.
As a result, developers writing or editing docker-compose.yml files experience friction, higher error rates, and slower authoring compared to working with fully-supported languages or tooling.
Proposed Solution
Expand the Compose LSP support to deliver a first-class authoring experience in VS Code:
- Rich autocompletion for all supported Compose keys, services, networks, volumes, and extensions.
- Schema-driven validation with clear error messages and suggestions for corrections.
- Hover documentation for keys and options explaining their purpose and usage (beyond just types).
- Go to definition (where appropriate) for named references (like services and networks) and YAML anchors (&) and aliases (*).
- Inline diagnostics and fix suggestions for common mistakes (e.g., typos, unsupported keys).