Avez-vous une question? (216) 97 656 803 hajjriadh@gmail.com
Angular

Utiliser Angular avec Visual Studio Code

Un cours complet pour maîtriser Utiliser Angular avec Visual Studio Code.

0 chapitres 0 QCM Accès gratuit
Dans cet article
  1. 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
  2. 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.
  3. Installation de Visual Studio Code

Télécharger 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.
  1. Découvrir l'interface

    • La fenêtre de VS Code est organisée en cinq zones, toujours au même endroit :

Les zones de l'interface de Visual Studio Code

  • 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.

    Ouvrir le panneau des extensions de Visual Studio Code

    • 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.

    Rechercher une extension Angular dans Visual Studio Code

    • Les extensions conseillées pour un projet Angular :

    Les extensions conseillées pour Angular dans Visual Studio Code

    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"
      ]
    }
    1. 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.

    Autocomplétion et détection d'erreurs avec Angular Language Service

    1. Configurer VS Code pour Angular

      • 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
    1. 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.
    2. 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
    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.
    2. 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 + \.
    3. 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.
    4. Activité 4 : configurer le projet et écrire plus vite

      • 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.
    5. 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.
    6. À 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.