VSCodeでGDScriptを書くには?
注意点
最後に、Visual Studio Code(VSCode)で、GDScriptを書く方法を説明します。
ふだんからVSCodeに慣れている人は、専用エディターではなくVSCodeで書きたいと思うでしょう。
この設定をおこなう前に、1つだけ注意してください。Godot Engineのエディターで開いているプロジェクトのスクリプトを、全て閉じておいてください。
Godot Engineのエディターでスクリプトを開いている状態でVSCodeで書き進めた場合、Godot Engine側で「Ctrl+S」で保存すると、VSCodeで書いた内容が全て上書きされて消えます。
VSCodeでアンドゥーをしても戻すことはできません。私はこの状態になり、数日へこみました。
VSCodeで開くように設定したあとは、Godot Engineのエディター上でスクリプトを開こうとすると、VSCodeで開くようになります。設定を切り替えるタイミングでしか発生しない問題ですが、注意が必要です。
Godot Engineのエディターでの設定
それでは設定方法を書きます。トップメニューの「エディター」>「エディター設定」>で「エディター設定」ダイアログを開きます。そして、右上の「高度な設定」をオンにします。
「一般タブ」の「テキストエディター」>「外部」の「外部エディターを使用」を「オン」にします。そして「実行パス」と「実行フラグ」を設定します。
まずは「実行パス」です。VSCodeのパスを設定します。ファイルアイコンをクリックして、VSCodeのパスを設定します。
Windowsなら、C:/Users/<ユーザー名>/AppData/Local/Programs/Microsoft VS Code/bin/code.cmdにあるはずです。<ユーザー名>は、ログインしているユーザーの名前です。ファイルはcode.cmdを選ぶ必要があるので注意してください。
「実行フラグ」はデフォルトでは{file}です。この内容を、{project} --goto {file}:{line}:{col}に変更します。使用する外部エディターによって設定が異なります。他の外部エディターについては、公式のページを参考にしてください。
もう1ヶ所、エラーを防ぐためにしておいた方がよい設定があります。外部テキスト エディタによって変更されたスクリプトを、Godot Engineのエディターで自動的に再読み込みする設定です。冒頭に書いたような上書きによるスクリプトの消失を防ぐためのものです。
トップメニューの「エディター」>「エディター設定」>で「エディター設定」ダイアログを開きます。そして、右上の「高度な設定」をオンにします。
「一般タブ」の「テキストエディター」>「ビヘイビア」(動作)の、「ファイル」>「外部変更時にスクリプトを自動再読み込み」を「オン」にします。
VSCodeでの設定
VSCode側では公式プラグイン「godot-tools」をインストールします。
インストールするだけでは駄目で、設定もおこなう必要があります。
「Ctrl+,」で「Settings」を開き、「Extensions」の「Godot Tools」を開きます。必須の設定は「Editor Path: Godot4」です。ここに、Godot Engineの実行ファイル(Godot_v4.4.1-stable_win64.exeなど)のフルパスを書きます。
プロジェクトの開き方
プロジェクトをVSCodeで編集するには、まず先にGodot Engineのエディターでプロジェクトを開きます。そのあと「ファイルシステム」ドックで、拡張子が.gdのファイルをダブルクリックします。すると、VSCodeでプロジェクトが読み込まれ、ファイルが開いた状態になります。
この状態になれば、スクリプトをVSCodeで書くことができます。シンタックスハイライトもおこなわれますし、インテリセンスも使えます。
VSCodeからのデバッグ実行
VSCodeの「Run and Debug」を利用してスクリプトを実行する方法を示します。
VSCodeでlaunch.json(.vscode/launch.json)を作ります。「Activity Bar」で「Run and Debug」を開き、「Add Configration」でGodotのデバッグ設定を作ります。次の3つが用意されています。
- GDScript: Launch Project …… プロジェクトを開く
- GDScript: Launch Pinned File …… ピン留めしたファイルを開く
- GDScript: Launch Current File …… 現在のファイルを開く
たとえばGDScript: Launch Projectを選んだ場合は、次のような設定がlaunch.jsonに加わります。
json
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "GDScript: Launch Project",
"type": "godot",
"request": "launch",
"project": "${workspaceFolder}",
"debug_collisions": false,
"debug_paths": false,
"debug_navigation": false,
"additional_options": ""
}
]
}
実行すると、ゲームが起動して「DEBUG CONSOLE」に出力があります。
基本的には、これで上手くいくはずです。私の環境では、ここまでの設定で問題なく動作しています。
もし上手くいかない場合は、何らかのネットワークの問題の可能性があります。次の2カ所を見直してみてください。
-
VSCode
-
Settings
- 「Godot Tools」>「Lsp: Server Host」
-
Settings
-
Godot Engineのエディター
-
「エディター設定」の「一般」タブ
- 「ネットワーク」>「デバッグ」>「リモートホスト」
- 「ネットワーク」>「言語サーバー」>「リモートホスト」
-
「エディター設定」の「一般」タブ
使用しているマシンの環境に合わせて、変更しなければならない可能性があります。
