Current package version: 0.3.1. The autoload check is now path-portable on Windows and POSIX.
Uma extensão VS Code focada numa experiência de edição de GDScript confortável e consciente do projeto, com alvo em Godot 4.7.2-stable.
O que a torna diferente
Autocomplete a partir do teu projeto
A extensão indexa ficheiros .gd, class_name, propriedades, constantes, sinais, enums e funções do projeto. Quando o tipo pode ser identificado, sugere membros dos teus próprios scripts, mesmo sem depender do Language Server do Godot.
Exemplo:
# boss.gd
class_name Boss
extends CharacterBody2D
@export var speed: float = 160.0
var health: int = 100
func take_damage(amount: int) -> void:
health -= amount
# player.gd
@onready var boss = $Boss
func _ready() -> void:
boss. # sugere speed, health, take_damage(), ...
A inferência tenta reconhecer tipos explícitos (var boss: Boss), instanciação (Boss.new()), recursos pré-carregados (preload("res://boss.gd")), autoloads definidos em project.godot e nós referenciados por $Boss / get_node("Boss"), quando a cena associa esse nó a um script. Também inclui membros de scripts base personalizados.
Navegação e fluxo mais agradáveis
- Autocomplete de NodePaths para
$Boss/Child e get_node("Boss/Child"), com nomes/tipos de nós extraídos de cenas .tscn.
- Autocomplete de recursos
res:// para preload(), load() e outras strings de caminhos.
- Sugestões de classes do projeto em anotações de tipo e
extends.
- Hover sobre variáveis reconhecidas, mostrando tipo/script inferido.
- Barra de estado com contagem do índice do projeto e estado da ligação LSP.
- Comandos para reindexar o projeto, consultar o índice e tentar novamente a ligação ao Language Server.
- Snippets de callbacks, ciclos, condições, sinais, tweens, timers, nós e padrões comuns de Godot 4.
Instalação em desenvolvimento
- Extrai a pasta e abre-a no VS Code.
- Executa
npm install.
- Executa
npm run check para validar os manifestos, snippets, parsers de scripts/cenas e sintaxe JavaScript.
- Carrega em
F5 para abrir uma janela Extension Development Host.
- Abre o projeto no Godot Editor e no VS Code.
Para gerar o instalador .vsix:
npm install
npm run check
npx @vscode/vsce package
Depois instala o .vsix com Extensions → ... → Install from VSIX….
Language Server do Godot
A extensão tenta ligar-se ao servidor de linguagem do Godot em 127.0.0.1:6005. O Godot Editor tem de estar aberto com o projeto e o servidor ativo em Editor Settings → Network → Language Server (o caminho exato pode variar por versão). A integração LSP acrescenta as sugestões/diagnósticos/navegação disponibilizadas pelo motor. O índice de projeto e os snippets funcionam independentemente da ligação LSP.
A barra de estado permite tentar novamente a ligação. Abre View → Output → GDScript Godot Tools para consultar informação de diagnóstico.
Comandos
GDScript Godot Tools: Reindex Project
GDScript Godot Tools: Reconnect Godot Language Server
GDScript Godot Tools: Show Project Index Status
Definições
gdscriptGodotTools.languageServer.enabled: ativa/desativa a integração LSP (predefinição true).
gdscriptGodotTools.languageServer.host: host do LSP (predefinição 127.0.0.1).
gdscriptGodotTools.languageServer.port: porta do LSP (predefinição 6005).
gdscriptGodotTools.projectIndex.enabled: ativa/desativa o índice local de scripts/cenas (predefinição true).
gdscriptGodotTools.projectIndex.maxResourceFiles: limite de recursos para autocomplete de res:// (predefinição 2500).
Limitações honestas
O índice de projeto é um analisador estático leve, não um compilador de GDScript. A sugestão customizada é mais fiável quando as variáveis têm tipo explícito, usam class_name, preload() ou apontam para nós com scripts encontrados nas cenas. Tipos dinâmicos, cenas instanciadas muito complexas, classes internas e inferência através de cadeias de chamadas podem não ser resolvidos. Nesses casos, o Language Server do Godot é a fonte principal para completar APIs do motor.
A validação automatizada inclui casos de teste para análise de .gd, .tscn, referências de scripts, caminhos e sintaxe JavaScript. Um teste real de integração requer executar esta extensão numa janela VS Code com o Godot Editor aberto.
Workspace Trust / Restricted Mode
Version 0.3.2 supports VS Code Restricted Mode in a limited way. Project indexing only reads GDScript, scene, and project.godot text files; it does not execute the game project. The Godot Language Server TCP connection is paused until the workspace is trusted. After trusting the workspace, the extension connects automatically.