Visual Studio Code
Bemerkung
This documentation is for contributions to the game engine, and not using Visual Studio Code as a C# or GDScript editor. To code C# or GDScript in an external editor, see the C# guide to configure an external editor.
Visual Studio Code ist ein freier plattformübergreifender Code-Editor von Microsoft (nicht zu verwechseln mit Visual Studio).
Projekt importieren
Stellen Sie sicher, dass die C/C++-Erweiterung installiert ist. Anweisungen finden Sie in der offiziellen Dokumentation. Alternativ kann auch clangd verwendet werden.
Wenn Sie die clangd-Erweiterung verwenden, führen Sie
scons compiledb=yesaus.Öffnen Sie im Hauptbildschirm von Visual Studio Code das Godot-Stammverzeichnis mit Datei > Ordner öffnen....
Drücken Sie Strg + Umschalt + P, um das Eingabeaufforderungsfenster zu öffnen und geben Sie Configure Task ein.
Wählen Sie die Option task.json-Datei aus Vorlage erstellen.
dann wählen Sie Others.
Wenn die Option Create tasks.json file from template nicht verfügbar ist, löschen Sie entweder die Datei, wenn sie bereits in Ihrem Ordner existiert, oder erstellen Sie manuell eine
.vscode/tasks.json-Datei. Siehe Tasks in Visual Studio Code für weitere Details zu Tasks.Suchen Sie in der Datei
task.jsondas Array"tasks"und fügen Sie einen neuen Abschnitt hinzu:.vscode/tasks.json{ "label": "build", "group": "build", "type": "shell", "command": "scons", "args": [ // enable for debugging with breakpoints "dev_build=yes", ], "problemMatcher": "$msCompile" }
Ein Beispiel eines ausgefüllten Tasks.json.
Die Argumente können je nach Einrichtung und Anforderungen unterschiedlich sein. Eine vollständige Liste der Argumente finden Sie unter Einführung in das Buildsystem.
Debuggen des Projekts
Um das Projekt auszuführen und zu debuggen, müssen Sie eine neue Konfiguration in der Datei launch.json erstellen.
Drücken Sie Strg + Umschalt + D, um das Ausführen-Panel zu öffnen.
Wenn die Datei
launch.jsonfehlt, werden Sie aufgefordert, diese neu zu erstellen.
Select C++ (GDB/LLDB). There may be another platform-specific option here. If selected, adjust the configuration example provided accordingly.
Suchen Sie in der Datei
launch.jsondas Array"configurations"und fügen Sie einen neuen Abschnitt hinzu:
{
"name": "Launch Project",
"type": "lldb",
"request": "launch",
// Change to godot.linuxbsd.editor.dev.x86_64.llvm for llvm-based builds.
"program": "${workspaceFolder}/bin/godot.linuxbsd.editor.dev.x86_64",
// Change the arguments below for the project you want to test with.
// To run the project instead of editing it, remove the "--editor" argument.
"args": [ "--editor", "--path", "path-to-your-godot-project-folder" ],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"preLaunchTask": "build"
}
{
"name": "Launch Project",
"type": "cppdbg",
"request": "launch",
// Change to godot.linuxbsd.editor.dev.x86_64.llvm for llvm-based builds.
"program": "${workspaceFolder}/bin/godot.linuxbsd.editor.dev.x86_64",
// Change the arguments below for the project you want to test with.
// To run the project instead of editing it, remove the "--editor" argument.
"args": [ "--editor", "--path", "path-to-your-godot-project-folder" ],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"setupCommands":
[
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
},
{
"description": "Load custom pretty-printers for Godot types.",
"text": "source ${workspaceRoot}/misc/utility/godot_gdb_pretty_print.py"
}
],
"preLaunchTask": "build"
}
{
"name": "Launch Project",
"type": "cppvsdbg",
"request": "launch",
"program": "${workspaceFolder}/bin/godot.windows.editor.dev.x86_64.exe",
// Change the arguments below for the project you want to test with.
// To run the project instead of editing it, remove the "--editor" argument.
"args": [ "--editor", "--path", "path-to-your-godot-project-folder" ],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"console": "internalConsole",
"visualizerFile": "${workspaceFolder}/platform/windows/godot.natvis",
"preLaunchTask": "build"
}
{
"name": "Launch Project",
"type": "lldb",
"request": "custom",
"targetCreateCommands": [
"target create ${workspaceFolder}/bin/godot.macos.editor.dev.x86_64"
],
// Change the arguments below for the project you want to test with.
// To run the project instead of editing it, remove the "--editor" argument.
"processCreateCommands": [
"process launch -- --editor --path path-to-your-godot-project-folder"
]
}
Ein Beispiel für ein ausgefülltes launch.json.
Bemerkung
Aufgrund sporadischer Performanceprobleme wird empfohlen, auf Unix-basierten Systemen LLDB statt GDB zu verwenden. Stellen Sie sicher, dass die CodeLLDB-Erweiterung installiert ist.
Wenn Sie Probleme mit lldb haben, können Sie gdb verwenden (siehe die LinuxBSD_gdb-Konfiguration).
Beachten Sie, dass lldb besser mit LLVM-basierten Builds funktionieren kann. Siehe Kompilieren für Linux, *BSD für weitere Informationen.
Der Name unter program hängt von Ihrer Build-Konfiguration ab, z.B. godot.linuxbsd.editor.dev.x86_64 für die 64-bit LinuxBSD Plattform mit target=editor und dev_build=yes.
Konfigurieren von Intellisense
Für die C/C++-Erweiterung:
Um mögliche Include-Fehler zu beheben, müssen Sie einige Einstellungen in der Datei c_cpp_properties.json vornehmen.
Stellen Sie zunächst sicher, dass Sie das Projekt bauen, da einige Dateien generiert werden müssen.
Bearbeiten Sie die C/C++-Konfigurationsdatei entweder mit der Benutzeroberfläche oder mit Text:
Fügen Sie einen Include-Pfad für Ihre Plattform hinzu, zum Beispiel
${workspaceFolder}/platform/windows.Definitionen für den Editor
TOOLS_ENABLED, Debug-BuildsDEBUG_ENABLEDund TestsTESTS_ENABLEDhinzufügen.Stellen Sie sicher, dass der Compilerpfad für den von Ihnen verwendeten Compiler korrekt konfiguriert ist. Siehe Einführung in das Buildsystem für weitere Informationen zu Ihrer Plattform.
Die Datei
c_cpp_properties.jsonsollte unter Windows ähnlich wie diese aussehen:.vscode/c_cpp_properties.json{ "configurations": [ { "name": "Win32", "includePath": [ "${workspaceFolder}/**", "${workspaceFolder}/platform/windows" ], "defines": [ "_DEBUG", "UNICODE", "_UNICODE", "TOOLS_ENABLED", "DEBUG_ENABLED", "TESTS_ENABLED" ], "windowsSdkVersion": "10.0.22621.0", "compilerPath": "C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.39.33519/bin/Hostx64/x64/cl.exe", "cStandard": "c17", "cppStandard": "c++17", "intelliSenseMode": "windows-msvc-x64" } ], "version": 4 }
Alternativ können Sie das scons-Argument
compiledb=yesverwenden und die Kompilierbefehle mitcompileCommandsaufcompile_commands.jsonsetzen, zu finden in der erweiterten Sektion der C/C++ Configuration UI.Dieses Argument kann zu Ihrem Build-Task in
tasks.jsonhinzugefügt werden, da es immer dann ausgeführt werden muss, wenn Dateien hinzugefügt oder verschoben werden.
Wenn Sie auf Probleme stoßen, bitten Sie um Hilfe in einem von Godots Community-Kanälen.
Tipp
Um Linting auf Klassenreferenz-XML-Dateien zu erhalten, installieren Sie die vscode-xml-Erweiterung.