Utilisation de Visual Studio Code pour le débogage et l’édition à distance

Ceux d’entre vous qui sont familiarisés avec l’environnement ISE se rappelleront peut-être que vous pouvez exécuter psedit file.ps1 à partir de la console intégrée pour ouvrir des fichiers, locaux ou distants, directement dans ISE.

Cette fonctionnalité est également disponible dans l’extension PowerShell pour VSCode. Ce guide vous explique comment procéder.

Conditions préalables requises

Ce guide suppose que vous disposez des éléments suivants :

  • une ressource distante (par exemple une machine virtuelle, un conteneur) à laquelle vous avez accès ;
  • PowerShell en cours d’exécution sur cette ressource et l’ordinateur hôte
  • VSCode et l’extension PowerShell pour VSCode

Cette fonctionnalité fonctionne sur PowerShell et Windows PowerShell.

Cette fonctionnalité fonctionne également lorsque vous vous connectez à un ordinateur distant via WinRM, PowerShell Direct ou SSH. Si vous souhaitez utiliser SSH, mais sur Windows, consultez la version Win32 de SSH.

Important

Les commandes Open-EditorFile et psedit fonctionnent uniquement dans la console intégrée PowerShell créée par l’extension PowerShell pour VSCode.

Exemples d'utilisation

Ces exemples montrent des modifications et un débogage à distance à partir d’un MacBook Pro sur une machine virtuelle Ubuntu s’exécutant dans Azure. Le processus est identique sur Windows.

Modification d’un fichier local avec Open-EditorFile

Après avoir lancé l’extension PowerShell pour VSCode et ouvert la console PowerShell intégrée, nous pouvons taper Open-EditorFile foo.ps1 ou psedit foo.ps1 pour ouvrir le fichier local foo.ps1 directement dans l’éditeur.

Open-EditorFile foo.ps1 fonctionne localement

Notes

Le fichier foo.ps1 doit déjà exister.

À partir de là, nous pouvons :

  • ajouter des points d’arrêt à la marge

    Ajout d’un point d’arrêt à la marge

  • Appuyez sur F5 pour déboguer le script PowerShell.

    débogage du script PowerShell local

Pendant le débogage, vous pouvez interagir avec la console de débogage, consultez les variables dans l’étendue à gauche, et exécutez tous les autres outils de débogage standard.

Modification de fichiers à distance avec Open-EditorFile

Examinons maintenant la modification et le débogage de fichiers à distance. Les étapes sont presque identiques et nous n’avons qu’une seule tâche préalable à effectuer : ouvrir notre session PowerShell sur le serveur distant.

Nous utiliserons pour cela une applet de commande. Elle s’appelle Enter-PSSession.

En résumé :

  • Enter-PSSession -ComputerName foo démarre une session via WinRM
  • Enter-PSSession -ContainerId foo et Enter-PSSession -VmId foo démarrent une session via PowerShell Direct
  • Enter-PSSession -HostName foo démarre une session via SSH

Pour plus d’informations, consultez la documentation Enter-PSSession.

Dans la mesure où nous nous connectons à distance à une machine virtuelle Ubuntu dans Azure, nous utilisons SSH.

Tout d’abord, dans la console intégrée, exécutez Enter-PSSession. Vous êtes connecté à la session à distance lorsque [<hostname>] s’affiche à gauche de votre invite.

Appeler Enter-PSSession pour se connecter à une session à distance

À présent, nous pouvons effectuer les mêmes étapes que si nous étions en train de modifier un script local.

  1. Exécutez Open-EditorFile test.ps1 ou psedit test.ps1 pour ouvrir le fichier test.ps1 distant

    Modifier le script sur le système distant

  2. Modifier le fichier/définir des points d’arrêt

    Modifier et définir des points d’arrêt

  3. Démarrer le débogage (F5) du fichier distant

    Débogage du script distant

Si vous rencontrez des problèmes, vous pouvez ouvrir des tickets dans le référentiel GitHub.