20/09/2024

Les éditeurs de code pour PowerShell

I. Présentation

Pour rédiger des scripts PowerShell dans de bonnes conditions, nous avons besoin d'une application adaptée que l'on pourrait appeler un "Environnement de script intégré" ou un éditeur de code. Un script PowerShell étant un fichier texte avec l'extension ".ps1", vous pouvez le lire et l'éditer avec n'importe quelle application assurant la fonction d'éditeur de texte, y compris le Bloc-notes comme vous avez pu le constater précédemment.

Toutefois, ce n'est pas adapté, pour plusieurs raisons, notamment celles-ci :

  • Cette application est incapable d'exécuter le script
  • La coloration syntaxique est absente
  • L'autocomplétion des commandes est absente

Autrement dit, bien que ce soit possible d'écrire un script PowerShell avec le Bloc-notes ou un équivalent, ce n'est pas "confortable". Pour exécuter des commandes, écrire, tester et déboguer des scripts, vous devez utiliser une application telle que Windows PowerShell ISE et Visual Studio Code. Il s'agit de deux applications gratuites développées par Microsoft.

Dans ce chapitre, vous allez découvrir ces deux applications, ce qui vous permettra par la suite de rédiger des scripts dans de bonnes conditions.

II. Prise en main de Windows PowerShell ISE

Commençons par Windows PowerShell ISE (Integrated Scripting Environment), lancé par Microsoft au même moment que PowerShell 2.0. Depuis Windows 7, il s'agit d'une application intégrée à Windows, aux côtés de Windows PowerShell. Vous pouvez l'utiliser sur Windows et Windows Server, et elle est identique. L'application n'est pas disponible pour les autres systèmes d'exploitation.

Même si aujourd'hui Windows PowerShell ISE est dépassé par Visual Studio Code que nous allons étudier par la suite, elle reste très intéressante car elle est simple à prendre en main, et comme je l'évoquais précédemment : elle est native à Windows. Ainsi, si vous avez besoin d'écrire, modifier, ou déboguer un script rapidement sur un serveur, vous pouvez l'utiliser sans installer d'applications supplémentaires.

Avant de commencer à explorer Windows PowerShell ISE, sachez que cet éditeur de code supporte toutes les versions de PowerShell jusqu'à la version 5.1. Ce qui signifie qu'il ne prend pas en charge officiellement PowerShell 6, ni PowerShell 7. Ceci sera vrai également pour les futures versions de PowerShell.

A. Premier démarrage de Windows PowerShell ISE

Pour démarrer Windows PowerShell ISE, c'est tout simple : recherchez "ISE" sur votre système à l'aide du menu Démarrer. Sachez qu'il est disponible en version 32 bits et 64 bits, et qu'il est installé à cet endroit :

%windir%\system32\WindowsPowerShell\v1.0\PowerShell_ISE.exe

Voilà, l'interface d'ISE se présente à vous :

Aperçu de Windows PowerShell ISE

B. Découverte de l'interface de PowerShell ISE

Cette application offre la possibilité d'éditer plusieurs scripts simultanément, grâce à un système de navigation par onglets, sur le même principe que celui utilisé par les navigateurs web. Ensuite, l'interface de l'application est découpée en trois zones principales :

  • La partie supérieure avec le menu et un ensemble de boutons
  • La partie centrale qui correspond au contenu du script
  • La partie inférieure qui correspond à une console Windows PowerShell interactive. Elle offre la possibilité d'exécuter des commandes, mais elle sert aussi à afficher le résultat à la suite de l'exécution d'un script.
Présentation interface de PowerShell ISE - Partie 1

Pour bien prendre en main Windows PowerShell ISE, vous devez connaître au moins l'utilité de ces différents boutons :

Présentation interface de PowerShell ISE - Partie 2

C. Exécuter des lignes de code

Au sein de l'éditeur Windows PowerShell ISE, ajoutez ces deux lignes dans la zone dédiée à la rédaction du script :

# Ceci est un commentaire
Write-Host "Hello World"

Vous obtenez un résultat semblable à celui ci-dessous. Nous pouvons constater que chaque ligne est numérotée et qu'il y a la coloration syntaxique. Visuellement, c'est appréciable.

Désormais, vous allez exécuter ce bout de code constitué de deux lignes. La ligne numéro 1 est un commentaire et la ligne numéro 2 sert à afficher du texte dans la console.

1 - Cliquez sur le bouton "Play" pour exécuter le script, ou appuyez sur la touche F5 de votre clavier.

2 - Le code exécuté s'affiche dans la console PowerShell.

3 - Le résultat de l'exécution s'affiche dans la console PowerShell également.

Félicitations ! Vous venez d'exécuter vos premières lignes de code PowerShell avec Windows PowerShell ISE.

À présent, nous allons nous intéresser à la prise en main de l'application Visual Studio Code.

Remarque : sachez que Microsoft continue de prendre en charge Windows PowerShell ISE mais cette application n'entre plus dans les plans de Microsoft. Pour autant, elle ne sera pas supprimée du système d'exploitation (ce n'est pas dans les plans actuels), ce qui est rassurant.

III. Prise en main de Visual Studio Code

Pour la suite de ce chapitre, vous allez mettre de côté Windows PowerShell ISE au profit de Visual Studio Code, que l'on appelle généralement VSCode.

Compatible avec Windows, macOS et Linux, Visual Studio Code est devenu en quelques années une application incontournable pour éditer du code. Il est entièrement gratuit, open source et prend en charge de nombreux langages, dont PowerShell. Il présente aussi l'avantage de prendre en charge Git comme système de versioning. Voici déjà plusieurs différences et fonctions supplémentaires en comparaison de l'application Windows PowerShell ISE.

Si nous continuons ce jeu des différences entre les deux applications, sachez que VSCode prend en charge à la fois Windows PowerShell et PowerShell.

Pour obtenir des renseignements supplémentaires, vous pouvez consulter le site officiel :

Remarque : Visual Studio Code ne doit pas être confondu avec Visual Studio qui est une suite de développement beaucoup plus lourde (IDE) et qui s'adresse directement aux développeurs d'applications. Bien que l'on puisse utiliser Visual Studio pour écrire du code PowerShell, il est préférable d'utiliser VSCode.

A. Installer Visual Studio Code sur Windows

Commencez par installer Visual Studio Code sur votre machine. Il est accessible sur le site officiel. Pour Windows, vous avez le choix entre l'installation au niveau de la machine pour tous les utilisateurs ou uniquement dans votre profil.

L'installation s'effectue en quelques clics. Laissez-vous guider par l'assistant.

Installation de Visual Studio Code sur Windows 11

B. Premier démarrage de Visual Studio Code

Ouvrez Visual Studio Code sur votre ordinateur. Au premier lancement, un assistant de bienvenue est là pour vous accueillir et vous guider dans vos premiers pas avec l'application. La première étape consiste à définir un thème.

Vous avez aussi la possibilité de synchroniser VSCode avec votre compte Microsoft pour retrouver les mêmes paramètres entre vos différents appareils. Par ailleurs, la synchronisation GitHub permettra de synchroniser vos scripts avec votre dépôt. Nous pouvons constater qu'il y a une intégration importante avec d'autres services Microsoft.

Get Started VS Code

Voilà, l'installation et la première mise en route sont effectuées.

VS Code page accueil

C. Ajouter l'extension PowerShell à Visual Studio Code

Par défaut, Visual Studio Code peut éditer des fichiers textes, mais il n'est pas prêt à vous accompagner pour éditer du code PowerShell. Il faut savoir que VSCode s'appuie sur un système d'extension : chaque extension va venir ajouter des fonctionnalités à Visual Studio Code. Par exemple, il y a une extension pour chaque langage pris en charge par cet éditeur de code.

Cliquez sur l'icône des extensions sur la gauche (1), recherchez "powershell" (2) et cliquez sur l'extension "PowerShell" proposée par Microsoft (3).

Remarque : si vous souhaitez un environnement complet avec PowerShell et d'autres extensions qui pourront être utiles (intégration GitHub, support du YAML, support du Markdown, un color picker, etc...), vous pouvez regarder la collection d'extensions "PowerShell Extension Pack" proposée par Justin Grote. Elle regroupe 32 extensions. Vous pouvez aussi parcourir la liste d'extensions de cette collection : ceci pourra vous donner des idées !

Cliquez sur le bouton "Install" et patientez pendant quelques secondes. Visual Studio Code ajoute l'extension PowerShell à votre machine.

Remarque : vous pouvez également installer l'extension en saisissant la commande "ext install powershell" après avoir utilisé le raccourci CTRL + P.

Les extensions sont installées dans le profil de l'utilisateur. Voici le répertoire utilisé sur chaque système :

  • Windows : %USERPROFILE%\.vscode\extensions.
  • macOS : ~/.vscode/extensions.
  • Linux : ~/.vscode/extensions.

À partir du moment où l'extension est installée, VSCode est prêt à éditer du code PowerShell !

D. Configurer VSCode pour PowerShell

Avant de créer un script, nous allons modifier deux options dans les paramètres de VSCode afin de :

  • Définir PowerShell en tant que langage par défaut
  • Activer l'utilisation de la touche TAB pour l'autocomplétion des commandes

Pour accéder à la zone de saisie des commandes, utilisez le raccourci "F1" ou "CTRL + SHIFT + P". C'est un bon moyen d'exécuter des actions dans VSCode sans parcourir les menus.

Ici, recherchez "User settings" afin de cliquer sur "Preferences: Open User Settings". Vos préférences sont personnelles et enregistrées dans votre session.

VSCode - Personnaliser paramètres pour PowerShell

Une fois sur la page des paramètres, recherchez "files.default" et modifiez le paramètre "Files: Default Language" de manière à indiquer la valeur "powershell". Comme ceci :

VSCode - Langage par défaut PowerShell

Quand c'est fait, recherchez le second paramètre via le mot clé "editor.tab" et basculez sur "on" le paramètre nommé "Editor: Tab Completion". Il est à noter que VSCode bénéficie d'IntelliSense (comme PowerShell ISE) qui est une bonne aide quand on code.

VSCode - Autocomplétion PowerShell

Il y a beaucoup d'autres paramètres disponibles et qui pourront vous permettre de personnaliser votre environnement. Nous allons nous satisfaire de ces deux options pour débuter.

E. Premier script PowerShell avec VSCode

Dans Visual Studio Code, il y a plusieurs façons de créer un nouveau fichier. Tout simplement, vous pouvez cliquer sur le menu "File" puis "New File", mais le plus rapide c'est d'utiliser le raccourci "CTRL + N" afin de créer un nouveau fichier au format PowerShell (puisque c'est le langage par défaut définit dans les paramètres).

Un nouveau fichier s'ouvre dans un onglet dédié. Sans rentrer dans le détail, voici quelques informations sur l'organisation de l'interface de VSCode :

1 - Zone où vous rédigez votre script PowerShell (ou dans un autre langage), c'est l'éditeur de code tout simplement.

2 - Zone où se situe le terminal. C'est là que vous pouvez visualiser le résultat de votre script, ou saisir directement des commandes.

3 - Zone avec des boutons d'action. Le premier bouton sert à exécuter tout le script, le second bouton sert à exécuter la sélection, tandis que le troisième bouton permet de diviser l'éditeur de code en deux zones et ainsi avoir deux scripts côte à côte.

4 - Zone de l'Explorer, où vous pouvez afficher le contenu d'un répertoire de votre PC (un répertoire où vous stockez vos scripts, par exemple). Ce répertoire sera associé à un workspace qui aura sa propre configuration. Vous pouvez créer plusieurs workspaces (voir la documentation officielle à ce sujet).

Il ne vous reste plus qu'à coder ! Pensez à enregistrer votre script.

Note : à partir du moment où le dossier avec vos scripts est enregistré en tant que workspace (File > Save workspace as), vous pouvez bénéficier du formatage automatique du code (indentation) grâce au raccourci suivant : Shift + Alt + F. Ceci va mettre en forme votre code en un clin d'oeil !

F. Le mode ISE dans VSCode

Si vous débutez avec PowerShell ISE et que vous effectuez une transition vers Visual Studio Code dans un second temps, sachez que cette application intègre un mode nommé "Mode ISE".

Pour l'activer, appelez l'invite de commande VSCode via F1 et saisissez "ISE Mode" afin de pouvoir cliquer sur "PowerShell: Enable ISE Mode". Pour désactiver ce mode, répétez l'opération pour sélectionner "PowerShell: Disable ISE Mode".

Voici un aperçu :

VSCode - Mode ISE

G. Basculer entre PowerShell et Windows PowerShell

Visual Studio Code peut utiliser Windows PowerShell et PowerShell, contrairement à PowerShell ISE qui sait seulement utiliser Windows PowerShell. Comment basculer d'une version de PowerShell à l'autre dans VSCode ?

Vous devez cliquer sur le bouton "{}" en bas à droite afin de cliquer sur "Show PowerShell Session Menu".

VSCode basculer PowerShell à Windows PowerShell

Dans le menu qui apparaît, choisissez "Windows PowerShell" ou "PowerShell", en fonction de la version que vous souhaitez utiliser.

VSCode - Choisir PowerShell ou Windows PowerShell

Vous pouvez ouvrir plusieurs "Terminal" PowerShell simultanément et choisir la version que vous désirez pour chacun d'eux. Ainsi, vous pouvez passer de l'un à l'autre facilement en cliquant dessus dans la liste !

IV. Conclusion

Suite à la lecture de ce chapitre, vous êtes en mesure de prendre en main autant Windows PowerShell ISE que Visual Studio Code. Disons que vous avez connaissance des bases de ces deux outils.

Au-delà de ces deux applications, sachez qu'il en existe d'autres, notamment PowerShell Studio qui présente l'avantage d'intégrer des fonctions dédiées à la création d'interfaces graphiques avec PowerShell. Il s'agit d'une application payante éditée par SAPIEN Technologies.


livre pour apprendre PowerShell
author avatar
Florian BURNEL Co-founder of IT-Connect
Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.