Visuаl 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 с помощью File > Open Folder....

  • Нажмите Ctrl + Shift + P, чтобы открыть окно командной строки, и введите Configure Task (Настроить задачу).

../../../_images/vscode_configure_task.png
  • Выберите опцию Create tasks.json file from template (Создать файл tasks.json из шаблона).

../../../_images/vscode_create_tasksjson.png
  • Затем выберите Others.

../../../_images/vscode_create_tasksjson_others.png
  • Если опция Create tasks.json file from template отсутствует, удалите файл, если он уже существует в вашей папке, или создайте файл .vscode/tasks.json вручную. Подробнее о задачах см. в разделе Задачи в Visual Studio Code.

  • В файле 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, чтобы открыть панель "Run " (Выполнить).

  • Если файл 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.

Примечание

Из-за спорадических проблем с производительностью в системах Unix рекомендуется использовать LLDB вместо GDB. Убедитесь, что для конфигураций, использующих 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.

  • Сначала обязательно скомпилируйте проект, поскольку необходимо сгенерировать некоторые файлы.

  • Отредактируйте файл Configuration 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.

Совет

Чтобы выполнить линтинг XML-файлов ссылок на классы, установите расширение vscode-xml.