次の方法で共有


Visual Studio Code のツールを使用してスクリプトを記述する

2 つの新しいツールを使用することにより、Visual Studio Code 内でのゲームテスト スクリプトの記述プロセスがより容易で楽しくなります。

Visual Studio Code IntelliSense 用のカスタム タイプ定義ファイル

Visual Studio Code では、さまざまなライブラリに対応した詳細なタイプ情報を表示して、タイプ入力の際にヒントやコード補完ドロップダウンを提示できます。 ゲームテスト モジュール mojang-minecraft および mojang-gametest で、タイプ情報を利用できるようになりました。

開始するには、Node Package Manager (npm) を使用します。 npm を使用すると、パッケージ内のさまざまなコード モジュールを簡単にダウンロードしてインストールできます。 Node.js (npm が含まれています) を自分の開発用デバイスにインストールします。 npm のインストール方法の詳細については、nodejs.org を参照してください。開始するには、Node.js の最新 LTS バージョンをインストールします。

Node.js をインストールしたら、最新のタイプ定義を簡単に入手できます。 Visual Studio Code で、ビヘイビアー パック フォルダーが配置されているフォルダーを開き、ターミナル コンソール ウィンドウから次のコマンドを実行します。

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

これによって、プロジェクト内の node_modules フォルダーにタイプ定義がインストールされます。

新しいコード ヒントを使用して編集を行うには、Visual Studio Code を開きます。 JavaScript を記述する際に、オートコンプリートが表示されます。

Visual Studio Code でのメソッドのオートコンプリート

また、タイプ用のインライン参照ドキュメントも表示されます。

Visual Studio Code のインライン参照ドキュメント

注意

これらのタイプ定義は最新のベータ版 API に一致するよう更新されていますので、頻繁に npm をチェックして、更新されたタイプ定義がないかを確認するようにしてください。

Minecraft のスクリプト デバッグ機能によるコードの調査

スクリプトに記述したコードベースが増えるにつれ、さまざまなタイミングで自分のコードを調べて、変数の状態を確認したりアルゴリズムをテストしたりする必要が生じます。 多くのスターター プロジェクトでは、Console.log や Chat などのコマンドを使用してさまざまな変数を出力することから開始します。これは、非公式に "出力デバッグ" と呼ばれています。 しかし、開発者向けのもっと優れた方法があります。 Minecraft: Bedrock Edition のゲームテスト内でスクリプトを作成すると、Minecraft スクリプト内のデータの検査が容易になるスクリプト デバッグ機能を使用できます。

開始するには、開発している JavaScript ファイルのエディターとして Visual Studio Code を使用する必要があります。 そこから次の手順に従います。

  1. Visual Studio Code 内に Minecraft Bedrock Edition Debugger をインストールします。この作業が必要なのは一度だけです。
  2. development_behavior_packs フォルダー内で Visual Studio Code を開きます
  3. (Bedrock 専用サーバーまたは Minecraft Bedrock クライアント内の) テスト クライアントに応じて、Minecraft: Bedrock Edition と Visual Studio Code を接続します
  4. コード内の任意の場所にブレークポイントとウォッチ変数を設定し、Minecraft を Visual Studio Code に接続します

重要

Minecraft デバッガーとゲームテスト フレームワークの試験的機能は、Minecraft の最新ベータ版と連携するように最適化されています。 詳細については、Minecraft ベータ版に関するページを参照してください。

Minecraft: Bedrock Edition でのデバッグ

ステップ 1: Visual Studio Code 内に Minecraft Bedrock Edition Debugger をインストールする

デバッガー機能を使用するには、Visual Studio Code 内に Minecraft Bedrock Edition Debugger をインストールする必要があります。 このためには、下のボタンをクリックして、Visual Studio Code のマーケットプレイスから Minecraft Bedrock Edition Debugger をダウンロードします。

ステップ 2: Minecraft: Bedrock Edition クライアントで "ループバック" 要求を確実に実行できるようにする

Minecraft: Bedrock Edition クライアントを、同じマシンで実行されている Visual Studio Code に接続する場合 (これは最も一般的なシナリオです) は、Minecraft クライアントを UWP のループバック制限から除外する必要があります。 このためには、コマンド プロンプトまたは "スタート | アプリの実行" から次を実行します。

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

実行中の checknetisolation コマンド

ステップ 3: development_behavior_packs フォルダー内で Visual Studio Code を開く

デバッガーが JavaScript ソース ファイルの場所を認識できるように、JavaScript ソース ファイルが配置されているビヘイビアー パックに対して Visual Studio Code のウィンドウを明示的に開く必要があります。

ゲームテストはほとんどの場合、構築の際に Minecraft の development_behavior_packs フォルダーにデプロイします。 これは、%localappdata%\Packages\Microsoft.MinecraftUWP_8wekyb3d8bbwe\LocalState\games\com.mojang\development_behavior_packs にあります。 デバックするビヘイビアー パックを選択し、このフォルダーをポイントするように Visual Studio Code ウィンドウを開きます。

ステップ 4: 接続のために Visual Studio Code を準備する

Minecraft: Bedrock Edition でデバッグするには、Minecraft から Visual Studio Code に接続する必要があります。 この例では、同じ Windows 10 マシン上でデバッグすることを想定していますが、必要な場合は複数のマシンおよびクライアントをまたいでデバッグすることもできます。 デバイスをまたいでデバッグを行う場合は、Visual Studio Code を実行するマシンのファイアウォール内のポートを開いておく必要があります。

接続を構成するには、ビヘイビアー パック フォルダーに .vscode サブフォルダーを追加します。 この .vscode フォルダー内に、次の launch.json 構成ファイルを追加します。

(注: このファイルの行を編集する必要は一切ありません。)

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

launch.json が表示されている Visual Studio Code

ステップ 5: Minecraft のビヘイビアー パックを実行する

Visual Studio Code とビヘイビアー パックの準備ができたので、いつでもデバッグを開始できます。

まず、Visual Studio Code で [デバッグの開始] をクリックします。 これにより、Visual Studio Code はデバッグ接続のリッスン モードに入ります。

Minecraft を起動し、スクリプトを作成したビヘイビアー パックを世界に読み込みます。 ゲームテスト機能の内部にブレークポイントを設定する必要があります。 このためには、ブレークポイントを設定する特定のコード行の左側をクリックします。

Visual Studio Code 内に設定されたブレークポイント

次のスラッシュ コマンドを使用して、ポートから Visual Studio Code に接続します。

/script debugger connect localhost 19144

スラッシュ コマンドに対する接続成功応答が表示されます。

ここで、コードをトリガーします (/gametest run (my test name) などのテストを実行)

ブレークポイントに到達するのがわかります。 必要に応じて、ローカル変数を確認したり、ウォッチを追加したりすることもできます。

Visual Studio Code 内のブレークポイントとローカル変数

Minecraft Bedrock 専用サーバーを使用したデバッグ

Bedrock 専用サーバーを使用したデバッグの手順は若干異なります。 Bedrock 専用サーバーを使用してデバッグする場合、Bedrock 専用サーバーは Visual Studio Code から開始されたデバッグ接続をリッスンします。 上述したように、まず Visual Studio Code 用に Minecraft Bedrock Edition Debugger をインストールする必要があります。

Bedrock 専用サーバーを構成する

デフォルトでは、Bedrock 専用サーバーはデバッグ接続を許可するように構成されていません。 このデバッグを有効にするには、Bedrock 専用サーバーの server.properties ファイル内の設定をいくつか変更する必要があります。

以下の設定により、Bedrock 専用サーバーでのデバッグが構成されます。

  • allow-outbound-script-debugging (true/false): /script debugger connect コマンドを有効にします。 デフォルトは false です。
  • allow-inbound-script-debugging (true false): /script debugger listen コマンドを有効にします (また、サーバーのポートを開きます)。 デフォルトは false です。
  • force-inbound-debug-port (数値): 受信デバッグ ポートを特定のポートに固定します。 これにより、デフォルトのスクリプト デバッグ ポートが設定され、/script debugger listen コマンドのユーザーが別のポートを指定するのを防ぎます。

このプロジェクトで実行できるのは、allow-inbound-script-debugging を true に設定することだけです。

Bedrock 専用サーバーの server.properties の編集

ビヘイビアー パック プロジェクトを準備する

Visual Studio Code インスタンスは、Minecraft インスタンスの development_behavior_packs フォルダー内のビヘイビアー パックのルートをポイントしている必要があります (したがって、Visual Studio Code は (my Bedrock Dedicated Server installation)\development_behavior_packs\(behaviorpackname) で開く必要があります)

デバッグ対象のビヘイビアー パックのルートに、.vscode サブフォルダーを追加します。 次の launch.json ファイルをその .vscode フォルダーに追加します (注: このファイルの行を編集する必要は一切ありません)。

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

Minecraft のビヘイビアー パックを実行する

Visual Studio Code とビヘイビアー パックの準備ができたので、いつでもデバッグを開始できます。

Minecraft を起動し、スクリプトを作成したビヘイビアー パックを世界に読み込みます。

Bedrock 専用サーバーのコンソール内で、次のスラッシュ コマンドを使用してポートでのリッスンを開始します。

script debugger listen 19144

このコマンドに対して "Debugger Listening" 応答が表示されます。

ポートをリッスンしているサーバー デバッガー

次に、Visual Studio Code で [デバッグの開始] をクリックします。

Bedrock 専用サーバーでコマンド (/gametest run (my test name) など) を実行することでテストを開始できます。

エディターで特定のコード行の左側をクリックすることによって、コードにブレークポイントを設定できます。 ビヘイビアー パックでのテストを実行すると、ブレークポイントに到達します。 必要に応じて、ローカル変数を確認したり、ウォッチを追加したりすることもできます。

これで終わりです。 JavaScript の行の追加に伴って更新されるコード ヘルパーと、Visual Studio Code 内の新しいデバッガー機能を利用することで、今よりもはるかに迅速にスクリプトを書いたり、より詳細なテストを作成できるようになるでしょう。