O GoLand 2025.2 apresenta atualizações para trabalhar com servidores HTTP, inspeções mais inteligentes com análise de fluxo de dados e uma nova tela de boas-vindas não bloqueante. Este lançamento também traz melhorias significativas na qualidade do suporte ao golangci-lint, incluindo a versão 2, tornando a integração mais robusta para a análise de código em tempo real. Vamos examinar melhor as novidades.
nil
O GoLand 2025.2 introduz a análise de desreferenciamento interprocedimental de nil para auxiliar na identificação precoce de possíveis problemas com nil, diretamente no editor e sem interromper o workflow. Essa análise compreende como os valores nil podem fluir pelo seu código em chamadas de função, arquivos e pacotes, ajudando a identificar operações de ponteiro inseguras antes que elas causem erros.
Você verá dicas de nulidade para parâmetros na janela pop-up da documentação rápida, avisos para possíveis desreferenciamento no editor e uma aba dedicada Go Data flow analysis na janela de ferramentas Problems, que explica exatamente como o valor nil flui pelo seu código.
A tela de boas-vindas agora é aberta em uma aba, permitindo que você acesse ferramentas como o terminal, o Kubernetes, o cliente HTTP, o Docker e bancos de dados imediatamente, sem precisar abrir um projeto. Também é possível criar e trabalhar com arquivos independentes sem abrir uma pasta ou configurar um projeto.
Agora a janela de ferramentas Endpoints tem suporte total à nova sintaxe de padrões em net/http.ServeMux, incluindo rotas baseadas em métodos e caracteres-curinga, como GET /task/{id}/. Ela também exibe os métodos HTTP ao lado de cada endpoint, tornando a lista mais clara e fácil de trabalhar.
A detecção do método HTTP e a complementação automática foram aprimoradas para facilitar a geração de solicitações a partir de declarações de endpoints. Isso funciona com manipuladores definidos usando o pacote padrão net/http, bem como Chi, Gin e Gorilla. O GoLand agora consegue derivar o método HTTP a partir de:
r.GET("/path", handler))http.HandleFunc(“POST /item”, handler)) r.Method(“DELETE”, “/item”, handler)).Methods(...) (por exemplo, r.HandleFunc(“/item”, handler).Methods(“PUT”)) Esta atualização também inclui melhorias na resolução de autoridade para Gin e http.Server, juntamente com uma refatoração geral para facilitar a extensão do recurso.