Git Product home page Git Product logo

godot-vscode-plugin's Introduction

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)

  • ALL FEATURES FULLY SUPPORT GODOT 4
  • GDScript (.gd) language features:
    • syntax highlighting
    • ctrl+click on any symbol to jump to its definition or open its documentation
    • ctrl+click on res://resource/path links
    • hover previews on res://resource/path links
    • builtin code formatter
    • autocompletions
    • full typed GDScript support
    • optional "Smart Mode" to improve productivity with dynamically typed scripts
    • Hover previews show function/variable definitions including doc-comments
    • switch from a .gd file to the related .tscn file (default keybind is alt+o)
    • display script warnings and errors
  • GDScript Debugger features:
    • completely rewritten, greatly improved reliability
    • new, simple configuration (seriously, just hit F5!)
    • convenient launch targets: current project/current file/pinned file,
    • breakpoints
    • exceptions
    • step-in/out/over
    • variable watch
    • call stack
    • active scene tree
    • inspector
  • GDResource (.tscn and .tres) language features:
    • syntax highlighting
    • ctrl+click on res://resource/path links
    • ctrl+click on symbols to jump to its definition or open its documentation
    • hover previews show definitions of External and Sub Resources
    • hover previews on res://resource/path links
    • inlay hints to help visualize External and Sub Resources
    • in-editor Scene Preview
  • GDShader (.gdshader) language features:
    • syntax highlighting

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

  • Open workspace with Godot editor
  • List Godot's native classes (and open thier documentation)
  • Debug the current .tscn/.gd file
  • Debug the pinned .tscn/.gd file
  • Pin/Unpin the current .tscn/.gd file for debugging
  • Open the pinned file

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:

  • godotTools.editorPath.godot3
  • godotTools.editorPath.godot4

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

  • godotTools.lsp.headless

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

  • Stacktrace and variable dumps are the same as any regular debugger
  • The active scene tree can be refreshed with the Refresh icon in the top right.
  • Nodes can be brought to the fore in the Inspector by clicking the Eye icon next to nodes in the active scene tree, or Objects in the inspector.
  • You can edit integers, floats, strings, and booleans within the inspector by clicking the pencil icon next to each.

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?

  • Godot 3.2 or later is required.
  • Make sure the Godot editor is running
  • Make sure to open the project in the Godot editor first. If you opened the editor after opening VS Code, you can click the Retry button in the bottom-right corner in VS Code.

Why isn't IntelliSense displaying script members?

  • GDScript is a dynamically typed script language. The language server can't infer all variable types.
  • To increase the number of results displayed, open the Editor Settings, go to the Language Server section then check Enable Smart Resolve.

godot-vscode-plugin's People

Contributors

geequlim avatar daelonsuzuka avatar dependabot[bot] avatar calinou avatar razoric480 avatar akien-mga avatar nathanlovato avatar arrkiin avatar linkpy avatar oidro avatar fractile81 avatar akirakido avatar rakkarage avatar kurtlachmann avatar kemgoblin avatar zachisagardner avatar vpyatnitskiy avatar vlad-zumer avatar ryanabx avatar jogly avatar bitwes avatar wachtel1 avatar anoadragon453 avatar chybby avatar raulsntos avatar rivencode avatar ryan-000 avatar sandygk avatar s7m4b4 avatar tomwyr avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.