Aller au contenu

Integration équipe

Partager une configuration d'équipe coherente pour que chaque développeur travaille avec les mêmes reglages, extensions et conventions.


Le dossier .vscode

Le mécanisme principal de partage de configuration est le dossier .vscode/ commite dans le dépôt Git :

mon-projet/
├── .vscode/
│   ├── settings.json          # Reglages du workspace
│   ├── extensions.json        # Extensions recommandees
│   ├── launch.json            # Configurations de debug
│   ├── tasks.json             # Taches automatisees
│   └── project.code-snippets  # Snippets partages
├── src/
└── ...

Ne pas commiter

Certains fichiers .vscode/ sont personnels et ne doivent pas etre commites :

  • *.code-workspace (contient des chemins absolus)
  • Tout fichier contenant des secrets ou tokens

Ajoutez-les dans .gitignore si nécessaire.

Settings partages

// .vscode/settings.json
{
  // Formatage uniforme
  "editor.formatOnSave": true,
  "editor.defaultFormatter": "esbenp.prettier-vscode",
  "editor.tabSize": 2,
  "editor.insertSpaces": true,

  // Python specifique
  "[python]": {
    "editor.defaultFormatter": "ms-python.black-formatter",
    "editor.tabSize": 4
  },

  // Go specifique
  "[go]": {
    "editor.defaultFormatter": "golang.go",
    "editor.codeActionsOnSave": {
      "source.organizeImports": "explicit"
    }
  },

  // Exclure les fichiers generes
  "files.exclude": {
    "**/__pycache__": true,
    "**/node_modules": true,
    "**/.terraform": true
  }
}

Extensions recommandees

Le fichier extensions.json affiche une notification a l'ouverture du projet pour installer les extensions manquantes :

// .vscode/extensions.json
{
  "recommendations": [
    "esbenp.prettier-vscode",
    "dbaeumer.vscode-eslint",
    "ms-python.python",
    "eamodio.gitlens",
    "usernamehw.errorlens",
    "bierner.markdown-mermaid"
  ],
  "unwantedRecommendations": [
    "ms-vscode.vscode-typescript-tslint-plugin"
  ]
}

Installer toutes les extensions recommandees d'un coup :

cat .vscode/extensions.json | jq -r '.recommendations[]' | xargs -I {} code --install-extension {}

Profiles

Les Profiles VS Code permettent de basculer entre des jeux de settings + extensions selon le contexte :

Profile Usage Extensions spécifiques
Default Développement général ESLint, Prettier, GitLens
Python Data Data science Jupyter, Python, Pylance
Ops Infrastructure Terraform, Ansible, YAML
Writing Documentation Markdown, Spell Checker, Mermaid

Créer un profil : Ctrl+Shift+P → "Profiles: Create Profile"

Exporter un profil : Ctrl+Shift+P → "Profiles: Export Profile" → génère un fichier .code-profile partageable.

Settings Sync

Synchroniser la configuration personnelle entre machines :

  1. Ctrl+Shift+P → "Settings Sync: Turn On"
  2. Choisir GitHub ou Microsoft comme backend
  3. Selectionner ce qui est synchronise (settings, extensions, keybindings, snippets)

Sync ≠ partage équipe

Settings Sync est personnel (entre VOS machines). Pour le partage équipe, utilisez .vscode/settings.json commite dans Git. Les deux mécanismes sont complementaires.

Onboarding d'un nouveau développeur

Checklist d'installation pour un nouveau membre :

  1. Installer VS Code et la police JetBrains Mono (voir Installation)
  2. Cloner le dépôt du projet
  3. Accepter les extensions recommandees (notification automatique)
  4. Vérifier que le formatage fonctionne (modifier un fichier, sauvegarder, vérifier le format)
  5. Lancer une tâche de test : Ctrl+Shift+P → "Tasks: Run Task" → "test"