Novidades do GoLand

O GoLand 2023.2 oferece integração aprimorada com módulos Go, refatorações para migrar parâmetros de função para receptores de método e vice-versa e suporte para errors.Is e errors.As.

Nesta versão, você também encontrará o novo plug-in AI Assistant, integração com o GitLab e o plug-in Kafka.

Também há melhorias na integração com o Docker e no plug-in para Kubernetes.

Se você prefere uma abordagem de aprendizagem interativa, convidamos você a fazer o tutorial What's New in GoLand 2023.2 na tela Welcome.

Módulos Go

Configurações de módulos Go no GoLand

Opção para baixar módulos automaticamente

Implementamos a capacidade de baixar módulos Go automaticamente no projeto aberto e após cada alteração no arquivo go.mod. Essa funcionalidade é habilitada por padrão, mas você pode desativá-la a qualquer momento em Settings | Go | Go Modules.

Usando a nova correção rápida para atualizar dependências em go.mod

Ações de intenção para atualizar dependências em go.mod

Adicionamos várias ações de intenção e inspeções para ajudar você a atualizar dependências em arquivos go.mod com mais rapidez.

Agora, quando você abre seu arquivo go.mod, o GoLand destaca as dependências desatualizadas. Você pode passar o mouse sobre as versões realçadas de um determinado pacote e usar uma correção rápida para atualizá-lo. Você também pode atualizar todas as dependências para os respectivos patches ou versões principais mais recentes, e há uma opção para atualizar apenas as dependências diretas.

A opção para desabilitar o recurso de vendoring no GoLand

Opção para desabilitar o recurso de vendoring

Agora, você pode desabilitar o recurso de vendoring por projeto, por exemplo, quando tiver um monorepo contendo uma pasta de fornecedor usada por outra linguagem. É possível desabilitar o recurso de vendoring ao criar um novo projeto ou em qualquer outro momento acessando Settings | Go | Go Modules.

Refatorações

Um uso da refatoração "Migrate function parameter to method receiver" no GoLand

Migração de parâmetros de função e receptores de métodos

O GoLand oferece duas novas refatorações: Migrate function parameter to method receiver e Migrate method receiver to function parameter.

A refatoração Migrate function parameter to method receiver pode converter uma função em um método de um tipo. A refatoração Migrate method receiver to function parameter faz o oposto: converte um método de um tipo em uma função.

Tratamento de erros

Agora, o GoLand tem uma solução rápida que sugere a conversão de comparações diretas de erros em usos de errors.Is

Suporte para errors.Is e errors.As

Implementamos duas inspeções que realçarão os casos em que errors.Is ou errors.As devem ser usados. Também há correções rápidas que ajudarão você a refatorar o código existente para os usos de errors.Is ou errors.As.

A primeira inspeção realça as comparações diretas de erros. No Go 1.13 e versões posteriores, erros podem ser agrupados usando a função fmt.Errorf com o verbo %w, e a comparação direta de erros usando a verificação de igualdade pode falhar em erros agrupados.

A maneira preferida de verificar um erro específico é usar a função errors.Is da biblioteca padrão. Agora, o GoLand tem uma solução rápida que sugere a conversão de comparações diretas de erros em usos de errors.Is.

O GoLand agora tem uma correção rápida que sugere a conversão de declarações de tipo de conversão e alternâncias de tipo em erros para usos de errors.As

A segunda inspeção realça declarações de tipo e alternância de tipos em erros, como err.(*MyErr) or switch err.(type), pois eles também podem falhar em erros agrupados.

A maneira preferida no Go 1.13 e versões posteriores é usar errors.As. Nossa nova correção rápida sugere a conversão de declarações de tipo e alternância de tipos em erros para usos de errors.As.

Go 1.21

Suporte para min, max e clear

O GoLand 2023.2 oferece suporte básico para min, max e clear: novas funções introduzidas no Go 1.21.

Melhorias para make

Opções de complementação para o argumento de funções make

Conclusão para argumentos de funções make

Adicionamos a complementação de código com reconhecimento de tipos para invocações de funções make.

Notificação do GoLand para um uso incorreto de uma função make

Verificações para argumentos de funções make

O GoLand agora pode detectar erros e argumentos redundantes em funções make. Há também uma correção rápida para remover argumentos redundantes, que você pode acessar via Alt+Enter como de costume.

Outros recursos relacionados ao Go

O receptor mostrado como o primeiro parâmetro nas sugestões de complementação quando um método é chamado diretamente em um tipo

Sugestão de complementação de tipos de receptores para expressões de método

Quando você chama um método diretamente em um tipo, precisa fornecer o tipo de receptor como o primeiro argumento. Nesses casos, o GoLand agora mostra o receptor como o primeiro parâmetro nas sugestões de complementação.

Mensagem de erro do GoLand para argumentos de tipo ausentes na instanciação de um tipo

Genéricos: mensagem de erro aprimorada para argumentos ausentes

A mensagem de erro para argumentos de tipo ausentes na instanciação de um tipo agora informa explicitamente o que está errado.

A prévia para a ação "Wrap error handling in a closure intention" no GoLand

Prévia da ação de intenção Wrap error handling in a closure

Adicionamos uma prévia para a ação de intenção Wrap error handling in a closure. Você pode desabilitar o recurso de prévia pressionando Ctrl+Q enquanto a lista de ações de intenção estiver aberta e ele permanecerá desabilitado até que você use o mesmo atalho para ativá-lo novamente.

Aviso do GoLand para uma condição redundante em um loop for

Aviso para condições redundantes em loops for

Agora, o GoLand mostra uma mensagem de aviso para condições redundantes em loops for. Há também uma solução rápida para remover a condição redundante.

AI Assistant

As sugestões do plug-in AI Assistant sobre como melhorar o código

AI Assistant Acesso limitado

Com este lançamento, apresentamos uma grande adição ao GoLand – AI Assistant. Com o atual conjunto inicial de recursos que contam com a tecnologia de IA, o AI Assistant oferece chat por IA integrado e pode escrever automaticamente comentários de documentação para você, sugerir nomes, gerar mensagens de commit e muito mais.

O AI Assistant é alimentado pelo serviço JetBrains AI, que pode conectar você ao OpenAI por enquanto e incluirá outros provedores de modelos de linguagem no futuro. Para acessar os recursos de IA do assistente, você precisará instalar o plug-in JetBrains AI e fazer login no serviço JetBrains AI usando sua conta da JetBrains. A disponibilidade do serviço JetBrains AI pode variar inicialmente. Para obter mais informações sobre o AI Assistant e instruções sobre como acessá-lo, consulte esta página.

Docker

Uma visualização do conteúdo de uma camada de imagem do Docker na exibição Services

Visualização de arquivos dentro de camadas de imagens do Docker

Agora, é fácil acessar e visualizar o conteúdo de uma camada de imagem do Docker na janela de ferramentas Services. Selecione a imagem na lista, selecione Show layers e clique em Analyze image for more information. Isso abre uma lista dos arquivos armazenados na camada, a partir da qual você pode abrir facilmente o arquivo selecionado no editor clicando com o botão direito do mouse no arquivo e depois clicando em Open File (ou Download File para binários).

Configurando um container do Docker para ser executado como uma tarefa "Before Launch"

Configure o container do Docker para ser executado como uma tarefa Before Launch para configurações de execução

Agora, é possível definir uma configuração de execução do Docker para ser executada antes de outra configuração, designando-a como uma tarefa Before Launch. O IDE aguardará até que o container em execução no momento se torne íntegro e, em seguida, iniciará a próxima configuração de execução. Para configurar uma fila, primeiro crie uma configuração de execução do Docker obrigatória e, em seguida, adicione-a ao container através de Modify options | Add before launch task | Run configuration.

Plug-in para Kubernetes

Configurações do Kubernetes conforme exibidas no GoLand

Suporte para vários arquivos kubeconfig em um único projeto

Apresentamos um novo recurso que permite configurar vários arquivos kubeconfig em um único projeto. Isso simplifica a experiência de lidar com vários clusters ou trabalhar com ambientes em diferentes clusters no mesmo projeto. Para configurar os arquivos, acesse File | Settings | Build, Execution, Deployment | Kubernetes.

Logs de implantação do Kubernetes conforme exibidos no GoLand

Capacidade de visualizar logs de implantação

Agora, você pode visualizar logs para implantações em clusters do Kubernetes na janela de ferramentas Services. Clique com o botão direito em Deployment na árvore e selecione Follow Log ou Download Log no menu de contexto.

Desempenho

Nova ferramenta para gerar facilmente índices compartilhados

Estamos apresentando uma nova ferramenta de linha de comando para criar e carregar índices compartilhados rapidamente. Ela foi projetada para agilizar o trabalho em equipe e eliminar o desperdício de tempo na indexação local de projetos grandes. A nova ferramenta simplifica o processo de geração de índices compartilhados para sua equipe, exigindo apenas alguns cliques ao invés de vários scripts e serviços.
Saiba mais

Controle de versão

Selecionando linhas para um commit

Opção para fazer o commit de linhas específicas de código

Agora, você pode fazer commit seletivo de partes específicas de trechos de código. Para executar um commit parcial, selecione as linhas desejadas dentro de um bloco e chame Include these lines into commit no menu de contexto. O bloco será dividido em linhas individuais, com as selecionadas em destaque. É possível adicionar ou excluir linhas da seleção usando caixas de seleção ou o menu de contexto.

Integração com o GitLab

A funcionalidade do plug-in para GitLab no GoLand

O GoLand 2023.2 introduz a integração com o GitLab para simplificar seu workflow de desenvolvimento. Agora você pode trabalhar com a funcionalidade Merge Request diretamente do IDE: revise a lista de solicitações, verifique as alterações, deixe comentários e navegue até as telas relevantes.

Plug-in para Kafka

A funcionalidade do plug-in para Kafka no GoLand

Plug-in para Kafka

O novo plug-in para Kafka permite monitorar seus processos de streaming de eventos Kafka. Você pode se conectar a um cluster do Kafka, produzir e consumir mensagens em diferentes formatos, gerenciar tópicos e monitorar grupos de consumidores e usar o Confluent Schema Registry e o AWS Glue Schema Registry. Para encontrar mais detalhes, consulte esta página da documentação.

Experiência do usuário

Selecionando o mapa de teclado do VS Code integrado nas configurações do GoLand

Mapa de teclado do VS Code integrado

Se você está acostumado com o mapa de teclado do VS Code, agora pode escolhê-lo na seção Customize da tela Welcome. Você também pode alterar seu mapa de teclado em Settings | Keymap.

Classificando arquivos por hora de modificação

Classificação de arquivos por hora de modificação na tela Project

O GoLand 2023.2 traz a tão esperada capacidade de organizar seus arquivos na tela Project com base na hora de modificação. Este novo recurso reordena os arquivos automaticamente sempre que forem salvas alterações no seu projeto. Para habilitar esse recurso, abra o menu de três pontos verticais na tela Project e selecione Tree Appearance | Sort by Modification Time.

A opção de fixar uma configuração de execução no GoLand

Configurações de execução afixadas ao widget Run

Para facilitar o gerenciamento de múltiplas configurações de execução, implementamos uma opção para afixar as suas configurações preferidas ao widget Run. Para adicionar uma configuração de execução à seção Pinned, abra o menu de três pontos verticais ao lado do seu nome e selecione Pin. Se você tiver várias configurações afixadas, poderá facilmente rearranjá-las arrastando-as e soltando-as dentro da lista.

Adicionando o botão Update Project à barra de ferramentas principal

Personalização aprimorada da barra de ferramentas principal

Expandimos as opções de personalização para a barra de ferramentas principal da nova UI. Agora, você pode usar um menu suspenso para escolher rapidamente as ações que deseja adicionar à barra de ferramentas. Para fazer isso, clique com o botão direito do mouse em qualquer widget, selecione Add to Main Toolbar e explore as opções disponíveis.

Transformando o menu de hambúrguer em uma barra de ferramentas separada no GoLand no Windows

Menu de hambúrguer reformulado na barra de ferramentas principal no Windows e no Linux

Refinamos o comportamento do menu de hambúrguer, localizado na barra de ferramentas principal da nova interface de usuário no Windows e no Linux. Ao se clicar no ícone do menu, agora os elementos aparecem horizontalmente sobre a barra de ferramentas. Além disso, agora há uma opção para transformar esse menu em uma barra de ferramentas separada, acessível por meio de View | Appearance | Main menu as a Separate Toolbar.

Selecionando a opção "Open Directories with Single Click" nas configurações do GoLand

Navegação com um só clique entre diretórios de projeto

Na exibição Project, há uma nova opção Open Directories with Single Click que torna as ações de expandir e recolher as pastas do projeto mais rápidas e responsivas. A opção está disponível no menu suspenso quando você clica no menu de três pontos verticais.

O pop-up Search Everywhere retornando uma opção de pesquisa de texto

Pesquisa de texto no Search Everywhere

O Search Everywhere (Shift duplo) é usado principalmente para pesquisar arquivos, métodos, ações e configurações. Com esta atualização, ele agora inclui recursos de pesquisa de texto semelhantes a Find in Files. Agora, os resultados de pesquisas de texto são exibidos quando há poucos ou nenhum outro resultado de pesquisa disponível para uma determinada consulta. O recurso está habilitado por padrão e pode ser gerenciado em Settings | Advanced Settings.

Sintaxe realçada na descrição da inspeção

Realce de sintaxe em descrições de inspeção

Em Settings | Editor | Inspections, as amostras de código agora incluem realce de sintaxe, o que torna mais fácil entender o que aciona uma inspeção e se você deseja ativá-la ou não.

Plugins sugeridos na seção Plugins

Plug-ins sugeridos em Settings

Para facilitar a configuração do IDE para seus projetos específicos e estender sua funcionalidade com plug-ins, atualizamos a UI para a seção Settings | Plugins. Ela agora inclui um conjunto de plug-ins sugeridos que são definidos automaticamente com base nas especificações do seu projeto e aparecem no topo da lista.

Interface do usuário

Abra projetos com cabeçalhos de cores diferentes no GoLand

Cabeçalhos de projeto coloridos na nova UI

O GoLand 2023.2 apresenta cabeçalhos coloridos para simplificar a navegação entre vários projetos abertos. Agora, você pode atribuir uma cor e um ícone exclusivos a cada um dos seus projetos, tornando mais fácil diferenciá-los em seu espaço de trabalho.

Os cabeçalhos agora vêm com cores predefinidas por padrão, mas você pode personalizá-los. Para definir uma nova cor para seu projeto, clique com o botão direito do mouse em um cabeçalho e acesse o menu de contexto. Selecione a opção Change Project Color e escolha a cor desejada. Para desativar este recurso, basta desmarcar a opção Show Project Gradient no menu de contexto.

O tema "Light with Light Header" no GoLand

Tema claro com cabeçalho claro na nova interface de usuário

Para a v2023.2, refinamos a experiência do usuário com o tema Light, introduzindo a alternativa Light with Light Header, que apresenta cores claras correspondentes para cabeçalhos de janelas, dicas de ferramentas e balões de notificação.

Janela de ferramentas Services do GoLand com a UI atualizada

UI atualizada para o widget Run/Debug na janela de ferramentas Services

Retrabalhamos a UI para as ações de execução e depuração na janela de ferramentas Services a fim de tornar a aparência da barra de ferramentas consistente com à do widget Run/Debug principal.

GoLand sem o cabeçalho nativo do Linux

Barra de título removida no Linux na nova UI

Para conveniência dos usuários do Linux, o cabeçalho nativo do sistema operacional foi removido na nova UI, resultando em uma interface mais limpa. Por padrão, agora você verá o cabeçalho do IDE personalizado, que oferece uma variedade de opções de personalização para adaptar seu espaço de trabalho.

Cliente HTTP

Complementação de código no cliente HTTP para um esquema Swagger

Suporte para esquemas Swagger e OpenAPI

O cliente HTTP agora é capaz de entender as especificações Swagger e OpenAPI e fornecer opções de complementação de código correspondentes para solicitações JSON.

Código JavaScript sendo importado no cliente HTTP

Suporte para importações de JavaScript

Agora, é possível compartilhar o código JavaScript comum para handlers de solicitações do cliente HTTP através de módulos importados.

Uma visualização de um arquivo PDF no cliente HTTP

Visualizações em PDF e HTML para respostas

O GoLand agora pode exibir visualizações de arquivos PDF e HTML diretamente nos resultados de solicitações no cliente HTTP.

Uma solicitação gRPC com TLS no cliente HTTP

Solicitações gRPC usando TLS no cliente HTTP

Agora, você pode enviar solicitações gRPC via Transport Layer Security (TLS) no cliente HTTP. O TLS fornece criptografia e autenticação, garantindo a confidencialidade e a integridade da sua transmissão de dados. Tanto o esquema https:// quanto o grpcs:// têm suporte na sintaxe da solicitação.

Desenvolvimento Web

Formatação aprimorada do GoLand para erros de TypeScript

Formatação de erros aprimorada

No GoLand 2023.2, os erros e avisos agora serão formatados de maneira mais legível, facilitando a identificação de problemas no seu código. Isso funciona para todos os erros de TypeScript e alguns dos erros de JavaScript mais populares.

Uma inspeção corrigindo o uso de código CSS aninhado no GoLand

Suporte para aninhamento de CSS

O GoLand agora oferece suporte ao recurso CSS Nesting Module. Implementamos suporte de sintaxe e uma inspeção para garantir que o seletor aninhado não comece com um identificador ou uma notação funcional.

Outros

Uma string NO destacada pelo GoLand em um documento YAML

Inspeção do “Norway problem” em arquivos YAML

Introduzimos uma nova inspeção para eliminar o chamado “Norway problem” e evitar a má interpretação não intencional de valores booleanos em arquivos YAML.

Quando uma lista consistir principalmente em strings, mas contiver um literal de tipo booleano, o GoLand realçará esse literal, indicando uma possível inconsistência, e sugerirá adicionar aspas a ele. Se a lista for composta principalmente por literais de tipo booleano (como true, false, off, on, yes, no), qualquer literal que se desviar desse padrão será realçado como um possível erro. No entanto, nenhuma correção rápida específica é sugerida nesse cenário.

A caixa de diálogo Edit Swagger Codegen Configuration reformulada no GoLand

Melhorias no Swagger Codegen

O IDE agora oferece melhor experiência do usuário ao definir as configurações do Swagger Codegen. Reformulamos a caixa de diálogo Edit Swagger Codegen Configuration para facilitar a adaptação da configuração de execução aos seus requisitos.

Executando uma configuração do Swagger Codegen no GoLand

Além disso, agora você pode acessar a configuração de execução do Swagger Codegen diretamente da medianiz sem precisar especificar uma configuração adicional.

Uma visualização do Redoc no GoLand

Visualizações da UI do Redoc para arquivos OpenAPI e Swagger

O GoLand agora oferece suporte a visualizações da UI do Redoc para arquivos de especificações OpenAPI e Swagger, incluindo YAML e arquivos JSON, permitindo que você alterne entre as UIs do Redoc e do Swagger dentro do IDE. Com a integração com o Redocly, você pode acessar o console Try it diretamente do GoLand e usá-lo para definir parâmetros e enviar solicitações para sua API.

O painel Editor Preview junto com endpoints para um esquema AsyncAPI

Suporte para edição de arquivos AsyncAPI

Agora, você pode trabalhar de maneira mais conveniente com o formato de especificação AsyncAPI no GoLand. O IDE oferece suporte à funcionalidade de validação de esquema e fornece complementação de código para referências, a exibição Endpoints e o painel Editor Preview.

API LSP para desenvolvedores de plug-ins

Com este lançamento, introduzimos uma API LSP para desenvolvedores de plug-in que desejam usar um servidor LSP específico para assistência de codificação no IDE. Se você criou sua própria linguagem de programação ou framework, pode obter suporte no IDE criando um servidor LSP e um plug-in.