LSP e Autocomplete
Autocomplete e LSP no Editor
Para melhorar a experiência de desenvolvimento dos scripts Lua, você pode configurar o Language Server Protocol (LSP) no seu editor. Isso permite funcionalidades como autocomplete, verificação de tipos e documentação inline.
Pré-requisito: Instalar o Lua Language Server
Instale o Lua Language Server no seu editor:
- Link oficial: https://luals.github.io
- Repositório GitHub: https://github.com/LuaLS/lua-language-server
Como Usar no Seu Script
No início do seu script, adicione:
if false then
require("definitions")
end
Por que
if false? Esta condição garante que o código nunca será executado no dispositivo, mas o LSP do seu editor ainda consegue ler e processar as definições de tipo. Dessa forma, você obtém autocomplete sem carregar arquivos desnecessários no dispositivo.
Benefícios
- Autocomplete inteligente - Sugestões de métodos e propriedades enquanto você digita
- Verificação de tipos - Alertas sobre uso incorreto de funções
- Documentação inline - Descrições dos parâmetros ao passar o mouse
- Detecção de erros - Avisos sobre variáveis não declaradas
- Navegação - Ir para definição de funções
Exemplo de Uso
-- Ativa o LSP (não é executado no dispositivo)
if false then
require("definitions")
end
-- Agora você tem autocomplete completo!
EventBus.subscribe(EventBus.EventType.DEVICE_STATE_CHANGE, 0, function(event)
local flowSensor = Sensor.get(0)
if flowSensor == nil then
Log.error("Sensor não encontrado")
return
end
-- Autocomplete mostra todos os métodos disponíveis
if event.value == 1 then
flowSensor:resume() -- ✓ Sugestão automática
flowSensor:resetTimer() -- ✓ Verificação de tipo
else
flowSensor:pause()
end
end)
Dica
O arquivo definitions.lua está em spiffs_data/definitions.lua e é automaticamente filtrado durante a execução no dispositivo.