-
Objectifs
- Installer Visual Studio Code et connaître les zones de son interface
- Ouvrir un projet Angular et utiliser le terminal intégré pour lancer les commandes
ng
- Installer et configurer les extensions utiles au développement Angular
- Configurer le formatage automatique et l'enregistrement automatique
- Gagner du temps avec les raccourcis clavier et la palette de commandes
- Utiliser Git et GitHub directement depuis VS Code
- Déboguer une application Angular avec des points d'arrêt
-
Présentation
- Visual Studio Code (VS Code) est un éditeur de code gratuit et open source développé par Microsoft, disponible pour Windows, Linux et macOS.
- Il ne faut pas le confondre avec Visual Studio, l'environnement de développement complet (et beaucoup plus lourd) destiné surtout à .NET.
- VS Code est l'éditeur le plus utilisé pour développer avec Angular, car :
- il prend en charge nativement TypeScript, le langage d'Angular (autocomplétion, détection des erreurs, navigation dans le code) ;
- l'extension officielle Angular Language Service apporte les mêmes services dans les templates HTML ;
- il intègre un terminal pour lancer les commandes
ng sans quitter l'éditeur ;
- il intègre Git et un débogueur;
- il est léger et extensible grâce à des milliers d'extensions.
- Rappel : Angular est un framework JavaScript développé par Google pour construire des applications web monopages (SPA), écrit en TypeScript.
-
Installation de Visual Studio Code

- Exécutez le fichier téléchargé et gardez les paramètres par défaut. Sous Windows, vérifiez que ces options sont cochées dans l'écran « Tâches supplémentaires » :
- Ajouter à PATH: permet d'ouvrir un dossier avec la commande
code . depuis un terminal ;
- Ajouter l'action « Ouvrir avec Code » au menu contextuel des fichiers et des dossiers de l'Explorateur Windows.
- Pour avoir l'interface en français : Ctrl + Maj + P, tapez
Configure Display Language, choisissez Français et redémarrez VS Code. Dans cette leçon, les menus sont indiqués en français, avec leur nom anglais entre parenthèses.
-
Découvrir l'interface
- La fenêtre de VS Code est organisée en cinq zones, toujours au même endroit :

- La barre d'activité (à gauche) bascule entre l'Explorateur, la Recherche, le Contrôle de code source (Git), Exécuter et déboguer, et les Extensions.
- La barre latérale affiche le contenu de la vue choisie, par exemple l'arborescence du projet.
- La zone d'édition affiche les fichiers ouverts dans des onglets. On peut la diviser pour voir deux fichiers côte à côte (par exemple
app.ts et app.html).
- Le panneau (en bas) contient le terminal intégré, la liste des problèmes et la sortie des outils.
- La barre d'état indique la branche Git, le nombre d'erreurs et d'avertissements, la position du curseur et le langage du fichier.
- La palette de commandes (Ctrl + Maj + P) donne accès à toutes les actions de VS Code en tapant quelques lettres de leur nom.
Ouvrir un projet Angular
- Dans VS Code, on ouvre toujours un dossier, pas un fichier isolé : menu Fichier > Ouvrir le dossier (File > Open Folder), puis sélectionnez le dossier du projet.
- Depuis un terminal placé dans le dossier du projet, la commande suivante ouvre directement le projet :
cd C:\projets\ma-boutique
code .
- Important : ouvrez le dossier racine du projet, celui qui contient
angular.json et package.json. Si vous ouvrez le dossier parent (C:\projets) ou un sous-dossier (src), les commandes ng du terminal et l'extension Angular ne fonctionneront pas correctement.
- À la première ouverture, VS Code peut demander si vous faites confiance aux auteurs du dossier : répondez Oui pour vos propres projets, sinon les extensions et le terminal sont limités.
Le terminal intégré
- Ouvrez le terminal avec Ctrl + ` (la touche à gauche du 1 sur un clavier AZERTY, avec Alt Gr + 7 selon les claviers) ou par le menu Terminal > Nouveau terminal.
- Le terminal s'ouvre automatiquement dans le dossier du projet: les commandes
ng et npm s'y lancent directement.
- Bonne pratique : utilisez deux terminaux. Le premier exécute
ng serve en permanence ; le second sert aux autres commandes (ng generate, git…). Cliquez sur + dans le panneau du terminal pour en ajouter un, ou sur l'icône de division pour les afficher côte à côte.
# Terminal 1
ng serve -o
# Terminal 2
ng g c produits/liste
git status
- Sous Windows, le terminal par défaut est PowerShell. S'il affiche « l'exécution de scripts est désactivée sur ce système » en tapant
ng, consultez la leçon Erreur exécution de script sur Visual Studio Code, ou choisissez l'Invite de commandes comme terminal par défaut : Ctrl + Maj + P, puis Terminal: Select Default Profile et Command Prompt.
Installer les extensions nécessaires
- L'une des forces de VS Code est le nombre d'extensions disponibles pour faciliter le développement dans chaque langage.
- Pour les afficher, allez dans le menu Affichage (View) puis cliquez sur Extensions, ou utilisez le raccourci Ctrl + Maj + X.

- Tapez le nom d'une extension dans le champ de recherche, sélectionnez-la, puis cliquez sur le bouton Installer à droite, sous le titre de l'extension.
- Le pack Angular Essentials regroupe plusieurs extensions en une seule installation. Il est plus clair d'installer les extensions une par une, pour savoir à quoi sert chacune.

- Les extensions conseillées pour un projet Angular :

| Extension |
Identifiant |
Rôle |
| Angular Language Service |
Angular.ng-template |
Autocomplétion, détection des erreurs et « Aller à la définition » dans les templates HTML. Indispensable. |
| Prettier |
esbenp.prettier-vscode |
Formate le code (indentation, guillemets, retours à la ligne) de façon uniforme |
| ESLint |
dbaeumer.vscode-eslint |
Affiche les erreurs d'analyse du code, une fois ESLint ajouté au projet avec ng add angular-eslint |
| Error Lens |
usernamehw.errorlens |
Affiche les messages d'erreur directement au bout de la ligne concernée |
| Material Icon Theme |
PKief.material-icon-theme |
Une icône différente pour chaque type de fichier : composants, services, tests, configuration… |
| EditorConfig |
EditorConfig.EditorConfig |
Applique les règles d'indentation et d'encodage du fichier .editorconfig généré par Angular |
- On peut aussi installer une extension depuis le terminal avec son identifiant :
code --install-extension Angular.ng-template
code --install-extension esbenp.prettier-vscode
- Extensions recommandées par le projet :
ng new crée un dossier .vscode/ qui contient un fichier extensions.json. À l'ouverture du projet, VS Code propose d'installer les extensions qui y sont listées. Vous pouvez y ajouter les vôtres pour que toute la classe ait les mêmes outils :
{
"recommendations": [
"angular.ng-template",
"esbenp.prettier-vscode",
"dbaeumer.vscode-eslint",
"usernamehw.errorlens"
]
}
-
Angular Language Service en action
- Cette extension relie le template HTML à la classe TypeScript du composant. Dans le template, elle :
- propose les propriétés et méthodes du composant dès que vous tapez
{{ ou un nom de propriété ;
- souligne en rouge une propriété qui n'existe pas, avant même la compilation, et propose une correction ;
- permet d'aller à la définition d'une propriété ou d'un composant avec F12 (ou Ctrl + clic) ;
- affiche le type d'une expression au survol de la souris ;
- reconnaît les balises des composants (
<app-liste />), les directives et les pipes.

-
- Les réglages se modifient par le menu Fichier > Préférences > Paramètres (Ctrl + ,), ou directement dans un fichier JSON.
- Pour que les réglages s'appliquent au projet et soient partagés sur GitHub, créez le fichier
.vscode/settings.json à la racine du projet :
{
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.tabSize": 2,
"files.autoSave": "afterDelay",
"editor.linkedEditing": true,
"workbench.iconTheme": "material-icon-theme"
}
editor.formatOnSave: formate le fichier à chaque enregistrement.
editor.defaultFormatter: utilise Prettier pour formater.
editor.tabSize: indentation de 2 espaces, la convention des projets Angular.
files.autoSave: enregistre automatiquement après une courte pause ; ng serve recharge alors la page sans que vous appuyiez sur Ctrl + S.
editor.linkedEditing: modifie en même temps la balise ouvrante et la balise fermante en HTML.
workbench.iconTheme: active le thème d'icônes Material Icon Theme.
Écrire plus vite
- Emmet est intégré à VS Code et fonctionne dans les templates Angular : tapez une abréviation puis Tab.
<!-- Abréviation tapée -->
ul.liste>li.produit*3
<!-- Résultat après Tab -->
<ul class="liste">
<li class="produit"></li>
<li class="produit"></li>
<li class="produit"></li>
</ul>
- Les raccourcis clavier les plus utiles (Windows et Linux ; sous macOS, remplacez Ctrl par Cmd) :
| Raccourci |
Action |
| Ctrl + P |
Ouvrir rapidement un fichier en tapant son nom |
| Ctrl + Maj + P |
Palette de commandes |
| Ctrl + ` |
Afficher ou masquer le terminal |
| Ctrl + B |
Afficher ou masquer la barre latérale |
| Ctrl + \ |
Diviser l'éditeur pour voir deux fichiers côte à côte |
| Ctrl + Espace |
Afficher les suggestions d'autocomplétion |
| Ctrl + . |
Correction rapide (ajouter un import manquant, corriger une faute…) |
| F12 |
Aller à la définition |
| F2 |
Renommer un symbole partout dans le projet |
| Maj + Alt + F |
Formater le document |
| Ctrl + / |
Commenter ou décommenter la ligne |
| Alt + ↑ / ↓ |
Déplacer la ligne vers le haut ou le bas |
| Maj + Alt + ↓ |
Dupliquer la ligne |
| Ctrl + D |
Sélectionner l'occurrence suivante du mot (modification multiple) |
| Ctrl + Maj + F |
Rechercher dans tout le projet |
| F5 |
Lancer le débogage |
-
Git et GitHub dans VS Code
- Le panneau Contrôle de code source (Ctrl + Maj + G) affiche les fichiers modifiés depuis le dernier commit, avec une lettre : M (modifié), U (nouveau, non suivi), D (supprimé).
- Cliquez sur un fichier pour voir ses modifications ligne par ligne, avant/après.
- Pour faire un commit : saisissez un message dans le champ en haut du panneau, puis cliquez sur Valider (Commit).
- Pour envoyer sur GitHub : cliquez sur Synchroniser les modifications (Sync Changes). Si le projet n'a pas encore de dépôt distant, le bouton Publier sur GitHub (Publish to GitHub) crée le dépôt et y envoie le projet, après connexion à votre compte GitHub.
- Dans l'Explorateur, les fichiers modifiés apparaissent en couleur, et la barre d'état indique la branche courante.
- Conseil : le terminal reste indispensable pour comprendre ce que fait Git. Utilisez le panneau pour visualiser les modifications et les commandes
git pour apprendre.
-
Déboguer une application Angular
ng new génère aussi le fichier .vscode/launch.json, qui configure le débogueur de VS Code pour Angular. Il contient notamment cette configuration :
{
"name": "ng serve",
"type": "chrome",
"request": "launch",
"preLaunchTask": "npm: start",
"url": "http://localhost:4200/"
}
- Pour déboguer :
- arrêtez le
ng serve déjà lancé (la configuration le lance elle-même) ;
- dans un fichier
.ts, cliquez à gauche d'un numéro de ligne : un point rouge (point d'arrêt) apparaît ;
- appuyez sur F5 : VS Code lance
ng serve, puis ouvre une fenêtre de Chrome reliée au débogueur ;
- quand le code atteint le point d'arrêt, l'exécution s'arrête : survolez les variables pour voir leur valeur, et avancez pas à pas avec F10 (ligne suivante) ou F11 (entrer dans la fonction). F5 reprend l'exécution.
- C'est beaucoup plus efficace que d'ajouter des
console.log() partout.
Erreurs fréquentes
| Symptôme |
Cause |
Solution |
| « 'ng' n'est pas reconnu » dans le terminal de VS Code, alors que la commande marche ailleurs |
VS Code était ouvert pendant l'installation de Node.js ou d'Angular CLI |
Fermer complètement VS Code et le rouvrir |
| « l'exécution de scripts est désactivée sur ce système » |
Politique d'exécution de PowerShell |
Voir Erreur exécution de script, ou passer le terminal par défaut sur l'Invite de commandes |
| Pas d'autocomplétion ni d'erreur dans les templates HTML |
Angular Language Service absent, ou dossier ouvert qui n'est pas la racine du projet |
Installer l'extension et ouvrir le dossier qui contient angular.json |
| Le code n'est pas formaté à l'enregistrement |
Prettier n'est pas le formateur par défaut |
Ajouter "editor.defaultFormatter": "esbenp.prettier-vscode" dans les paramètres |
| VS Code signale des erreurs d'import partout après un clonage |
Le dossier node_modules n'existe pas |
npm install dans le terminal, puis attendre quelques secondes |
| Les modifications n'apparaissent pas dans le navigateur |
Fichier non enregistré (point blanc sur l'onglet) ou ng serve arrêté |
Enregistrer (Ctrl + S) ou activer files.autoSave; vérifier le terminal 1 |
-
Activité 1 : installer et configurer son poste
- Installez VS Code en cochant « Ajouter à PATH » et « Ouvrir avec Code ».
- Passez l'interface en français.
- Installez les extensions Angular Language Service, Prettier, Error Lens et Material Icon Theme, une fois depuis le panneau Extensions et une fois avec
code --install-extension.
- Vérifiez la liste des extensions installées avec la commande
code --list-extensions.
-
Activité 2 : ouvrir le projet et organiser ses terminaux
- Ouvrez le projet
ma-boutique créé dans la leçon Présentation de la CLI Angular avec la commande code .. Si vous ne l'avez pas, créez-le avec ng new ma-boutique --style=css --ssr=false et publiez-le sur GitHub.
- Ouvrez le dossier
.vscode/: quels fichiers contient-il ? Quelle extension est recommandée dans extensions.json?
- Ouvrez deux terminaux côte à côte : lancez
ng serve -o dans le premier et ng g c produits/liste dans le second.
- Affichez
liste.ts et liste.html côte à côte avec Ctrl + \.
-
Activité 3 : tester Angular Language Service
- Dans
app.ts, ajoutez les propriétés titre = 'Ma boutique' et slogan = 'Les meilleurs produits au meilleur prix'.
- Dans
app.html, tapez {{ s: quelles suggestions apparaissent ? Complétez pour afficher le slogan.
- Écrivez volontairement
{{ titr }}: quel message s'affiche au survol ? Corrigez-le avec Ctrl + ..
- Placez le curseur sur
titre dans le template et appuyez sur F12 : où arrivez-vous ?
- Renommez
titre en nomBoutique avec F2 : vérifiez que le template a été modifié lui aussi.
-
- Créez le fichier
.vscode/settings.json donné plus haut et ajoutez vos extensions dans .vscode/extensions.json.
- Désindentez volontairement tout le code de
app.ts, puis enregistrez : que se passe-t-il ?
- Dans
liste.html, générez avec Emmet une liste de 4 produits : ul.produits>li.produit*4.
- Utilisez Ctrl + D pour remplacer en une fois les 4 classes
produit par article.
- Retrouvez un fichier en moins de 3 secondes avec Ctrl + P, puis cachez la barre latérale avec Ctrl + B.
-
Activité 5 : commit et débogage depuis VS Code
- Ouvrez le panneau Contrôle de code source : quels fichiers sont marqués U et M? Consultez les modifications de
app.html.
- Faites un commit « Configuration de VS Code et premiers composants », puis synchronisez avec GitHub. Vérifiez sur GitHub que le dossier
.vscode/ est bien présent.
- Dans
app.ts, ajoutez une méthode direBonjour() qui modifie le slogan, et un bouton <button (click)="direBonjour()">Bonjour</button> dans le template.
- Placez un point d'arrêt dans
direBonjour(), lancez le débogage avec F5 et cliquez sur le bouton : observez la valeur du slogan avant et après la ligne avec F10.
-
À retenir
- VS Code est un éditeur gratuit et léger ; on y ouvre toujours le dossier racine du projet Angular.
- Le terminal intégré (Ctrl + `) sert à lancer les commandes
ng, npm et git; on garde un terminal pour ng serve et un autre pour le reste.
- L'extension Angular Language Service est indispensable : autocomplétion et erreurs dans les templates.
- Le dossier
.vscode/ (extensions.json, settings.json, launch.json) partage la configuration de l'éditeur avec toute l'équipe via GitHub.
- La palette de commandes (Ctrl + Maj + P) donne accès à toutes les fonctions de VS Code.
Un éditeur bien configuré détecte les erreurs pendant que vous tapez : prenez le temps de l'installer correctement une fois, vous le gagnerez à chaque séance.