Visual Studio Code

Visual Studio Code is a free cross-platform code editor by Microsoft (not to be confused with Visual Studio).

Importing the project

  • Make sure the C/C++ extension is installed. You can find instructions in the official documentation. Alternatively, clangd can be used instead.

  • When using the clangd extension, run scons compiledb=yes.

  • From the Visual Studio Code's main screen open the Godot root folder with File > Open Folder....

  • Press Ctrl + Shift + P to open the command prompt window and enter Configure Task.

../../../_images/vscode_configure_task.png
  • Select the Create tasks.json file from template option.

../../../_images/vscode_create_tasksjson.png
  • Then select Others.

../../../_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.

  • Within the tasks.json file find the "tasks" array and add a new section to it:

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

An example of a filled out tasks.json.

Arguments can be different based on your own setup and needs. See Introduction to the buildsystem for a full list of arguments.

Debugging the project

To run and debug the project you need to create a new configuration in the launch.json file.

  • Press Ctrl + Shift + D to open the Run panel.

  • If launch.json file is missing you will be prompted to create a new one.

../../../_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.

  • Within the launch.json file find the "configurations" array and add a new section to it: