Utilizzare gli strumenti di Visual Studio Code per scrivere script

Due nuovi strumenti possono rendere il processo di scrittura degli script GameTest più semplice e divertente all'interno di Visual Studio Code.

File di definizione del tipo personalizzato per Visual Studio Code Intellisense

Visual Studio Code può visualizzare informazioni dettagliate sul tipo per diverse librerie, per fornire suggerimenti e menu a discesa per il completamento del codice durante la digitazione. Le informazioni sul tipo sono state rese disponibili per i moduli GameTest mojang-minecraft e mojang-gametest.

Per iniziare, usa Node Package Manager o npm. npm semplifica il download e l'installazione di diversi moduli di codice all'interno dei pacchetti. Installa Node.js, che include npm, sul tuo dispositivo di sviluppo. Maggiori informazioni sull'installazione di npm sono disponibili all'indirizzo nodejs.org. Installa l'ultima versione LTS di Node.js per iniziare.

Una volta installato Node.js, ottenere le definizioni dei tipi più recenti è un gioco da ragazzi. Da Visual Studio Code, apri la cartella in cui si trova la cartella del pacchetto di comportamenti ed esegui semplicemente i seguenti comandi da una finestra della console del terminale:

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

In questo modo verranno installate le definizioni dei tipi nella cartella node_modules all'interno del tuo progetto.

Per modificare con nuovi suggerimenti sul codice, apri Visual Studio Code. Mentre scrivi JavaScript, dovresti vedere il completamento automatico:

Completamento automatico del metodo in Visual Studio Code

e documentazione di riferimento in linea per i tipi:

Documentazione di riferimento in linea in Visual Studio Code

Nota

Stiamo aggiornando queste definizioni del tipo in modo che corrispondano alle ultime API beta, quindi assicurati di controllare spesso npm per vedere se ci sono definizioni del tipo aggiornate.

Ottieni informazioni dettagliate sul tuo codice con il debug degli script di Minecraft

Man mano che crei più codebase nello script, ti consigliamo di ispezionare il tuo codice in vari punti per vedere lo stato delle variabili e testare i tuoi algoritmi. In molti progetti iniziali, le persone iniziano utilizzando comandi come Console.log o Chat per stampare diverse variabili mentre procedono. Informalmente, chiamiamo questo processo "debug di stampa". Ma per gli sviluppatori, c'è un modo migliore! Con lo scripting all'interno di GameTest in Minecraft Bedrock Edition, puoi utilizzare le funzionalità di debug degli script che rendono l'ispezione dei dati nello script di Minecraft un gioco da ragazzi.

Per iniziare, ti consigliamo di utilizzare Visual Studio Code come editor per i file JavaScript che hai sviluppato. Quindi, procedi nel seguente modo:

  1. Installa il debugger Minecraft Bedrock Edition all'interno di Visual Studio Code: dovrai farlo una volta
  2. Apri Visual Studio Code nella cartella development_behavior_packs
  3. A seconda del client di test, in Bedrock Dedicated Server o nei client Minecraft Bedrock, connetti Minecraft Bedrock Edition e Visual Studio Code
  4. Imposta punti di interruzione e aggiungi variabili di controllo nel codice mentre procedi, quindi collega Minecraft a Visual Studio Code

Importante

Il debugger di Minecraft e l'esperimento Framework GameTest sono ottimizzati per funzionare con le ultime versioni Beta di Minecraft. Consulta le Beta di Minecraft per maggiori informazioni.

Debug con Minecraft Bedrock Edition

Passaggio 1: installa il debugger di Minecraft Bedrock Edition all'interno di Visual Studio Code

Per usare le funzionalità del debugger di Minecraft Bedrock Edition, ti consigliamo di installarlo all'interno di Visual Studio Code. Per fare ciò, fai clic sul pulsante in basso per scaricare il debugger di Minecraft Bedrock Edition dal marketplace di Visual Studio Code.

Passaggio 2: assicurati che il client Minecraft Bedrock Edition possa effettuare richieste di "loopback"

Se vuoi connettere il client Minecraft Bedrock Edition a Visual Studio Code in esecuzione sullo stesso computer (questo è lo scenario più comune), dovrai esentare il client Minecraft dalle restrizioni di loopback UWP. Per fare ciò, svolgi quanto segue da un prompt dei comandi o da Start | Esegui l'app.

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

comando checknetisolation in esecuzione

Passaggio 3: apri Visual Studio Code nella cartella development_behavior_packs

Affinché il debugger sappia dove trovare i file JavaScript di origine, è necessario aprire in modo specifico una finestra di Visual Studio Code relativa al pack di comportamenti in cui si trovano i file di origine JavaScript.

Durante la creazione di Gametest, molto probabilmente ne eseguirai il deployment nella cartella development_behavior_packs di Minecraft. Questo si trova all'interno di %localappdata%\Packages\Microsoft.MinecraftUWP_8wekyb3d8bbwe\LocalState\games\com.mojang\development_behavior_packs. Seleziona il pacchetto di comportamenti di cui desideri eseguire il debug e apri una finestra di Visual Studio Code che si riferisce a quella cartella.

Passaggio 4: prepara il codice di Visual Studio per una connessione

Per eseguire il debug con Minecraft Bedrock Edition, dovrai connetterti da Minecraft e in Visual Studio Code. Questo esempio presuppone che tu stia eseguendo il debug sullo stesso computer Windows 10, ma puoi anche eseguire il debug su altri computer e client, se lo desideri. Se si esegue il debug su più dispositivi, potrebbe essere necessario aprire una porta all'interno del firewall sul computer in cui si esegue Visual Studio Code.

Per configurare la connessione, aggiungi una sottocartella .vscode alla cartella del pacchetto di comportamenti. All'interno della cartella .vscode, aggiungi il seguente file di configurazione launch.json:

(NOTA: non è necessario modificare alcuna riga di questo file.)

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

Visual Studio Code con launch.json

Passaggio 5: Eseguire il pacchetto di comportamenti di Minecraft

Ora che hai preparato Visual Studio Code e il tuo pacchetto di comportamenti, è tutto pronto per iniziare il debug!

Per prima cosa, fai clic su Avvia debug all'interno di Visual Studio Code. In questo modo inserirai Visual Studio Code in modalità di ascolto di una connessione di debug.

Avvia Minecraft e carica il tuo pacchetto di comportamenti di scripting in un mondo. Potresti voler impostare un punto di interruzione all'interno della tua funzione GameTest. Per fare ciò, fai clic a sinistra delle righe di codice specifiche in cui desideri impostare il punto di interruzione.

Punti di interruzione impostati all'interno di Visual Studio Code

Usa questo comando per connetterti a Visual Studio Code su una porta.

/script debugger connect localhost 19144

Dovresti vedere la risposta di connessione riuscita dal comando.

Ora, attiva il codice (probabilmente basterà eseguire un test, ad esempio /gametest run (my test name))

Dovresti vedere che vengono raggiunti i tuoi punti di interruzione. Puoi anche visualizzare le variabili locali e aggiungere espressioni di controllo, se necessario.

Punti di interruzione e variabili locali in Visual Studio Code

Debug con Bedrock Dedicated Server

La procedura per il debug con Bedrock Dedicated Server è leggermente diversa. Durante il debug con Bedrock Dedicated Server, quest'ultimo ascolterà le connessioni di debug avviate da Visual Studio Code. Ti consigliamo di iniziare installando il debugger di Minecraft Bedrock Edition per Visual Studio Code come descritto sopra.

Configurare Bedrock Dedicated Server

Per impostazione predefinita, i Bedrock Dedicated Server non sono configurati per consentire le connessioni di debug. Per abilitare questo debug, dovrai modificare alcune impostazioni all'interno del file server.properties del tuo Bedrock Dedicated Server.

Queste impostazioni configurano il debug su Bedrock Dedicated Server:

  • allow-outbound-script-debugging (vero/falso): abilita il comando /script debugger connect. Il valore predefinito è falso.
  • allow-inbound-script-debugging (vero falso): abilita il comando /script debugger listen (e l'apertura di porte su un server). Il valore predefinito è falso.
  • force-inbound-debug-port (numero): blocca la porta di debug in entrata su una determinata porta. Questo imposterà la porta di debug dello script predefinita e impedirà a un utente del comando /script debugger listen di specificare una porta alternativa.

Per questo progetto, possiamo semplicemente impostare allow-inbound-script-debugging su vero.

Modifica di server.properties per Bedrock Dedicated Server

Preparare il tuo progetto per il pacchetto di comportamenti

La tua istanza di Visual Studio Code dovrebbe puntare alla radice del tuo pacchetto di comportamenti all'interno della cartella development_behavior_packs dell'istanza di Minecraft (quindi dovresti aprire Visual Studio Code in (my Bedrock Dedicated Server installation)\development_behavior_packs\(behaviorpackname))

Alla radice del pacchetto di comportamenti di cui vuoi eseguire il debug, aggiungi una sottocartella .vscode. Aggiungi il seguente file launch.json in quella cartella .vscode: (NOTA: non è necessario modificare alcuna riga di questo file).

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

Eseguire il pacchetto di comportamenti di Minecraft

Ora che hai preparato Visual Studio Code e il tuo pacchetto di comportamenti, è tutto pronto per iniziare il debug!

Avvia Minecraft e carica il tuo pacchetto di comportamenti di scripting in un mondo.

All'interno della console di Bedrock Dedicated Server, usa questo comando per avviare l'ascolto su una porta:

script debugger listen 19144

Dovresti vedere una risposta "Debugger in ascolto" da questo comando.

Debugger del server in ascolto su una porta

Ora fai clic su "Avvia debug" all'interno di Visual Studio Code.

Puoi eseguire comandi in Bedrock Dedicated Server per avviare i test, ad esempio /gametest run (my test name).

Puoi impostare punti di interruzione nel tuo codice facendo clic sul lato sinistro dell'editor, su righe di codice specifiche. Quando esegui i test nel pacchetto di comportamento, i tuoi punti di interruzione dovrebbero essere raggiunti. Puoi anche visualizzare le variabili locali e aggiungere espressioni di controllo, se necessario.

È tutto! Tra gli helper del codice aggiornati man mano che aggiungi righe di JavaScript e le nuove funzionalità del debugger all'interno di Visual Studio Code, ci auguriamo che sarai in grado di scrivere test e script più estesi molto più rapidamente.