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.
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.
A ação Comment With Line Comment (Ctrl+/ no Windows/Linux e ⌘/ no macOS) está agora disponível para o arquivo go.mod
.
Agora, o Goland adiciona imediatamente uma chave de fechamento quando você digita a chave de abertura para instruções replace, exclude e require.
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).
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ê.
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.
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 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 verificará se as tags struct estão em conformidade com as convenções Go e notificará você sobre possíveis problemas.
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.
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 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.
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.
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.
Além disso, agora você pode lidar com problemas com argumentos variádicos descompactados por meio da correção rápida Unpack slice.
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.
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/.
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.
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 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.
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
).
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.
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.
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.
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!
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.
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.
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.
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.