Novidades do GoLand

O GoLand 2021.2 apresenta novos recursos para módulos Go, uma nova opção para formatação e suporte para os recursos do Go 1.17. Adicionamos novas correções rápidas, incluindo uma que ajudará você a usar a nova sintaxe //go:build corretamente.

O controle de versão foi atualizado, e as melhorias incluem a capacidade de assinar submissões com chaves GPG. Para desenvolvedores da Web, adicionamos o recarregamento automático de páginas nos navegadores quando o código é salvo, e há complementação para campos e operadores do MongoDB.

Prefere uma abordagem mais interativa para saber mais sobre esses novos recursos no GoLand? Conclua o tutorial What's New in GoLand 2021.2 na tela Welcome. Lá, você também encontrará o nosso novo Onboarding Tour. Esse tour pode ajudar qualquer pessoa sem experiência com o GoLand a se familiarizar com a ferramenta rapidamente.

Módulos Go

Configurações em que você pode controlar como o GoLand carrega alterações em arquivos go.mod

Carregar alterações em go.mod manualmente

No GoLand 2021.2, é possível controlar como o IDE faz chamadas para go list quando você edita go.mod. Também é possível carregar alterações no arquivo go.mod manualmente.

Acesse Settings | Build, Execution, Deployment | Build Tools e selecione a opção External changes. O GoLand deixará de fazer chamadas para go list automaticamente quando você editar arquivos dentro do IDE.

Carregamento de alterações no go.mod manualmente pressionando o ícone dedicado

Em vez disso, você verá um ícone Load Go modules Changes, no qual pode clicar para carregar manualmente as alterações quando terminar de editar.

Se desmarcar a caixa de seleção Reload project after changes in the build scripts, você verá o ícone Load Go modules Changes em todos os tipos de alterações, tanto externas quanto internas.

Usando uma correção rápida para alterar a versão do Go

Melhor suporte para diferentes versões do Go

O GoLand exibirá um erro se você estiver usando recursos de uma versão do Go mais recente do que a especificada no seu arquivo go.mod. Para literais numéricos e instruções //go:embed, está disponível uma correção rápida que alterará a versão do Go em go.mod.

Opções renomeadas para projetos na tela de boas-vindas

Módulos Go for Go

A opção do Go na tela Welcome agora é a opção padrão para projetos de módulos Go. Também renomeamos projetos baseados em GOPATH para Go (GOPATH).

Fazendo download de dependências não utilizadas

Lidando com dependências não utilizadas

Dependências não utilizadas em diretivas replace agora são realçadas em cinza. Isso ajudará a diferenciá-las de erros. Se você passar o mouse sobre uma das linhas cinzas, verá uma mensagem "Unused dependency".

Se precisar baixar os módulos não usados, pressione Alt+Enter e escolha a opção Download all modules to the module cache. Você também pode baixar módulos individuais.

Formatador

Habilitar a opção "Run gofmt on code reformat" em "Settings"

Neste lançamento, apresentamos a opção Run gofmt on code reformat. Este é o primeiro passo para tornar o gofmt mais detectável no GoLand, que tem seu próprio formatador.

Quando essa opção está marcada, você pode chamar ambos os formatadores com um atalho, Ctrl+Alt+L, e o gofmt será executado após o formatador do GoLand.

Essa opção está habilitada por padrão e pode ser alternada em Settings | Editor | Code Style | Go.

Mais correções rápidas

Movendo linhas go-build para o topo do arquivo

Suporte para a nova formatação de restrições //go:build

O GoLand tem algumas novas correções rápidas para ajudar você a usar corretamente as antigas restrições // +build e a nova sintaxe //go:build.

A primeira correção rápida moverá as linhas //go:build para o topo do arquivo, conforme a nova sintaxe exigir.

E, como no Go 1.16 você pode usar a sintaxe antiga ou as duas juntas, há uma correção rápida para gerar linhas // +build além de linhas //go:build.

Habilitando o suporte para cgo com um único clique

Habilitar o suporte para cgo com um único clique

Se você importou um pacote "C", mas se esqueceu de habilitar o suporte para cgo nas configurações do projeto, o GoLand exibirá um banner com a correção rápida Enable cgo support.

Existe também a opção Navigate to cgo import, que colocará o cursor no início do nome do pacote. Isso pode ajudar você a encontrar a instrução import em um projeto grande.

Depurador

Usando o modo de visualização durante a depuração

O modo Preview agora funciona quando você depura sua aplicação. Ele permite que você abra os arquivos sucessivamente em uma única guia, o que ajuda a evitar entupir o editor com vários arquivos abertos em guias separadas.

Para habilitar o modo Preview durante a depuração, acesse Settings | Editor | General | Editor Tabs e marque a caixa de seleção Enable preview tab.

Go 1.17

Convertendo uma fatia em um ponteiro de array

No Go 1.17, é possível converter uma fatia em um ponteiro de array. O GoLand não marca essas conversões como erros. Para experimentar os recursos do Go 1.17, altere GOROOT para "Go 1.17" em Settings | Go.

Navegação rápida

Navegando até uma implementação de uma interface contida na pasta interna

Começando com este lançamento, é possível usar o recurso Navigate to implementations para navegar até implementações das interfaces contidas na pasta internal. Clique na medianiz para saltar até as implementações. Você também pode retornar à interface a partir de suas implementações.

Atualizações no VCS

Configurando uma assinatura do GPG no GoLand

Assinatura GPG

O GoLand 2021.2 permite que você assine submissões com uma chave GPG para protegê-las. Esse recurso pode ser habilitado em Settings | Version Control | Git.

If this is your first time using a GPG key, you’ll first need to configure it. Se você tiver uma chave GPG pré-configurada, basta selecioná-la na lista suspensa.

Configurando opções em verificações de pré-submissão

Novas opções em verificações de pré-confirmação

Agora, você pode Executar testes e Analisar código antes de submeter suas alterações. Acesse Settings | Version Control | Commit | Before commit ou clique no ícone de engrenagem na exibição Commit.

Lembre-se de que a opção Run tests apenas estará disponível se você marcar a caixa Use non-modal commit interface na em Settings | Version Control | Commit.

Usando um campo de pesquisa no menu de histórico local

Novo campo de pesquisa no menu de histórico local

Adicionamos um novo campo de pesquisa ao menu Local History, que acompanha alterações independentemente do controle de versão. Ele pode ajudar a localizar rapidamente o texto que você está procurando nas suas revisões de Local History. Para experimentar, clique com o botão direito do mouse no arquivo e acesse Local History | Show History.

Observe que o menu Local History não deve ser usado como substituto para o VCS. Recomendamos fazer do VCS sua escolha padrão para controlar alterações e usar Local History como último recurso.

O nó que armazena alterações não submetidas agora se chama "Changes"

"Changes" em vez de "Default Changelist"

Temos um novo nome para o nó que armazena todas as alterações não submetidas. Antes, ele se chamava "Default Changelist" e, agora, se chama "Changes". Essa atualização estará disponível por padrão em todos os novos projetos. Além disso, as operações do Git não acionarão mais a criação automática de listas de alterações.

Melhorias na interface do usuário

A exibição para projetos anexados no GoLand

Melhor exibição de projetos anexados

Alteramos a forma como os projetos anexados são representados na exibição Project. Eles costumavam ser representados como diretórios filho do projeto existente. Agora, os projetos anexados aparecem na exibição Project como diretórios separados.

Novo nó de configurações avançadas e setas de navegação

Configurações avançadas e setas de navegação

Adicionamos um novo nó Advanced Settings em Settings. Ele contém opções de configuração adicionais, permitindo que você, por exemplo, configure uma margem esquerda para o Modo sem distrações.

Também há uma nova opção de navegação em Settings. Agora, você pode navegar para frente e para trás entre seções usando as setas no canto superior direito da janela.

Notificação do GoLand de que é hora de atualizar

Notificações de atualizações pelo JetBrains Toolbox App

O GoLand informará você quando uma nova versão estiver disponível e oferecerá a opção de atualizar para a nova versão diretamente do IDE. Para usar esse recurso, você precisa ter o JetBrains Toolbox App versão 1.20.8804 ou posterior.

Alterando a forma do cursor nas configurações

Novas opções de terminal

Agora, você pode alterar a forma do cursor no terminal incorporado para sublinhado ou vertical acessando Settings | Tools | Terminal.

Também há uma alteração nas configurações do Terminal. Agora, oferecemos suporte para a configuração Use Option as Meta key. Uma metatecla modifica temporariamente a ação normal de outra tecla quando elas são pressionadas juntas. Usar uma metatecla pode ser útil quando você usa muito o terminal.

Alterando o ícone do projeto

Nova janela para alterar o ícone do projeto

Simplificamos a caixa de diálogo que permite personalizar o ícone do seu projeto na lista de projetos da tela Welcome. Para carregar um ícone personalizado, basta clicar com o botão direito do mouse em um projeto e selecionar Choose project icon no menu de contexto.

Desenvolvimento Web

Uma página sendo atualizada em um navegador quando o código é salvo

Recarregar páginas no navegador ao salvar

Agora, o GoLand pode atualizar a página em um navegador enquanto você edita e salva arquivos HTML, CSS e JavaScript.

O recarregamento da página ao salvar está ativado por padrão. Você pode alterná-lo em Settings | Build, Execution, Deployment | Debugger | Built-in Server.

Renomeando hooks React

Refatoração para renomear em hooks useState do React

Agora, Refactoring funciona para valores e funções useState em hooks React. Basta colocar o cursor em um valor de estado e chamar a refatoração Rename com Shift+F6 ou acessando Refactor | Rename no menu de contexto com o botão direito.

O GoLand adiciona uma instrução "require" ausente

Importação automática para require()

O GoLand pode adicionar instruções de importação ausentes conforme você complementa símbolos ES6 e agora pode fazer o mesmo para módulos CommonJS. As importações require() serão inseridas em Code completion.

O GoLand oferece sugestões de complementação para pacotes npm privados

Complementação de código para pacotes npm privados

Agora, Code completion agora funciona para pacotes npm privados. O GoLand permite procurar informações sobre as versões mais recentes do pacote, assim como ele faz com pacotes públicos.

Usando web-types com a framework Vue

Suporte genérico para tipos da Web

Estamos apresentando uma nova versão de web-types: um padrão open source para documentar várias frameworks Web. A versão inicial dos web-types estava focada apenas no suporte ao Vue.js.

Queremos construir uma nova arquitetura para facilitar o suporte a novas frameworks JavaScript e estender o suporte para as existentes. Esta postagem do blog e um webinar da equipe do WebStorm ajudará você a entender como é possível usar web-types.

Trabalho com bancos de dados

Complementação de código sendo executada no console do MongoDB

Agora, o recurso Code completion agora funciona no console do MongoDB para campos, campos aninhados e campos dentro de expressões de agregação. Ele também funciona para operadores de consulta e projeção, operadores de atualização e estágios de agregação.

Outras alterações

Definindo as configurações para ações ao salvar

Ações ao salvar

Reunimos todas as ações possíveis ao salvar em Settings | Tools | Actions on Save. Lá, agora você pode configurar todos eles: basta marcar a caixa de seleção ao lado da ação que você deseja habilitar.

Você também pode definir as configurações para qualquer ação com mais precisão. Para fazer isso, passe o mouse sobre ela, clique no link de configuração e ajuste a ação na página exibida de configurações relacionada.

Excluindo caches e logs

Limpeza automática de cache e logs

O GoLand limpa automaticamente os diretórios de cache e logs que foram atualizados pela última vez há mais de 180 dias. Esse processo não afeta as configurações do sistema e os diretórios de plug-ins.

É possível limpar logs e caches manualmente usando a ação Help | Delete Leftover IDE Directories….

Configurando verificações gramaticais no GoLand

Verificações ortográficas e gramaticais inteligentes em arquivos Go

Por padrão, habilitamos verificações ortográficas e gramaticais inteligentes em arquivos Go. Essas verificações são fornecidas pelo plug-in Grazie, que acompanha o IDE.

Para ajustar as configurações, a acesse Settings | Editor | Natural Languages | Grammar.

Interface do usuário do GoLand em chinês

UI em chinês, japonês e coreano

Agora, o GoLand tem uma UI totalmente traduzida para os idiomas chinês, coreano e japonês. A tradução está disponível como plug-ins de pacotes de idiomas não inclusos, que podem ser facilmente instalados no GoLand.

Code With Me

GoLand mostrando quais sugestões de complementação são oferecidas ao seu colega durante uma sessão do Code With Me

Agora, você pode acompanhar quais sugestões de Complementação de código o GoLand oferece aos seus colegas durante sessões do Code With Me. Para usar esse recurso, você precisa estar no modo Following.