Visual Studio або VS Code

Примітка

Ця документація призначена для внеску в ігровий рушій, а не для використання Visual Studio Code як редактора C# або GDScript. Щоб написати код C# або GDScript у зовнішньому редакторі, див. the C# guide to configure an external editor або the GDScript guide to using an external text editor.

Visual Studio Code це безкоштовний міжплатформний редактор коду від Microsoft (не плутати з visual Studio).

Імпорт проекту

  • Переконайтеся, що встановлено розширення C/C++. Ви можете знайти інструкції в офіційній документації. Крім того, замість нього можна використовувати clangd.

  • У разі використання розширення clangd запустіть scons compiledb=yes.

  • На головному екрані Visual Studio Code відкрийте кореневу папку Godot за допомогою Файл > Відкрити папку....

  • Натисніть Ctrl + Shift + P, щоб відкрити вікно командного рядка, і введіть Налаштувати завдання.

../../../_images/vscode_configure_task.png
  • Виберіть параметр Створити файл tasks.json із шаблону.

../../../_images/vscode_create_tasksjson.png
  • Потім виберіть Інші.

../../../_images/vscode_create_tasksjson_others.png
  • Якщо такий параметр, як Створити файл tasks.json із шаблону, недоступний, або видаліть файл, якщо він уже існує у вашій папці, або створіть файл .vscode/tasks.json вручну. Перегляньте Завдання у коді Visual Studio, щоб дізнатися більше про завдання.

  • У файлі tasks.json знайдіть масив "tasks" і додайте до нього новий розділ:

    .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

Приклад заповненого tasks.json.

Аргументи можуть бути різними залежно від ваших власних налаштувань і потреб. Перегляньте Знайомство з системою побудови повний список аргументів.

Налагодження проекту

Щоб запустити та налагодити проект, вам потрібно створити нову конфігурацію у файлі launch.json.

  • Натисніть Ctrl + Shift + D, щоб відкрити панель «Виконати».

  • Якщо файл launch.json відсутній, вам буде запропоновано створити новий.

../../../_images/vscode_1_create_launch.json.png
  • Виберіть C++ (GDB/LLDB). Тут може бути інша опція, яка залежить від платформи. Якщо вибрано, відповідно налаштуйте наданий приклад конфігурації.

  • У файлі launch.json знайдіть масив "configurations" і додайте до нього новий розділ:

{
  "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

Приклад заповненого launch.json.

Примітка

Через спорадичні проблеми з продуктивністю рекомендується використовувати LLDB замість GDB на системах на базі Unix. Переконайтеся, що для конфігурацій, що використовують lldb, встановлено розширення CodeLLDB.

Якщо у вас виникли проблеми з lldb, ви можете розглянути можливість використання gdb (дивіться конфігурацію LinuxBSD_gdb).

Зауважте, що lldb може краще працювати зі збірками на основі LLVM. Перегляньте Компіляція для Linux, *BSD для отримання додаткової інформації.

Ім’я під program залежить від конфігурації вашої збірки, напр. godot.linuxbsd.editor.dev.x86_64 для 64-розрядної платформи LinuxBSD з target=editor і dev_build=yes.

Налаштування Intellisense

Для розширення C/C++:

Щоб виправити можливі помилки включення, вам потрібно налаштувати деякі параметри у файлі c_cpp_properties.json.

  • По-перше, переконайтеся, що створили проект, оскільки потрібно згенерувати деякі файли.

  • Відредагуйте файл конфігурації C/C++ за допомогою інтерфейсу користувача або за допомогою тексту:

../../../_images/vscode_edit_configurations.webp
  • Додайте включений шлях для вашої платформи, наприклад, ${workspaceFolder}/platform/windows.

  • Додайте визначення для редактора TOOLS_ENABLED, збірки налагодження DEBUG_ENABLED і тести TESTS_ENABLED.

  • Переконайтеся, що шлях компілятора налаштовано правильно для компілятора, який ви використовуєте. Перегляньте Знайомство з системою побудови для отримання додаткової інформації про вашу платформу.

  • Файл c_cpp_properties.json має виглядати приблизно так для Windows:

    .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
    }
    
  • Крім того, ви можете використати аргумент scons compiledb=yes і встановити параметр compileCommands для команд компіляції на compile_commands.json, який можна знайти в розширеному розділі інтерфейсу користувача конфігурації C/C++.

    • Цей аргумент можна додати до вашого завдання збирання в tasks.json, оскільки його потрібно буде запускати кожного разу, коли додаються або переміщуються файли.

Якщо у вас виникнуть проблеми, зверніться по допомогу в один із каналів спільноти Godot <https://godotengine.org/community>__.

Порада

Щоб отримати ліннування для XML-файлів посилання на клас, установіть розширення vscode-xml.