Partager via


Utiliser les outils VisualStudioCode pour écrire des scripts

Grâce à deux nouveaux outils, l’écriture de scripts GameTest dans VisualStudioCode devient plus simple et plus ludique.

Fichiers de définition de type personnalisés pour VisualStudioCode Intellisense

VisualStudioCode peut afficher des informations de type détaillées pour différentes bibliothèques afin de fournir des indications et des listes déroulantes de complétion de code pendant la saisie. Les informations de type ont été mises à disposition pour les modules GameTest mojang-minecraft et mojang-gametest.

Pour commencer, utilisez le Node Package Manager ou npm. npm permet de télécharger et d’installer facilement différents modules de code dans vos packages. Installez Node.js - qui inclut npm - sur votre dispositif de développement. Plus d’informations sur l’installation de npm sont disponibles sur nodejs.org. Installez la dernière version LTS de Node.js pour commencer.

Une fois que Node.js est installé, l’obtention des dernières définitions de type est un jeu d’enfant. Depuis VisualStudioCode, ouvrez le dossier où se trouve votre dossier de pack de comportements et exécutez simplement les commandes suivantes depuis une fenêtre de console de terminal:

npm i @types/mojang-minecraft
npm i @types/mojang-gametest

Cela installe les définitions de type dans le dossier node_modules de votre projet.

Pour éditer avec les nouvelles indications de code, ouvrez simplement VisualStudioCode. Si vous écrivez du JavaScript, vous devriez voir le remplissage automatique:

Remplissage automatique des méthodes dans VisualStudioCode

et la documentation de référence en ligne pour les types:

Documentation de référence en ligne dans VisualStudioCode

Notes

Nous mettons à jour ces définitions de type pour qu’elles correspondent aux dernières API bêta, alors n’oubliez pas de consulter régulièrement npm pour voir si des définitions de type ont été mises à jour.

Obtenez un aperçu de votre code avec le débogage de script Minecraft

Au fur et à mesure que vous développez une base de code en script, vous voudrez inspecter votre code à différents moments pour voir l’état des variables et tester vos algorithmes. Dans de nombreux projets de démarrage, les gens commencent par utiliser des commandes comme Console.log ou Chat pour imprimer diverses variables au fur et à mesure - de manière informelle, on appelle cela le «print debugging». Mais pour les développeurs, il existe un moyen bien plus efficace! Avec le scripting dans GameTest dans Minecraft BedrockEdition, vous pouvez utiliser les fonctionnalités de débogage de script qui simplifient considérablement l’inspection des données dans le script Minecraft.

Pour commencer, il faut utiliser VisualStudioCode comme éditeur pour les fichiers JavaScript que vous avez développés. Voici les étapes à suivre:

  1. Installez le débogueur de Minecraft BedrockEdition dans VisualStudioCode(à faire une seule fois)
  2. Ouvrez VisualStudioCode dans votre dossier development_behavior_packs.
  3. En fonction de votre client de tests (le serveur dédié Bedrock ou les clients Minecraft Bedrock), connectez Minecraft BedrockEdition et VisualStudioCode
  4. Définissez des points d’arrêt et ajoutez des variables de surveillance dans votre code au fur et à mesure, puis connectez Minecraft à VisualStudioCode.

Important

Le débogueur Minecraft et l’expérience du framework GameTest sont optimisés pour fonctionner avec les dernières versions bêta de Minecraft. Voir Minecraft Betas pour plus d’informations.

Débogage avec Minecraft BedrockEdition

Étape 1 : installez le débogueur de Minecraft BedrockEdition dans VisualStudioCode

Pour utiliser les fonctionnalités du débogueur, il faut installer le débogueur de Minecraft BedrockEdition dans VisualStudioCode. Pour ce faire, veuillez cliquer sur le bouton ci-dessous pour télécharger le Minecraft BedrockEdition Debugger depuis le magasin de VisualStudioCode.

Étape 2: assurez-vous que le client Minecraft BedrockEdition peut faire des demandes de «loopback»

Si vous souhaitez connecter le client Minecraft BedrockEdition à VisualStudioCode fonctionnant sur la même machine (c’est le scénario le plus courant), vous devrez exempter le client Minecraft des restrictions de bouclage UWP. Pour ce faire, exécutez la commande suivante à partir d’une invite de commande ou de l’application Démarrer | Exécuter.

CheckNetIsolation.exe LoopbackExempt -a -p=S-1-15-2-1958404141-86561845-1752920682-3514627264-368642714-62675701-733520436

La commande checknetisolation est exécutée

Étapes3: ouvrez VisualStudioCode dans votre dossier development_behavior_packs

Pour que le débogueur sache où trouver vos fichiers source JavaScript, il faut ouvrir une fenêtre de VisualStudioCode dans le dossier behavior pack où se trouvent vos fichiers source JavaScript.

Pendant que vous construisez des gametests, vous allez très probablement les déployer dans le dossier development_behavior_packs de Minecraft. Il est situé dans les %localappdata%\Packages\Microsoft.MinecraftUWP_8wekyb3d8bbwe\LocalState\games\com.mojang\development_behavior_packs. Sélectionnez le pack de comportement que vous souhaitez déboguer, et ouvrez une fenêtre VisualStudioCode pointée sur ce dossier.

Étape 4: préparez VisualStudioCode pour une connexion

Pour déboguer avec Minecraft BedrockEdition, vous aurez besoin de vous connecter depuis Minecraft et dans VisualStudioCode. Cet exemple suppose que vous déboguez sur la même machine Windows 10, mais vous pouvez également déboguer sur plusieurs machines et plusieurs clients si vous le souhaitez. Si vous déboguez sur plusieurs appareils, vous devrez peut-être ouvrir un port dans votre pare-feu sur la machine sur laquelle vous exécutez VisualStudioCode.

Pour configurer la connexion, ajoutez un sous-dossier .vscode à votre dossier behavior pack. Dans ce dossier .vscode, ajoutez le fichier de configuration launch.json suivant:

(REMARQUE: vous n’avez pas besoin de modifier les lignes de ce fichier).

{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "minecraft-js",
      "request": "attach",
      "name": "Wait for Minecraft Debug Connections",
      "mode": "listen",
      "localRoot": "${workspaceFolder}/",
      "port": 19144
    }
  ]
}

VisualStudioCode avec launch.json

Étape5: lancez votre pack comportements Minecraft

Maintenant que vous avez préparé VisualStudioCode et votre pack de comportement, vous êtes prêt à commencer le débogage!

Tout d’abord, cliquez sur Start Debugging dans VisualStudioCode. Cela met VisualStudioCode en mode listen for a debugging connection.

Lancez Minecraft et chargez dans un monde avec votre script behavior pack. Peut-être qu'il vous faudrait définir un point d’arrêt à l’intérieur de votre fonction GameTest. Pour ce faire, cliquez à gauche des lignes de code spécifiques où vous souhaitez définir votre point d’arrêt.

Points d’arrêt définis dans VisualStudioCode

Utilisez cette commande slash pour vous connecter à VisualStudioCode sur un port.

/script debugger connect localhost 19144

Vous devriez voir une réponse de succès de connexion de la commande slash.

Maintenant, déclenchez le code (probablement en exécutant un test, par exemple /gametest run (my test name)).

Vos points d’arrêt devraient être touchés. Vous pouvez également afficher les variables locales et ajouter des surveillances si nécessaire.

Points d’arrêt et variables locales dans VisualStudioCode

Débogage avec le serveur dédié Minecraft Bedrock

La procédure de débogage avec Bedrock Dedicated Server est un peu différente. Quand vous déboguez avec le serveur dédié Bedrock, celui-ci procède à une écoute pour détecter les connexions de débogage lancées par VisualStudioCode. Vous devez commencer par installer le débogueur Minecraft BedrockEdition pour VisualStudioCode en suivant la procédure ci-dessus.

Configurez votre serveur dédié Bedrock

Par défaut, les serveurs dédiés Bedrock ne sont pas configurés pour autoriser les connexions de débogage. Pour activer ce débogage, il faudra modifier certains paramètres dans le fichier server.properties de votre serveur dédié Bedrock.

Ces paramètres configurent le débogage sur le serveur dédié Bedrock:

  • allow-outbound-script-debugging (true/false): active la commande /script debugger connect. La valeur par défaut est false.
  • allow-inbound-script-debugging (true false): active la commande /script debugger listen (et l’ouverture de ports sur un serveur). La valeur par défaut est false.
  • force-inbound-debug-port (nombre): verrouille le port de débogage entrant à un port particulier. Cela définira le port de débogage par défaut et empêchera un utilisateur de la commande /script debugger listen de spécifier un autre port.

Pour ce projet, nous pouvons simplement définir allow-inbound-script-debugging à true.

Modification de server.properties pour le serveur dédié Bedrock

Préparez votre projet Behavior Pack

Votre instance de VisualStudioCode doit pointer à la racine de votre Behavior Pack dans le dossier development_behavior_packs de l’instance de Minecraft (il faut donc ouvrir VisualStudioCode depuis (my Bedrock Dedicated Server installation)\development_behavior_packs\(behaviorpackname)).

À la racine du pack de comportement que vous voulez déboguer, ajoutez un sous-dossier .vscode. Ajoutez le fichier launch.json suivant dans ce dossier .vscode: (REMARQUE: vous n’avez pas besoin de modifier les lignes de ce fichier).

{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "minecraft-js",
      "request": "attach",
      "name": "Attach to Minecraft Bedrock Dedicated Server",
      "localRoot": "${workspaceFolder}/",
      "port": 19144
    }
  ]
}

Lancez votre pack comportements Minecraft

Maintenant que vous avez préparé VisualStudioCode et votre pack de comportement, vous êtes prêt à commencer le débogage!

Lancez Minecraft et chargez dans un monde avec votre script behavior pack.

Dans la console de Bedrock Dedicated Server, utilisez cette commande slash pour commencer à écouter sur un port:

script debugger listen 19144

Vous devriez voir une réponse "Debugger listening" de cette commande.

Débogueur du serveur écoutant sur un port

Maintenant, cliquez sur "Start Debugging" dans VisualStudioCode.

Vous pouvez exécuter des commandes dans le serveur dédié Bedrock pour lancer des tests, comme /gametest run (my test name).

Vous pouvez définir des points d’arrêt dans votre code en cliquant sur le côté gauche de l’éditeur, sur des lignes de code spécifiques. Quand vous exécutez les tests du pack de comportement, vos points d’arrêt devraient être touchés. Vous pouvez également afficher les variables locales et ajouter des surveillances si nécessaire.

C’est tout! Entre les aides de code mises à jour quand vous ajoutez des lignes de JavaScript et les nouvelles fonctionnalités du débogueur dans VisualStudioCode, nous espérons que vous serez en mesure d’écrire des tests et des scripts plus complets beaucoup plus rapidement.