Project Oxygen & Ideo-LabIDEO LAB Dashboard 2026

đŸ’» Visual Studio Code – Éditeur, DĂ©bogage & ÉcosystĂšme

Guide (hyper-densifié) IDEO-Lab de l'éditeur de code de Microsoft.

1.1

Vue d'ensemble

Éditeur de code lĂ©ger, modulaire (Microsoft).

Éditeur Microsoft Electron
1.2

vs. IDEs (JetBrains)

Léger & Modulaire vs. Intégré & Indexé.

IDE WebStorm PyCharm
1.3

Installation

Site officiel (reco), Snap, winget.

Install Windows Linux
2.1

Interface (Activity Bar)

Explorer, Search, SCM, Debug, Extensions.

UI Activity Bar Explorer
2.2

Command Palette (F1)

Ctrl+Shift+P / F1. L'outil central.

Ctrl+Shift+P F1 Palette
2.3

Settings (JSON)

settings.json (User vs. Workspace).

settings.json Config
3.1

IntelliSense

Complétion (code, chemins, npm).

IntelliSense Completion
3.2

Multi-curseur

Ctrl+D, Alt+Click. Édition multiple.

Multi-cursor Ctrl+D
3.3

Emmet & Snippets

HTML/CSS rapide. user-snippets.json.

Emmet Snippets
4.1

Terminal Intégré

Ctrl+`. PowerShell, bash, zsh.

Terminal Ctrl+`
4.2

Git (SCM)

UI Git (Source Control). Diff, Commit.

Git SCM Diff
4.3

Débogueur (F5)

Nécessite launch.json (config).

Debug F5 launch.json
5.1

Extensions (Marketplace)

La force de VS Code. Ctrl+Shift+X.

Extensions Marketplace
5.2

Extensions (Langages)

Python, ESLint, Prettier, Volar (Vue).

Python ESLint Prettier
5.3

Extensions (Outils)

Docker, GitLens, Live Server.

Docker GitLens Live Server
6.1

Web (JS/TS)

Support natif. React, Vue (Volar), Angular.

React Vue TypeScript
6.2

Python & Jupyter

Extension Python. Interpréteurs, Jupyter (.ipynb).

Python Jupyter
6.3

Remote Development

Extension Pack (SSH, WSL, Dev Containers).

Remote SSH WSL
7.1

Dev Containers

devcontainer.json. Développer dans Docker.

Dev Containers Docker
7.2

Workspaces

.code-workspace. Gérer multi-projets.

Workspace Multi-root
7.3

Cheat-sheet

Raccourcis clés (F1, Ctrl+P, Ctrl+`).

Shortcuts Raccourcis
1.1 Vue d'ensemble
L'Éditeur de Code Modulaire

Visual Studio Code (VS Code) est un éditeur de code source léger, gratuit et open-source développé par Microsoft. Il tourne sur Electron (applications de bureau avec JS/HTML/CSS).

Sa philosophie n'est pas d'ĂȘtre un "IDE tout-en-un" (comme JetBrains), mais un Ă©diteur de texte rapide avec des outils de base (Git, Debug), qui devient un IDE puissant grĂące Ă  son Ă©cosystĂšme d'extensions.

1.2 vs. IDEs (JetBrains: WebStorm, PyCharm)
CritĂšreVS CodeIDEs JetBrains (WebStorm/PyCharm)
PhilosophieModulaire (Éditeur + Extensions).IntĂ©grĂ© (Tout-en-un, "batteries included").
PerformanceTrÚs léger, démarrage rapide.Plus lourd (indexation initiale).
ConfigurationManuelle. (settings.json, launch.json, installation d'extensions)."Zéro-config". Détecte le projet (Maven, Django) et configure tout.
RefactoringBon (mais dépend des extensions).Excellent. "Safe Rename" et refactoring cross-langage fiables.
CoûtGratuit.Payant (Commercial).
1.3 Installation

L'installation est simple et multi-plateforme.

  • MĂ©thode principale : TĂ©lĂ©charger l'installeur depuis code.visualstudio.com.
  • Windows : Via winget install Microsoft.VisualStudioCode.
  • Linux (Ubuntu) : sudo snap install code --classic ou via .deb.
  • macOS : TĂ©lĂ©charger le .zip (Universal) et glisser l'app dans "Applications".
2.1 Interface (Activity Bar)

L'interface est simple et centrée sur la "Activity Bar" (barre d'outils à gauche).

RaccourciVueDescription
Ctrl+Shift+EExplorerArborescence des fichiers et dossiers ouverts.
Ctrl+Shift+FSearchRecherche globale dans le projet.
Ctrl+Shift+GSource Control (Git)Interface pour Git (Staging, Commit, Push).
Ctrl+Shift+DRun and DebugPanneau de débogage (launch.json, breakpoints).
Ctrl+Shift+XExtensionsLe Marketplace pour installer/gérer les extensions.
2.2 Command Palette (F1 / Ctrl+Shift+P)

C'est le cerveau de VS Code. Presque toutes les actions de l'IDE peuvent y ĂȘtre lancĂ©es.

Modes de la Palette
  • Ctrl+Shift+P (ou F1) : Command Palette
    • ExĂ©cute des commandes (ex: "Git: Commit", "Format Document", "Install 'code' command").
  • Ctrl+P : Go to File
    • Ouvre rapidement un fichier par son nom.
  • Ctrl+P puis > :
    • Revient Ă  la Command Palette.
  • Ctrl+P puis @ :
    • Go to Symbol (naviguer vers une fonction/classe dans le fichier).
2.3 Settings (JSON)

VS Code est configuré via des fichiers settings.json (bien qu'une UI existe).

Niveaux de Configuration
  • User (Utilisateur) :
    • Configuration globale, s'applique Ă  tous vos projets.
  • Workspace (Espace de travail) :
    • Fichier .vscode/settings.json dans votre projet.
    • Prioritaire sur les settings "User".
    • Permet de partager les settings du projet (ex: Linter) avec l'Ă©quipe (doit ĂȘtre commitĂ©).
Exemple .vscode/settings.json
{
  // Formater au sauvegardage
  "editor.formatOnSave": true,

  // Utiliser Prettier comme formateur par défaut
  "editor.defaultFormatter": "esbenp.prettier-vscode",

  // Activer ESLint pour ces langages
  "eslint.validate": [
    "javascript",
    "javascriptreact",
    "typescript"
  ]
}
3.1 IntelliSense

"IntelliSense" est le terme de Microsoft pour l'auto-complétion "intelligente".

  • ComplĂ©tion de code : BasĂ©e sur les types (TypeScript), l'analyse statique, et les imports.
  • Informations sur les paramĂštres : Affiche la signature des fonctions/mĂ©thodes.
  • ComplĂ©tion de chemins : ComplĂšte les chemins de fichiers (ex: import './components/...').
  • ComplĂ©tion de paquets : SuggĂšre les noms de paquets npm dans package.json ou les imports.
3.2 Multi-curseur

Permet de taper Ă  plusieurs endroits en mĂȘme temps. ExtrĂȘmement puissant pour le refactoring manuel.

RaccourciAction
Alt + ClickPlacer un curseur.
Ctrl + DSélectionne l'occurrence suivante du mot (ajoute un curseur).
Ctrl + Alt + (Haut/Bas)Placer un curseur Ă  la ligne au-dessus/en-dessous.
3.3 Emmet & Snippets
Emmet (Intégré)

Un outil de "raccourci" pour HTML et CSS.

// Taper ceci dans un fichier HTML :
ul>li.item*5{Item $}

// Appuyer sur "Tab" génÚre :
<ul>
  <li class="item">Item 1</li>
  <li class="item">Item 2</li>
  <li class="item">Item 3</li>
  <li class="item">Item 4</li>
  <li class="item">Item 5</li>
</ul>
User Snippets

Vous pouvez définir vos propres "snippets" (modÚles de code).

F1 > "Configure User Snippets" > (Choisir langage, ex: javascript.json).

{
  "Console Log": {
    "prefix": "clog",
    "body": [
      "console.log('$1', $1);"
    ],
    "description": "Log a variable to the console"
  }
}
// Taper "clog" + Tab insĂšrera console.log(...)
4.1 Terminal Intégré

Ouvre un terminal (PowerShell, bash, zsh...) directement dans l'IDE. Raccourci : Ctrl + ` (Control + Backtick).

  • S'ouvre dans le dossier du projet.
  • Permet de lancer npm install, git push, python script.py sans quitter l'Ă©diteur.
  • Supporte les terminaux multiples (onglets, split view).
4.2 Git (Source Control Management)

VS Code intĂšgre Git (SCM) nativement. Raccourci : Ctrl+Shift+G.

Panneau SCM

Interface graphique pour :

  • Changes : Voir les fichiers modifiĂ©s.
  • Staging : "Stager" (+) ou "Unstager" (-) des fichiers.
  • Commit : Écrire le message et commiter.
  • Pull/Push : Synchroniser avec le remote.
Diff (Comparaison)

Cliquer sur un fichier modifié ouvre une vue "Diff" ( cÎte à cÎte) montrant les changements.

Gutter : La marge de l'éditeur affiche les changements (Vert = ajout, Rouge = suppression, Bleu = modification).

L'extension GitLens sur-alimente cette vue (inline blame, historique...).

4.3 Le Débogueur (launch.json)

Le débogueur (Ctrl+Shift+D) est puissant mais nécessite une configuration via le fichier .vscode/launch.json.

F5 est le raccourci pour "Démarrer le débogage".

Exemple .vscode/launch.json (Node.js)
{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "node",
      "request": "launch",
      "name": "Launch Program",
      "skipFiles": [
        "<node_internals>/**"
      ],
      "program": "${file}" // Débogue le fichier actuellement ouvert
    },
    {
      "type": "chrome",
      "request": "launch",
      "name": "Launch Chrome",
      "url": "http://localhost:3000",
      "webRoot": "${workspaceFolder}" // (Pour React/Vue)
    }
  ]
}

Une fois lancé, vous pouvez poser des breakpoints (clic dans la marge), stepper (F10, F11) et inspecter les variables.

5.1 Extensions (Marketplace)

C'est le cƓur de VS Code. Raccourci : Ctrl+Shift+X.

Les extensions transforment l'éditeur de texte en IDE. Elles ajoutent :

  • Support de langages (Python, C++).
  • Support de frameworks (Volar pour Vue, Angular Language Service).
  • Linters & Formatters (ESLint, Prettier).
  • Outils (Docker, GitLens).
extensions.json

Vous pouvez recommander des extensions pour le projet dans .vscode/extensions.json. VS Code proposera de les installer aux nouveaux membres de l'équipe.

5.2 Extensions Clés (Langages)
ExtensionÉditeurDescription
PythonMicrosoftSupport complet (IntelliSense, Debug, Jupyter, vEnv...).
ESLintMicrosoftIntégration du linter ESLint (affiche les erreurs).
Prettier - Code FormatterPrettierFormatage du code (Ctrl+Alt+L ou "Format on Save").
VolarVueSupport complet pour Vue 3 (remplace Vetur).
Angular Language ServiceAngularSupport complet pour Angular (templates, TS).
5.3 Extensions Clés (Outils)
ExtensionÉditeurDescription
GitLensGitKrakenSur-alimente l'intégration Git (inline blame, historique détaillé...).
DockerMicrosoftGérer les conteneurs, images, Dockerfiles, docker-compose.
Live ServerRitwick DeyLance un serveur de dev local pour HTML/CSS statique (avec live-reload).
Remote DevelopmentMicrosoftPack (SSH, WSL, Dev Containers) pour le dev Ă  distance.
Thunder ClientRanga VadhineniUn client API (type Postman) intégré à l'IDE.
6.1 Développement Web (JS/TS)

C'est le domaine d'excellence de VS Code.

  • JS/TS Natif : Le support de TypeScript (et donc JavaScript) est intĂ©grĂ© (IntelliSense, refactoring basique).
  • React : Support JSX natif.
  • Frameworks : Le support complet (Angular, Vue, Svelte) est ajoutĂ© via des extensions (ex: Volar).
  • Outils : IntĂ©gration ESLint, Prettier, et dĂ©bogage Chrome (via launch.json).
6.2 Développement Python

Le développement Python est géré par l'extension Python (de Microsoft), qui transforme VS Code en un IDE Python (concurrent de PyCharm).

Fonctionnalités :

  • Gestion d'InterprĂ©teur : Permet de choisir (Ctrl+Shift+P > Select Interpreter) un vEnv, Conda, ou systĂšme.
  • IntelliSense : ComplĂ©tion, "Go to Definition".
  • Linting/Formatting : IntĂ©gration Pylint, Flake8, Black, MyPy.
  • Jupyter : Excellent support pour l'Ă©dition et l'exĂ©cution de notebooks .ipynb.
6.3 Remote Development (SSH/WSL)

C'est une fonctionnalité majeure. L'extension "Remote Development" (pack) permet de séparer l'interface (locale) du code (distant).

  • Remote - SSH : Ouvre un dossier sur un serveur distant (via SSH). L'Ă©diteur tourne localement, mais le terminal, le debug, et l'analyse de code tournent sur le serveur.
  • WSL : (Windows Subsystem for Linux) Permet d'ouvrir un projet dans un environnement Linux (WSL2) depuis Windows.
7.1 Dev Containers

Fait partie du pack "Remote Development". Permet de définir un environnement de développement complet (OS, outils, extensions) dans un conteneur Docker.

Fichier : .devcontainer/devcontainer.json

{
  "name": "Mon Projet Python",
  "image": "mcr.microsoft.com/devcontainers/python:3.11",

  // Extensions VS Code Ă  installer dans le conteneur
  "extensions": [
    "ms-python.python",
    "ms-python.black-formatter"
  ],
  // Commande à lancer aprÚs création
  "postCreateCommand": "pip install -r requirements.txt"
}
// VS Code propose "Reopen in Container".
// L'IDE s'exécute localement, mais tout (terminal, code)
// est dans le conteneur Docker.
7.2 Workspaces (Multi-root)

Par dĂ©faut, VS Code ouvre un dossier ("root"). Un "Workspace" (espace de travail) permet d'ouvrir plusieurs dossiers dans la mĂȘme fenĂȘtre (ex: un dossier "API" et un dossier "Frontend").

File > Save Workspace As... > crée un fichier mon-projet.code-workspace.

Ce fichier JSON liste les dossiers inclus et peut contenir des settings spécifiques au workspace.

7.3 Cheat-sheet (Top Raccourcis)
Top 10 (Indispensables)
1. Ctrl + Shift + P (ou F1)
   (Command Palette)

2. Ctrl + P
   (Go to File)

3. Ctrl + `
   (Toggle Terminal)

4. Ctrl + Shift + G
   (Source Control / Git)

5. Ctrl + Shift + X
   (Extensions)

6. F5
   (Start Debugging)

7. F12
   (Go to Definition)

8. Alt + F12
   (Peek Definition)

9. Ctrl + D
   (Add selection to next Find match)

10. Ctrl + . (Point)
    (Quick Fix / Intentions)
Édition & Navigation
Ctrl + F
(Find)

Ctrl + H
(Replace)

Ctrl + Shift + F
(Find in Files)

Ctrl + G
(Go to Line)

Alt + (Haut/Bas)
(Move Line Up/Down)

Alt + Shift + (Haut/Bas)
(Copy Line Up/Down)

Ctrl + /
(Toggle Line Comment)

Ctrl + Alt + L (ou Alt+Shift+F)
(Format Document)