Aller au contenu

VS Code

  1. VS Code
  2. Extension Dev Containers (ms-vscode-remote.remote-containers)
  3. Docker ou Podman en cours d’exécution sur votre machine (voir Premiers pas). VS Code Dev Containers prend également en charge Podman comme backend.
Fenêtre de terminal
git clone https://github.com/f5-sales-demo/devcontainer.git
code devcontainer

VS Code détecte .devcontainer/devcontainer.json et affiche une notification : « Reopen in Container ». Cliquez dessus, ou utilisez la palette de commandes :

Dev Containers: Reopen in Container

VS Code construit (ou télécharge) l’image, démarre le conteneur, installe les extensions et ouvre un terminal à l’intérieur du conteneur.

Le fichier .devcontainer/devcontainer.json indique à VS Code d’utiliser Docker Compose :

"dockerComposeFile": ["../docker-compose.yml", "../docker-compose.build.yml"],
"service": "dev",
"workspaceFolder": "/workspace"

La configuration du devcontainer inclut explicitement le fichier de build, afin que VS Code puisse construire l’image localement lorsque vous utilisez « Reopen in Container » ou « Rebuild Container ».

Les extensions sont installées automatiquement à l’intérieur du conteneur :

ExtensionDescription
PythonSupport du langage Python
ESLintLinting JavaScript/TypeScript
PrettierFormatage du code
DockerSupport des Dockerfile et de Compose
TerraformSupport du langage HCL
GoSupport du langage Go
Rust AnalyzerSupport du langage Rust
YAMLSupport du langage YAML
KubernetesSupport des manifestes Kubernetes

Pour ajouter des extensions, modifiez le tableau customizations.vscode.extensions dans .devcontainer/devcontainer.json.

VS Code redirige automatiquement les ports définis dans le fichier Compose. L’affichage noVNC est disponible à l’adresse http://localhost:6080/vnc.html — VS Code vous notifiera lorsque le port sera prêt.

Des ports supplémentaires peuvent être redirigés à la demande depuis le panneau Ports dans VS Code.

Si vous préférez la ligne de commande à l’interface VS Code :

Fenêtre de terminal
npm install -g @devcontainers/cli
devcontainer up --workspace-folder .
devcontainer exec --workspace-folder . zsh

Après avoir modifié le Dockerfile ou les fichiers Compose :

Dev Containers: Rebuild Container

Cela reconstruit l’image et redémarre le conteneur. Les volumes nommés (workspace, home) persistent entre les reconstructions.