Novidades do GoLand

O GoLand 2020.2 apresenta novos recursos para Go Modules, novas maneiras de revisar e corrigir problemas no seu código e um conjunto de novas inspeções de código. Além disso, você encontrará novos recursos de edição de código, como o tão esperado recurso Add Caret Per Selected Line, suporte experimental para genéricos, a capacidade de compartilhar código no Go Playground a partir do editor, atualizações para controle de versão, incluindo suporte WSL 2 para o Git no Windows e muito mais!

Prefere aprender interativamente em vez de ler? Complete o tutorial What's New in GoLand 2020.2 dentro do IDE na tela Welcome.

Melhorias no Go Modules

Definir a nova variável de ambiente GOMODCACHE na caixa de diálogo Environment Variables

A partir do Go 1.15, você pode alterar o local padrão do cache dos módulos de $GOPATH/pkg/mod para outra pasta usando a nova variável de ambiente GOMODCACHE.

Para fazer isso, basta definir GOMODCACHE em Preferences/Settings | Go Modules | Environment. O IDE reconhecerá o local personalizado e o usará para todas as ações subsequentes com dependências.

Comentar a dependência do módulo no arquivo go.mod

A ação Comment With Line Comment (Ctrl+/ no Windows/Linux e ⌘/ no macOS) está agora disponível para o arquivo go.mod.

O GoLand completa uma chave de fechamento no arquivo go.mod para a instrução replace

Agora, o Goland adiciona imediatamente uma chave de fechamento quando você digita a chave de abertura para instruções replace, exclude e require.

Obtenha tudo, desde comentários

Navegação do comentário ao código-fonte

O IDE exibe referências de comentários a declarações relacionadas em nível de pacote e permite navegar até elas através da ação Navigate to Declaration or Usages (⌘B no macOS e Ctrl+B/ no Windows/Linux).

Inspeções de código

Navegação por avisos e erros no arquivo por meio do Widget de Inspeções

O novo Widget de Inspeções mostra o número de avisos, erros e erros de digitação no arquivo atual no canto superior direito do editor de código. Você pode navegar por eles usando os ícones de seta ou a ação Next Error (F2).

O widget permite configurar o nível de realce (selecione entre nenhum, apenas erros ou todos os problemas), alterar o nível de gravidade das inspeções e alterná-lo para Compact View, para que ele não distraia você.

Movendo para o erro na exibição Problems e corrigindo-o via Alt+Enter

A janela da ferramenta Problems exibe uma lista de avisos e erros no arquivo atual, fornece uma descrição desses problemas e permite corrigi-los imediatamente usando Alt+Enter.

Para abrir a janela de ferramentas Problems, clique no Widget de Inspeções ou vá para View | Tool Window | Problems. Clique com o botão direito do mouse em um problema para ir diretamente até a linha de código onde ocorreu o erro.

O GoLand alerta sobre um possível problema na conversão e sugere corrigi-lo via Alt+Enter

Uma nova inspeção de código lida com possíveis problemas com as conversões de string(int) que retornam a representação UTF-8 do ponto de código Unicode x em vez da representação esperada da string decimal de x.

O GoLand notifica você sobre esses erros potenciais e fornece correções rápidas dedicadas.

O GoLand alerta sobre um nome de teste incorreto e sugere corrigi-lo via Alt+Enter

O GoLand notificará você sobre usos incorretos comuns de testes e exemplos, para que você não precise mais chamar go vet explicitamente para isso. O IDE também fornece correções rápidas em casos simples; por exemplo, sugere renomear Testme como TestMe.

A inspeção de código "Malformed struct tag" alerta o usuário para um possível problema

A inspeção de código Malformed struct tag verificará se as tags struct estão em conformidade com as convenções Go e notificará você sobre possíveis problemas.

O GoLand alerta o usuário sobre uma afirmação de interface impossível

A inspeção do código Impossible interface type assertion verifica se há asserções de tipo v.(T) e casos type-switch correspondentes em que o tipo estático V de v é uma interface que não pode implementar a interface de destino T.

Isso ocorre quando V e T contêm métodos com o mesmo nome, mas assinaturas diferentes.

Edição de código

Show Context Actions mostra opções possíveis a serem aplicadas

Para visualizar o resultado de uma ação de intenção ou correção rápida antes de aplicá-la ao seu código, chame Show Context Actions com o atalho Alt+Enter, selecione a ação de intenção ou correção rápida necessária e pressione ⌥+Space no macOS ou Ctrl+Shift+I no Windows e Linux.

A ação Add Caret Per Selected Line cria sinais de intercalação no final de cada linha selecionada

A nova ação Add Caret Per Selected Line cria sinais de intercalação no final de cada linha selecionada e desmarca as linhas. Chame-a usando o atalho Alt+Shift+G no Windows/Linux ou ⌥⇧G no macOS.

A ação de intenção "Put arguments on one line" divide uma expressão em linhas separadas

Configure o agrupamento para argumentos de chamada, parâmetros de função e elementos literais compostos em Preferences/Settings | Editor | Code Style | Go | Wrapping and Braces.

Alternativamente, você pode usar as ações de intenção Put arguments on separate lines e Put arguments on one line usando Alt+Enter para dividir e unir elementos manualmente.

Assuma o controle de argumentos variádicos

A refatoração Inline Variable descompacta uma fatia em argumentos variádicos

A refatoração Introduce Variable (Ctrl+Alt+V no Windows e Linux ou ⌘⌥ V no macOS) pode incluir alguns argumentos variádicos em um nova variável de fatia, enquanto Inline Variable (⌥⌘N no macOS e Ctrl+Alt+N no Linux e Windows), por outro lado, descompacta um fatia em argumentos variádicos.

A correção rápida "Unpack slice" em ação

Além disso, agora você pode lidar com problemas com argumentos variádicos descompactados por meio da correção rápida Unpack slice.

Salvar projetos como modelos

Janela de ferramentas Save Project as Template

Agora, você pode reutilizar projetos ou arquivos salvando-os como modelos de projetos personalizados: selecione Tools | Save Project as Template. O IDE recriará a árvore do projeto com arquivos, pastas e configurações de compilação.

Go Playground

Ação "Share in Playground" no menu suspenso

Agora, você pode compartilhar e executar o código no Go Playground clicando duas vezes dentro do editor. Basta escolher Go Tools | Share in Playground no menu suspenso ou Tools | Go Tools | Share in Playground, ou você pode pressionar ⌥⇧⌘S no macOS ou Ctrl+Alt+Shift+S no Windows/Linux.

Isso também funciona para arquivos go2 a serem executados com genéricos. Nesse caso, o GoLand levará você até o novo https://go2goplay.golang.org/.

Genéricos, também conhecidos como parâmetros de tipo

Arquivos go2 são abertos no editor com realce de sintaxe e resolução de referência básica

A Equipe do Go anunciou recentemente um design preliminar para genéricos. Visite a documentação do Golang para obter detalhes completos do conceito.

O GoLand 2020.2 fornece suporte experimental para genéricos com os quais você poderá trabalhar se ativar a configuração Enable experimental support for generics a.k.a. type parameters em Settings/Preferences | Go.

Esse suporte inicial fornece realce de sintaxe e resolução básica de referência e funciona apenas em arquivos go2.

Detalhes internos

Sincronizar dependência via Alt+Enter

Com o modo de fornecimento ativado, você cria seu aplicativo com apenas os pacotes de dependência armazenados na pasta Vendor do seu projeto.

Agora, se um projeto tiver uma pasta de Vendor e você tiver marcado a configuração "Enable vendoring mode automatically" em Settings/Preferences | Go | Go Modules, a operação resolve usará apenas a pasta vendor/ e não consultará o cache de módulos.

O GoLand mostra o progresso de "go list" na barra de progresso

O GoLand executa comandos go list sequencialmente e fornece uma barra de progresso com informações sobre o número real de comandos "go list" na fila.

Controle de versão

Suporte WSL2 para Git no Windows

Suporte WSL2 para Git no Windows

O GoLand 2020.2 permitirá que você use o Git do WSL2, que está disponível nativamente na atualização de maio do Windows 10, versão 2004. Se o Git não estiver instalado no Windows, o GoLand procurará automaticamente o Git no WSL e o utilizará de lá. Ele também mudará automaticamente para o Git do WSL para projetos abertos a partir do WSL (via \wsl$ path).

Caixas de diálogos de ação do Git aprimoradas

Caixas de diálogos de ação do Git aprimoradas

Redesenhamos as caixas de diálogo do Git para ações como Merge, Pull e Rebase, para torná-los mais consistentes e informativos. Também facilitamos a compreensão de qual comando do Git será executado e adicionamos a opção –rebase à caixa de diálogo Pull e a opção –no-verify à caixa de diálogo Merge.

Iniciar uma revisão com uma ação de comentário

Suporte completo para pull requests do GitHub

GitHub Pull Requests estão totalmente equipados! Você pode procurar, atribuir, gerenciar e até mesmo mesclar solicitações pull, exibir a linha do tempo e comentários embutidos, enviar comentários e revisões e aceitar alterações sem sair do GoLand.

Apresentação aprimorada dos resultados de comparação de branches

Apresentação aprimorada dos resultados de comparação de branches

Agora, quando você estiver comparando dois branches no GoLand, poderá ver as submissões dos branches comparados em uma única exibição. O IDE agora abrirá os logs de ambos os branches comparados no editor, em vez de na janela de ferramentas VCS, onde não há espaço suficiente para exibir todas as informações.

Atualizações de bancos de dados

Editor separado para valores de células

Editor separado para valores de células

Agora, se você tiver um valor enorme na sua célula, ele poderá ser visualizado ou editado em um painel separado. Também é possível alternar o modo de quebra automática de linha usando a barra de ferramentas à direita. Use todo o poder do nosso editor de código para os seus dados!

Visualização DML no editor de dados

Visualização DML no editor de dados

Começando com esta versão, você pode revisar a consulta que representa suas alterações no editor de dados. Agora existe um botão DML que ficará ativo se houver alterações pendentes.

E você verá uma caixa de diálogo com a visualização DML. Essa consulta não é o SQL exato que será executado para modificar seus dados, pois o GoLand usa um driver JDBC para atualizar tabelas, mas, na maioria das vezes, será o mesmo.

Uma nova interface do usuário para valores booleanos

Uma nova interface do usuário para valores booleanos

Agora, existe uma maneira mais amigável de visualizar e editar valores booleanos. Agora, os valores "True" estão indicados com um marcador para diferenciá-los de todos os outros.

Assistência de codificação para o dialeto Google BigQuery

Dialeto do Google BigQuery

Adicionamos um novo dialeto SQL: Google BigQuery. O suporte total para o BigQuery ainda não está aqui, mas tudo deve começar em algum lugar. O GoLand poderá realçar e fornecer assistência de codificação corretamente para suas consultas se você usar o Google BigQuery.

JavaScript e TypeScript

Novas intenções inteligentes

Novas intenções inteligentes (Alt+Enter) ajudarão você a executar algumas ações com mais rapidez. Por exemplo, agora, você pode converter rapidamente um loop for com um índice numérico em um método de array forEach. Examinar os comentários da documentação nos arquivos JavaScript e TypeScript também ficou mais fácil, pois agora você pode renderizá-los direita no editor, minimizando todas as distrações.