memory-bank/components/ide.md
The IDE component in Gitpod is responsible for packaging and managing the various Integrated Development Environments (IDEs) that are available to users within Gitpod workspaces. It includes support for VS Code (both web and desktop versions) and JetBrains IDEs, providing the necessary files, configurations, and integration points for these IDEs to work seamlessly within the Gitpod environment.
The primary purposes of the IDE component are:
The IDE component is organized into several sub-components, each responsible for a specific IDE or IDE family:
Each IDE sub-component typically includes:
code/BUILD.yaml: Build configuration for VS Codecode/leeway.Dockerfile: Dockerfile for building VS Code imagecode/codehelper/: Helper utilities for VS Codecode/gitpod-web-extension/: Gitpod-specific VS Code extensionjetbrains/image/: JetBrains IDE image buildingjetbrains/image/BUILD.js: Build script for JetBrains IDE imagesjetbrains/image/leeway.Dockerfile: Dockerfile for JetBrains IDE imagesjetbrains/image/supervisor-ide-config_*.json: IDE-specific configuration filesjetbrains/backend-plugin/: Backend plugin for JetBrains IDEsjetbrains/gateway-plugin/: Gateway plugin for JetBrains remote developmentjetbrains/launcher/: Launcher for JetBrains IDEsjetbrains/cli/: Command-line interface for JetBrains IDEsEach JetBrains IDE is available in two versions:
The IDE component integrates with:
Each IDE has specific configuration requirements:
supervisor: For IDE lifecycle managementide-service: For IDE resolutionblobserve: For serving static assetsregistry-facade: For image managementThe IDE component is typically used to: