Olá Habr!
Há duas semanas, lançamos o GoLand 2019.3.

Este lançamento é especial para nossa equipe e difere dos anteriores. Desde o momento em que o GoLand do plug-in cresceu para um IDE independente, dois anos se passaram. Durante todo esse tempo, tentamos adicionar o máximo de funcionalidade possível: desde um conjunto de refatoração, integrações com criadores de perfil, suporte de qualidade aos módulos Go, inspeções de código e temas personalizados, até a capacidade de baixar e instalar qualquer versão do SDK diretamente do IDE.
Nesta versão, decidimos nos concentrar em melhorar o desempenho, corrigindo pequenos bugs, imperfeições e cenários com comportamento inesperado. No entanto, eles não resistiram e ainda acrescentaram algumas coisas novas :)
Em suma, então:
- O GoLand 2019.3 consome menos recursos da CPU e é muito mais rápido do que antes.
- Suporte aprimorado para os módulos Go.
- Adicionadas muitas novas correções rápidas e recursos para refatoração.
- As inspeções mostram apenas as correções rápidas mais apropriadas para um pedaço de código específico.
- Agora você pode depurar aplicativos remotamente usando o Mozilla rr no MacOS ou Windows.
- Há uma configuração padrão global para Observadores de Arquivos para todos os novos projetos.
- Suportado pelo MongoDB.
- Adicionamos lições interativas ao IDE: por um lado, essa é uma maneira alternativa de aprender sobre novas funcionalidades e, por outro, a oportunidade de testá-lo imediatamente em ação.
Desempenho
Trabalhamos duro para tornar o IDE mais rápido e consumir menos recursos. O principal resultado - tempo de inicialização reduzido.
Observe que os resultados podem variar dependendo do tamanho do projeto, da idade do dispositivo, da quantidade de RAM e do espaço em disco.
O trabalho para melhorar o desempenho continuará em versões futuras.

Ir módulos
O GoLand 2019.3 possui destaque de sintaxe para arquivos go.mod e navegação em nome do módulo importado para a pasta com seu código-fonte. Pressione ⌘ + B no MacOS ou Ctrl + B no Windows / Linux em um caminho de importação de dependência específico e o GoLand o levará às suas fontes na Visualização do Projeto .
Além disso, os módulos Go agora são exibidos com o caminho completo da importação e suas versões são representadas pela cor da fonte silenciada na janela Project View .

Depurador
Invocar um método de campo embutido
Avaliar expressão no depurador agora permite chamar diretamente o método de campo embutido.

Depuração remota com Mozilla rr
A depuração com o Mozilla rr é suportada desde o GoLand 2018.3, mas anteriormente só funcionava no Linux. Agora você pode iniciar o servidor no Linux e depurar o programa remotamente no MacOS ou Windows. Veja como fazê-lo:
- Registre o rastreamento de execução do programa na máquina remota.
- Execute o depurador na máquina remota:
dlv --headless --api versão 2 -l localhost: 2345 Reembolsar / caminho / para / trace / dir / caminho / para / binário .
- Conecte-se a um computador remoto através da configuração Go Remote .
Observe que o Mozilla rr está disponível apenas no Linux.

Novas correções rápidas
Manipulando Parâmetros Não Utilizados
O GoLand agora destaca o nome e o tipo do parâmetro não utilizado ou apenas o nome se o tipo estiver envolvido na implementação da assinatura do método.
Neste último caso, o IDE fornece duas correções rápidas para escolher: Excluir nomes de parâmetros e Renomear para _ . O mesmo comportamento é fornecido para funções e métodos usados como um tipo funcional.
Para excluir todos os parâmetros não utilizados de cada vez, pressione Alt + Enter e use a solução rápida Excluir todos os parâmetros não utilizados .

Criar um método ou função ausente
Se uma função ou método que não foi declarado anteriormente for usado como literal de função, o GoLand sugerirá criá-los. Basta pressionar Alt + Enter e selecione Criar método / função .

Manuseio aprimorado de alias de pacote
O GoLand agora oferece a importação de pacotes com base nos aliases usados pelo Alt + Enter em qualquer arquivo de projeto.

Refatoração
Alterar assinatura
Alterar assinatura agora sempre mostra os tipos de parâmetros nas guias Parâmetros e Resultado . Para combinar os mesmos tipos de parâmetros em uma assinatura, a opção Reutilizar tipos é útil.
Além disso, você encontrará duas novas ações de intenção: Reutilizar tipos de assinatura combinará todas as mesmas definições de parâmetro em uma declaração e Expandir assinatura , pelo contrário, adicionará tipos a cada parâmetro via Alt + Enter .

Extrair variável e renomear
Extrair Variável e Renomear oferecem nomes adequados para variáveis, analisando o contexto. Por exemplo, erre para uma expressão com manipulação de erros, ctx para context.Context e assim por diante.

Inspeções de código
As inspeções de código agora funcionam mais de perto. Reduzimos o alcance de destacar problemas em potencial no editor, para que, quando você chamar o menu de contexto via Alt + Enter, mostre apenas as correções rápidas mais adequadas para uma seção específica do código.

Edição de código
Aprimoramentos do editor com literais rúnicos
Melhoramos o trabalho do editor com literais rúnicos:
- GoLand fornece uma mensagem de erro mais clara e mais curta, explicando por que a expressão está incorreta.
- O GoLand não destaca o literal de runa correto como um erro após a edição.
- O tratamento de literais rúnicos inválidos é mais estável.

Realce de sintaxe de reatribuição
Go permite que você use variáveis existentes no lado esquerdo das declarações curtas var. Assim, duas expressões que parecem iguais podem ter significados diferentes. Para facilitar a observação, adicionamos destaque de sintaxe para o remapeamento.

Blocos de código recolhidos para literais compostos
No GoLand 2019.3, você pode recolher blocos de código para literais compostos. Use os botões de opção para adicionar ou decompor um trecho de código (pressione Ctrl + NumPad Minus / Ctrl + NumPad Plus no Windows ou ⌘ + NumPad Minus / ⌘ + NumPad Plus no MacOS). Para configurar o comportamento de dobrar dos blocos de código, vá para Configurações / Preferências | Editor Geral Dobragem de código .

Modelos ao vivo
Os modelos ativos para e forr oferecem nomes significativos para variáveis, metanfetamina para o receptor. Por exemplo, os nomes ie índice serão sugeridos para o índice; para uma variável, s, sequência ou linha.

Navegação
Pesquisar apenas na área selecionada
Usando a ação Localizar ( ⌘ + F no MacOS e Ctrl + F no Windows / Linux), agora você pode procurar o trecho de código necessário em uma área limitada. Selecione o fragmento desejado no editor e chame Find - GoLand pesquisará apenas na área selecionada. Para alternar facilmente para pesquisar o arquivo inteiro, pressione ⌘ + F / Ctrl + F uma segunda vez ou use a opção Na seleção na barra de ferramentas.

Usando 'Localizar no caminho' com uma máscara de arquivo
Agora, ao usar a caixa de diálogo Localizar no caminho com a opção de máscara de arquivo , o GoLand mostra extensões de arquivo nos resultados da pesquisa para facilitar a distinção entre arquivos com o mesmo nome.

Observadores de arquivos globais para todos os novos projetos
No GoLand 2018.2, adicionamos o Global File Watcher para trocar configurações de ferramentas de terceiros entre projetos já criados usando as opções Projeto e Global. Na nova versão, você pode ativar a configuração global de Observadores de Arquivos por padrão em todos os novos projetos criados ou abertos.
No menu Arquivo , selecione Outras configurações | Configurações para novos projetos , acesse Ferramentas | Observadores de Arquivos , adicione um novo Observador de Arquivos Global e marque a caixa ao lado para incluí-lo em todos os novos projetos.

Aulas interativas
Quando o prazo está chegando, não há tempo para estudar o que há de novo, notas de versão, ler um novo artigo sobre o produto. Portanto, adicionamos lições interativas - elas ajudarão você a aprender sobre a funcionalidade do GoLand, quando for a hora certa.
As lições estão na tela de boas-vindas acima da lista de projetos. Depois de atualizar o IDE para a nova versão, uma lição sobre a nova versão será exibida. Além disso, os tutoriais podem ser abertos usando a janela da ferramenta em qualquer projeto.

Diversos
Hierarquia
A janela Hierarquia tem a capacidade de analisar a hierarquia de chamadas de método. Dois novos botões permitem alternar entre os métodos chamados a partir do atual ou chamar o método atual. Agora você também pode classificar os elementos da árvore em ordem alfabética. Para ver a Hierarquia na lista Windows da ferramenta, você deve primeiro criar uma hierarquia e, em seguida, ir para o menu Navegar | Ligue para hierarquia ou navegue | Digite Hierarquia .

Instale plugins de tema e layouts de teclado em tempo real
No GoLand 2019.3, você pode instalar e remover plug-ins de layout de teclado e de esquema de cores sem reiniciar o IDE.

Atalho personalizado para retornar o foco ao editor
Você pode definir seu atalho para uma ação que retorne o foco ao editor, em vez de usar o botão ESC. Encontre a ação do Editor de foco em Preferências / configurações | Keymap , clique com o botão direito do mouse e selecione Adicionar atalho de teclado no menu suspenso.

Barras de rolagem de contraste
Adicionamos a capacidade de tornar as barras de rolagem mais visíveis. Para fazer isso, marque a caixa de seleção Usar barras de rolagem de contraste em Preferências / configurações | Aparência e comportamento | Aparência .

Aprimoramentos de suporte a VCS
Caixa de diálogo Clone atualizada
Caixa de diálogo Novo Clone Localizada em VCS | Obtenha do controle de versão . Agora você pode fazer login na sua conta do GitHub diretamente da caixa de diálogo atualizada. Se você já está logado, o IDE exibe instantaneamente uma lista de todos os repositórios agrupados por conta ou organização da qual você é membro.

Informações sobre as causas dos conflitos de mesclagem
Se surgirem conflitos durante as ações de mesclagem, rebase e seleção de cereja, agora você poderá aprender mais sobre a origem das alterações na caixa de diálogo Mesclar. Basta clicar em Mostrar detalhes para ver a lista de confirmações que levaram ao estado atual do código.

Melhorias no suporte ao banco de dados
Suporte para MongoDB
O GoLand 2019.3 fornece suporte inicial ao MongoDB. Agora você pode:
- Procure coleções e campos no explorador de banco de dados.
- Procure coleções em forma de tabela por página. Você pode classificar por valores e usar um filtro.
- Execute uma consulta: coloque uma carruagem e pressione Ctrl / Cmd + Enter ou o botão Executar na barra de ferramentas.

Procure por erros de conexão usando o Google
Agora você pode começar a investigar erros de conexão pressionando apenas um botão no IDE - e o GoLand abrirá os resultados do erro no mecanismo de pesquisa do Google.

Isso é tudo! Obrigado por ler até o fim! Agradecemos seus comentários e tentamos responder a quaisquer perguntas. Escreva-nos aqui nos comentários, no Twitter ou no rastreador de erros .
Sua equipe JetBrains GoLand
O impulso para desenvolver