Aller au contenu

Fondamentaux

Comprendre ce qu'est un IDE, pourquoi il est au cœur du workflow de développement, et comment VS Code a impose un nouveau modèle.


Éditeur de texte, éditeur de code, IDE

Trois catégories d'outils existent pour écrire du code :

Catégorie Définition Exemples
Éditeur de texte Manipulation de texte brut, pas de notion de langage Notepad, nano, vi
Éditeur de code Coloration syntaxique, indentation, extensions possibles VS Code, Sublime Text, Atom
IDE complet Éditeur + compilateur + debugger + refactoring intégrés IntelliJ, Visual Studio, Eclipse

La frontiere entre éditeur de code et IDE s'est estompee. VS Code est techniquement un éditeur de code, mais avec les bonnes extensions, il rivalise avec un IDE complet.

Pourquoi l'IDE est central

L'IDE est le point de convergence de presque toutes les activités de développement :

graph TD
    IDE["IDE / Editeur"]
    IDE --> A["Ecrire du code"]
    IDE --> B["Naviguer dans le projet"]
    IDE --> C["Debugger"]
    IDE --> D["Terminal integre"]
    IDE --> E["Git integre"]
    IDE --> F["Tests"]
    IDE --> G["IA assistee"]

Un IDE bien configure reduit les changements de contexte : le développeur reste dans un seul outil au lieu de jongler entre terminal, navigateur et éditeur.

La philosophie extensible de VS Code

VS Code repose sur un noyau minimal et un système d'extensions :

Composant Rôle
Electron Moteur de rendu (Chromium + Node.js)
Monaco Editor Éditeur de texte performant (même moteur que GitHub.dev)
Extension Host Processus separe pour les extensions (isolation)
Language Server Protocol (LSP) Protocole standard pour l'intelligence de langage
Debug Adapter Protocol (DAP) Protocole standard pour le debugging

LSP : un standard ouvert

Le Language Server Protocol a ete cree par Microsoft pour VS Code, puis ouvert a la communauté. Un serveur LSP écrit pour VS Code fonctionne aussi dans Neovim, Emacs ou Zed. C'est un investissement mutualisable.

Workspace vs User Settings

VS Code distingue deux niveaux de configuration :

Niveau Fichier Portee Partage
User Settings ~/.config/Code/User/settings.json Tout l'éditeur Personnel
Workspace Settings .vscode/settings.json Le projet courant Commite dans Git

Les Workspace Settings ecrasent les User Settings. C'est le mécanisme qui permet à une équipe de partager des conventions sans imposer de configuration personnelle.

// .vscode/settings.json — partage avec l'equipe
{
  "editor.formatOnSave": true,
  "editor.defaultFormatter": "esbenp.prettier-vscode",
  "editor.tabSize": 2,
  "files.trimTrailingWhitespace": true
}

Concepts cles

Concept Définition
Extension Plugin qui ajoute une fonctionnalité (langage, theme, outil)
Palette de commandes Interface de recherche unifiee (Ctrl+Shift+P)
Multi-root workspace Un seul éditeur, plusieurs dossiers racine
Settings Sync Synchronisation de la config entre machines (via GitHub/Microsoft)
Profile Jeu de settings + extensions nomme et commutable
Task Commande externe (build, lint, test) exécutée depuis l'IDE