Novidades do GoLand 2024.1

O GoLand 2024.1 vem com vários acréscimos significativos:

  • Foi implementada a complementação de código em linha inteira: agora a complementação por IA executada localmente através de LLMs está disponível gratuitamente para todos os usuários do GoLand.
  • Houve melhorias significativas de desempenho na indexação e no realce.
  • Refinamos o AI Assistant e implementamos atualizações nele, incluindo mais opções de complementação de código e geração de documentação.
  • O suporte a dev containers saiu da fase de acesso antecipado e traz alguns novos recursos empolgantes nesta versão.
  • Foi adicionado o suporte às atualizações do Go 1.22.

Esta nova versão também vem com várias melhorias na experiência do usuário e nas ferramentas internas. Vamos mergulhar!

Complementação de código em linhas inteiras

O GoLand 2024.1 introduz a complementação de código em linhas inteiras, um novo recurso que complementa automaticamente linhas inteiras de código, usando modelos de aprendizado profundo executados localmente e sensíveis ao contexto. Ele ajuda a aumentar a velocidade e a eficiência da programação, trabalhando localmente no seu dispositivo, sem enviar nenhum dado a servidores externos. Este recurso já vem disponível para todos os usuários do GoLand 2024.1. É a maneira perfeita de ter um gostinho da experiência de IA! Ficou curioso? Leia mais na nossa postagem específica no blog!

Você pode controlar este recurso e especificar as linguagens para as quais você gostaria de obter sugestões para linhas inteiras em Settings | Editor | General | Code Completion | Machine Learning-Assisted Completion.

Melhorias de desempenho

Maior desempenho na indexação

Agora a indexação ficou significativamente mais rápida no GoLand. Observamos ganhos de velocidade de cerca de 30%, em média. Naturalmente, os resultados no mundo real variarão para cada usuário, dependendo das características específicas dos seus projetos e do hardware. Fique à vontade para compartilhar conosco as suas medições de resultados! Veja uma ilustração da indexação usando o framework Gin:

Mais realce durante a indexação

Com esta melhoria, agora o realce funciona para as referências desde a inicialização do IDE! Como é preciso ver para crer, convidamos você a dar uma olhada nestes exemplos com os seus próprios olhos.

AI Assistant

A JetBrains continua trabalhando no AI Assistant para oferecer mais recursos e ações valiosos. Nesta versão, o GoLand traz duas melhorias aos nossos recursos já existentes de IA. Experimente-as!

Complementação baseada na nuvem para structs e interfaces

A complementação in-line de blocos de funções e métodos foi introduzida na versão 2023.3. Na versão 2024.1, ela também será habilitada para declarações de estrutura e interface. Quando a complementação de código oferecer uma sugestão dentro de uma declaração de tipo, ela levará em consideração o contexto daquele uso, juntamente com a estrutura-pai e as referências. Isso melhora a relevância das sugestões baseadas em IA.

Geração de documentação para campos de structs e métodos de interface

Agora o GoLand gera documentação para tipos, métodos de interface e campos de struct inteiros. Para gerar a documentação, posicione o cursor em qualquer lugar da definição de um campo e selecione a ação de IA Write Documentation. Você também pode começar digitando // antes da definição do campo para acionar a sugestão.

Agora os usuários podem personalizar os prompts de certas ações de IA, como gerar mensagens de commit. Isso permite resultados mais personalizados e sob medida.

A partir da versão 2024.1, você pode exportar arquivos contendo trechos de código gerado pelo chat de IA. Você também pode anexar arquivos para fornecer mais contexto ao fazer perguntas no chat.

Desenvolvimento remoto

Na versão 2024.1, o IDE oferece uma melhor experiência de desenvolvimento em cenários remotos: agora o realce, a renderização e a suavidade em geral do desenvolvimento remoto estão próximos à sensação da programação local. Você pode constatar como o realce e a complementação estão quase tão rápidos na nuvem quanto em bases de código locais.

Além disso, agora os usuários podem gerenciar projetos remotos diretamente do cliente do IDE, além de criar novos projetos remotos e abrir projetos já existentes.

Dev containers

Agora os usuários podem executar dev containers a partir da tela de Boas-vindas (a partir do seu disco local ou VCS). Antes, era necessário primeiro abrir o projeto.

Agora os dev containers vêm com modelos de arquivos de todas as linguagens de programação populares.

Foram adicionados parâmetros que permitem que os usuários configurem seu IDE de back-end da JetBrains (por exemplo, o GoLand ou o CLion) diretamente no arquivo devcontainer.json.

No GoLand 2024.1, os arquivos devcontainer.json são reconhecidos, não importando onde no projeto eles estejam armazenados. Antes, era obrigatório armazená-los na pasta ~/.devcontainer.

Suporte às atualizações do Go 1.22

A linguagem Go está em constante evolução e tentamos oferecer suporte a todos os novos recursos da linguagem o mais rapidamente possível.

Suporte a range em inteiros e funções

O Go 1.22 traz a capacidade de fácil iteração em inteiros e funções, de uma maneira mais concisa que usando o clássico loop com for.

Suporte a vendoring em espaços de trabalho do Go

O vendoring dá a você mais controle sobre as dependências usadas no seu projeto, permitindo que você as armazene no repositório do projeto. No Go 1.22, comandos em espaços de trabalho podem usar uma pasta vendor que contenha as dependências do espaço de trabalho. Agora o GoLand tem suporte a essa melhoria.

Atualização da análise do fluxo de dados (DFA)

A análise do fluxo de dados foi introduzida no GoLand 2023.3. Agora, na versão 2024.1, esse recurso já está refinado o suficiente para ficar ativo como padrão. No momento, a DFA do GoLand oferece suporte a três inspeções: Constant conditions detection, Potential nil dereference e Error may be not nil. Leia mais sobre esses recursos na nossa postagem no blog.

Melhor suporte ao Terraform

Introduzimos melhorias significativas no nosso suporte ao desenvolvimento de infraestrutura como código com o Terraform, visando desenvolvedores, engenheiros de confiabilidade de instalações (SREs) e especialistas em DevOps. Esta atualização inclui diversos novos recursos e melhorias para simplificar o processo de criar, gerenciar e escalonar a sua infraestrutura.

Sugestão de executar o terraform init

Para inicializar o diretório de trabalho com os arquivos de código do Terraform, é preciso primeiro executar o terraform init. Isso costuma ser ignorado, levando a mensagens de erro do próprio Terraform, além de complementação incompleta do código e exibição apenas parcial da documentação. Para evitar isso, agora o IDE sugere explicitamente a execução do terraform init.

Suporte a provedores de terceiros a partir do Terraform Registry

Agora o plug-in do Terraform oferece capacidades de complementação de código ampliadas para mais de 3.900 provedores de terceiros para o Terraform, facilitando que os desenvolvedores escrevam código de forma eficiente. Além disso, você encontra a documentação mais recente para cada um desses provedores, juntamente com suas versões específicas, diretamente dentro do IDE.

Isso permite que você explore novos provedores do Terraform e aprenda seus recursos mais rapidamente — tudo sem sair do IDE.

Suporte à linguagem de modelos (tftpl) do Terraform

Temos o prazer de lançar o suporte à linguagem de modelos (tftpl) do Terraform, melhorando o seu fluxo de trabalho com arquivos de configuração, scripts ou qualquer código de programa, incluindo configurações de servidores Web, redes e serviços. Agora ficou mais fácil usar templates! Agora você pode preencher valores nos seus templates em tempo de execução, otimizando o processo de renderização de templates para usos específicos.

A linguagem de templates do Terraform não apenas dá suporte à modelagem de variáveis e elementos de fluxo de controle, mas também abrange listas e mapas, além da capacidade de gerar os formatos JSON e YAML.

Experiência do usuário e outros recursos

Novo terminal

O GoLand 2024.1 vem com um terminal reformulado, que incorpora melhorias tanto visuais quanto funcionais, para tornar as tarefas baseadas no terminal mais simples e convenientes. Ele oferece um histórico conveniente, fácil navegação entre blocos e dicas para todos os comandos disponíveis.

A nova janela de ferramentas Terminal integra-se de forma transparente à nova interface de usuário, combinando com a aparência atualizada do IDE e também oferecendo um recurso de complementação com suporte a comandos, caminhos, argumentos e opções. Para mais detalhes, veja nossa postagem específica no blog.

Opção para diminuir a ampliação de todo o IDE

O GoLand 2024.1 traz a opção de diminuir a ampliação de todo o IDE. Antes, a faixa de ampliação incluía apenas a opção de ampliar para entre 100% e 200%. Na versão atual, você também pode diminuir a ampliação do IDE para 90%, 80% ou 70%.

Linhas fixas no editor

Para simplificar o trabalho com arquivos grandes e a exploração de novas bases de código, introduzimos linhas fixas no editor. Este recurso mantém elementos estruturais importantes, como os inícios de classes e métodos, fixados no alto do editor enquanto você rola o código. Assim, os escopos ficam sempre à vista e você pode navegar imediatamente pelo código clicando numa linha fixa.

Atualizações de VCS

Revisão de código dentro do editor

Agora o GoLand vem com um fluxo de trabalho de revisão de código mais otimizado e ágil, tanto para usuários do GitHub quanto do GitLab. Agora, autores e revisores podem interagir de forma transparente diretamente dentro do editor, graças à implementação do novo modo de revisão. Saiba mais.

Status das verificações de CI na janela de ferramentas Git

Introduzimos uma nova coluna na aba Log da janela de ferramentas Git, permitindo que você revise facilmente os resultados das verificações de commit no GitHub efetuadas pelo seu sistema de CI. Basta clicar na aba para visualizar todos os detalhes das verificações de CI.

Indicadores visuais de atualizações pendentes no GitHub

Introduzimos indicadores visuais para alertar sobre atualizações pendentes no seu fluxo de trabalho de revisão de código. Quando houver alterações que precisem da sua atenção, aparecerá uma marca na forma de um ponto azul no ícone da janela de ferramentas. Além disso, solicitações de pull não vistas também serão marcadas com um ponto azul, garantindo que você não deixe passar atualizações no seu processo de revisão de código.

Melhorias para a Web e bancos de dados

O GoLand herda as atualizações dos IDEs WebStorm e DataGrip. Está interessado em atualizações e recursos para o desenvolvimento para a Web e o trabalho com bancos de dados? Não deixe de conferir!