godotengine / godot-vscode-plugin

Godot development tools for VSCode
MIT License
1.47k stars 148 forks source link

Godot Tools

Game development tools for working with Godot Engine in Visual Studio Code.

IMPORTANT NOTE: Versions 1.0.0 and later of this extension only support Godot 3.2 or later.

Features

(bold items are new in Godot Tools v2.0.0)

Download

To install from GitHub Releases or a development build, see Install from a VSIX in the Visual Studio Code documentation.

Commands

The extension adds a few entries to the VS Code Command Palette under "Godot Tools":

Configuration

Godot Editor

You can set VS Code as your default script editor for Godot by following these steps:

  1. Open the Editor Settings
  2. Select Text Editor > External
  3. Check Use External Editor
  4. Fill Exec Path with the path to your VS Code executable
    • On macOS, this executable is typically located at: /Applications/Visual Studio Code.app/Contents/MacOS/Electron
  5. Fill Exec Flags with {project} --goto {file}:{line}:{col}

VS Code

You can use the following settings to configure Godot Tools:

The path to the Godot editor executable. Under Mac OS, this is the executable inside of Godot.app.

When using Godot >3.6 or >4.2, Headless LSP mode is available. In Headless mode, the extension will attempt to launch a windowless instance of the Godot editor to use as its Language Server.

GDScript Debugger

The debugger is for GDScript projects. To debug C# projects, use C# Tools for Godot.

To configure the GDScript debugger:

  1. Open the command palette (by pressing F1):
  2. >View: Show Run and Debug
  3. Click on "create a launch.json file"

Run and Debug View

  1. Select the Debug Godot configuration.
  2. Change any relevant settings.
  3. Press F5 to launch.

Configurations

Minimal:

{
    "name": "Launch",
    "type": "godot",
    "request": "launch"
}

Everything:

{
    "name": "Launch",
    "type": "godot",
    "request": "launch",
    "project": "${workspaceFolder}",
    "address": "127.0.0.1",
    "port": 6007,
    "scene": "main|current|pinned|<path>",
    "editor_path": "<path>",
    // engine command line flags
    "profiling": false,
    "single_threaded_scene": false,
    "debug_collisions": false,
    "debug_paths": false,
    "debug_navigation": false,
    "debug_avoidance": false,
    "debug_stringnames": false,
    "frame_delay": 0,
    "time_scale": 1.0,
    "disable_vsync": false,
    "fixed_fps": 60,
    // anything else
    "additional_options": ""
}

Godot's command flags are documented here: https://docs.godotengine.org/en/stable/tutorials/editor/command_line_tutorial.html

Usage

Showing the debugger in action

Issues and contributions

The Godot Tools extension is an open source project from the Godot organization. Feel free to open issues and create pull requests anytime.

See the full changelog for the latest changes.

Contributing

see CONTRIBUTING.md

FAQ

Why does it fail to connect to the language server?

Why isn't IntelliSense displaying script members?