Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

Visual Studio 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, оскільки його потрібно буде запускати кожного разу, коли додаються або переміщуються файли.

XML-файли довідників класів Linting

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

Відображення документації при наведенні курсора

Встановивши розширення Godot Hover Docs, ви можете зробити так, щоб документація з довідниками класів відображалася під час наведення курсора на символи у вихідних або заголовкових файлах C++. Інформація отримується з локальних XML-файлів, тому вона працює офлайн.

Примітка

Це ефективно лише для символів, задокументованих у XML-документі класу, тобто тих, що доступні API скриптів. Внутрішні символи рушія не відображатимуть документацію при наведенні курсора, якщо вони не мають коментаря безпосередньо над своїм оголошенням.

Вирішення проблем

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