đ» Visual Studio Code â Ăditeur, DĂ©bogage & ĂcosystĂšme
Guide (hyper-densifié) IDEO-Lab de l'éditeur de code de Microsoft.
Vue d'ensemble
Ăditeur de code lĂ©ger, modulaire (Microsoft).
Ăditeur Microsoft Electronvs. IDEs (JetBrains)
Léger & Modulaire vs. Intégré & Indexé.
IDE WebStorm PyCharmInstallation
Site officiel (reco), Snap, winget.
Install Windows LinuxInterface (Activity Bar)
Explorer, Search, SCM, Debug, Extensions.
UI Activity Bar ExplorerCommand Palette (F1)
Ctrl+Shift+P / F1. L'outil central.
Settings (JSON)
settings.json (User vs. Workspace).
IntelliSense
Complétion (code, chemins, npm).
IntelliSense CompletionMulti-curseur
Ctrl+D, Alt+Click. Ădition multiple.
Emmet & Snippets
HTML/CSS rapide. user-snippets.json.
Terminal Intégré
Ctrl+`. PowerShell, bash, zsh.
Git (SCM)
UI Git (Source Control). Diff, Commit.
Git SCM DiffDébogueur (F5)
Nécessite launch.json (config).
Extensions (Marketplace)
La force de VS Code. Ctrl+Shift+X.
Extensions (Langages)
Python, ESLint, Prettier, Volar (Vue).
Python ESLint PrettierExtensions (Outils)
Docker, GitLens, Live Server.
Docker GitLens Live ServerWeb (JS/TS)
Support natif. React, Vue (Volar), Angular.
React Vue TypeScriptPython & Jupyter
Extension Python. Interpréteurs, Jupyter (.ipynb).
Remote Development
Extension Pack (SSH, WSL, Dev Containers).
Remote SSH WSLDev Containers
devcontainer.json. Développer dans Docker.
Workspaces
.code-workspace. Gérer multi-projets.
Cheat-sheet
Raccourcis clés (F1, Ctrl+P, Ctrl+`).
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.
| CritĂšre | VS Code | IDEs JetBrains (WebStorm/PyCharm) |
|---|---|---|
| Philosophie | Modulaire (Ăditeur + Extensions). | IntĂ©grĂ© (Tout-en-un, "batteries included"). |
| Performance | TrÚs léger, démarrage rapide. | Plus lourd (indexation initiale). |
| Configuration | Manuelle. (settings.json, launch.json, installation d'extensions). | "Zéro-config". Détecte le projet (Maven, Django) et configure tout. |
| Refactoring | Bon (mais dépend des extensions). | Excellent. "Safe Rename" et refactoring cross-langage fiables. |
| Coût | Gratuit. | Payant (Commercial). |
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 --classicou via.deb. - macOS : Télécharger le
.zip(Universal) et glisser l'app dans "Applications".
L'interface est simple et centrée sur la "Activity Bar" (barre d'outils à gauche).
| Raccourci | Vue | Description |
|---|---|---|
Ctrl+Shift+E | Explorer | Arborescence des fichiers et dossiers ouverts. |
Ctrl+Shift+F | Search | Recherche globale dans le projet. |
Ctrl+Shift+G | Source Control (Git) | Interface pour Git (Staging, Commit, Push). |
Ctrl+Shift+D | Run and Debug | Panneau de débogage (launch.json, breakpoints). |
Ctrl+Shift+X | Extensions | Le Marketplace pour installer/gérer les extensions. |
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(ouF1) : 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+Ppuis>:- Revient Ă la Command Palette.
Ctrl+Ppuis@:- Go to Symbol (naviguer vers une fonction/classe dans le fichier).
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.jsondans votre projet. - Prioritaire sur les settings "User".
- Permet de partager les settings du projet (ex: Linter) avec l'Ă©quipe (doit ĂȘtre commitĂ©).
- Fichier
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"
]
}"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
npmdanspackage.jsonou les imports.
Permet de taper Ă plusieurs endroits en mĂȘme temps. ExtrĂȘmement puissant pour le refactoring manuel.
| Raccourci | Action |
|---|---|
Alt + Click | Placer un curseur. |
Ctrl + D | Sélectionne l'occurrence suivante du mot (ajoute un curseur). |
Ctrl + Alt + (Haut/Bas) | Placer un curseur Ă la ligne au-dessus/en-dessous. |
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(...)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.pysans quitter l'éditeur. - Supporte les terminaux multiples (onglets, split view).
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...).
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.
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.
| Extension | Ăditeur | Description |
|---|---|---|
| Python | Microsoft | Support complet (IntelliSense, Debug, Jupyter, vEnv...). |
| ESLint | Microsoft | Intégration du linter ESLint (affiche les erreurs). |
| Prettier - Code Formatter | Prettier | Formatage du code (Ctrl+Alt+L ou "Format on Save"). |
| Volar | Vue | Support complet pour Vue 3 (remplace Vetur). |
| Angular Language Service | Angular | Support complet pour Angular (templates, TS). |
| Extension | Ăditeur | Description |
|---|---|---|
| GitLens | GitKraken | Sur-alimente l'intégration Git (inline blame, historique détaillé...). |
| Docker | Microsoft | Gérer les conteneurs, images, Dockerfiles, docker-compose. |
| Live Server | Ritwick Dey | Lance un serveur de dev local pour HTML/CSS statique (avec live-reload). |
| Remote Development | Microsoft | Pack (SSH, WSL, Dev Containers) pour le dev Ă distance. |
| Thunder Client | Ranga Vadhineni | Un client API (type Postman) intégré à l'IDE. |
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).
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.
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.
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.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.
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)
