2025-08-21 18:05:23 +02:00
2025-08-21 16:55:14 +02:00
2025-08-21 17:55:46 +02:00
2025-08-20 17:19:02 +02:00
2025-08-18 12:14:54 +02:00
2025-08-18 12:14:54 +02:00
2025-08-21 18:05:23 +02:00

godotdev.nvim

Batteries-included Neovim plugin for Godot game development, using Neovim as an external editor. Provides LSP support for GDScript and Godot shaders, DAP debugging, and Treesitter syntax highlighting.

Features

  • Connect to Godot editor LSP over TCP (127.0.0.1:6005 by default)
  • Full GDScript language support
  • .gdshader syntax highlighting via Treesitter
  • Debug GDScript with nvim-dap (127.0.0.1:6006 by default)
  • Keymaps for common LSP actions
  • Batteries included: everything you need for Godot development in Neovim

Requirements

  • Neovim 0.9+
  • Godot 4.x+ with TCP LSP enabled
  • nvim-lspconfig
  • nvim-dap and nvim-dap-ui for debugging
  • nvim-treesitter
  • Windows users must have ncat in PATH

Installation (Lazy.nvim)

{
  'Mathijs-Bakker/godotdev.nvim',
  lazy = false,
  dependencies = { 'nvim-lspconfig', 'nvim-dap', 'nvim-dap-ui', 'nvim-treesitter' },
  config = function()
    require("godotdev").setup()
  end,
}

Quickstart

  1. Open your Godot project in Neovim
  2. Start Godot editor with TCP LSP enabled (Editor Settings → Network → Enable TCP LSP server)
  3. Open a .gd or .gdshader file
  4. LSP will automatically attach
  5. Use rn to rename, gd to go to definition, gr for references, etc.
  6. Start debugging with DAP (Launch scene configuration)

Configuration

Optional settings

require("godotdev").setup({
  editor_host = "127.0.0.1", -- Godot editor host
  editor_port = 6005,        -- LSP port
  debug_port = 6006,         -- DAP port
})

Optimize Godot editor for Neovim

Below are the recommended settings for configuring the Godot editor for optimal integration with Neovim as your external editor. To access these settings, make sure that the Advanced Settings switch is enabled at the top of the Editor Settings dialog.

  • Editor Settings > Text Editor > Behavior > **Auto Reload Scripts on External Change**
  • Editor Settings > Interface > Editor > **Save on Focus Loss**
  • Editor Settings > Interface > Editor > **Import Resources When Unfocused**

Keymaps

LSP

  • gd → Go to definition
  • gD → Go to declaration
  • gy → Type definition
  • gi → Go to implementation
  • gr → List references
  • K → Hover
  • <C-k> → Signature help
  • <leader>rn → Rename symbol
  • <leader>ca → Code action
  • <leader>f → Format buffer
  • gl → Show diagnostics
  • [d / ]d → Previous/next diagnostic

DAP

  • F5 -> Continue/Start
  • F10 -> Step over
  • F11 -> Step into
  • F12 -> Step out
  • <leader>db -> Toggle Breakpoint
  • <leader>dB -> Conditional breakpoint

DAP UI

  • <leader>du -> , Toggle UI
  • <leader>dr -> , Open REPL

License

MIT

Description
[FORK] of Mathijs-Bakker/godotdev.nvim with some patches
https://github.com/Mathijs-Bakker/godotdev.nvim
Readme 367 KiB
Languages
Lua 84.7%
Scheme 15.3%