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=yes aus.

  • Ö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.

../../../_images/vscode_configure_task.png
  • Wählen Sie die Option task.json-Datei aus Vorlage erstellen.

../../../_images/vscode_create_tasksjson.png
  • dann wählen Sie Others.

../../../_images/vscode_create_tasksjson_others.png
  • 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.json das 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"
    }
    
../../../_images/vscode_3_tasks.json.png

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.json fehlt, werden Sie aufgefordert, diese neu zu erstellen.

../../../_images/vscode_1_create_launch.json.png
  • 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.json das 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"
}
../../../_images/vscode_2_launch.json.png

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:

../../../_images/vscode_edit_configurations.webp
  • Fügen Sie einen Include-Pfad für Ihre Plattform hinzu, zum Beispiel ${workspaceFolder}/platform/windows.

  • Definitionen für den Editor TOOLS_ENABLED, Debug-Builds DEBUG_ENABLED und Tests TESTS_ENABLED hinzufü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.json sollte 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=yes verwenden und die Kompilierbefehle mit compileCommands auf compile_commands.json setzen, zu finden in der erweiterten Sektion der C/C++ Configuration UI.

    • Dieses Argument kann zu Ihrem Build-Task in tasks.json hinzugefü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.