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微软推出的免费跨平台代码编辑器(请勿与 Visual Studio 混淆)。

导入项目

  • 确保已安装 C/C++ 扩展。你可以在官方文档中找到说明。或者也可以用 clangd 代替。

  • 使用 clangd 扩展时,请执行 scons compiledb=yes

  • 现在在VS Code中打开克隆的godot文件夹 文件 > 打开文件夹... .

  • Ctrl + Shift + P 打开命令提示符窗口,然后输入 Configure Task

../../../_images/vscode_configure_task.png
  • 选择从模板中创建tasks.json文件选项.

../../../_images/vscode_create_tasksjson.png
  • 然后选择其他

../../../_images/vscode_create_tasksjson_others.png
  • If there is no such option as Create tasks.json file from template available, either delete the file if it already exists in your folder or create a .vscode/tasks.json file manually. See Tasks in Visual Studio Code for more details on tasks.

  • tasks.json 文件中找到 "tasks" 数组, 并在其中添加一个新部分:

    {
      "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.tools.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。确保 CodeLLDB extension 已经安装。

If you encounter issues with lldb, you may consider using gdb (see the LinuxBSD_gdb configuration).

Do note that lldb may work better with LLVM-based builds. See Compiling for Linux, *BSD for further information.

The name under program depends on your build configuration, e.g. godot.linuxbsd.editor.dev.x86_64 for 64-bit LinuxBSD platform with platform=editor and dev_build=yes.

如果遇到问题, 也可在 Godot 社区论坛 中寻求帮助.

小技巧

To get linting on class reference XML files, install the vscode-xml extension.