Novidades do GoLand 2018.3

Olá Habr! Uma nova versão do GoLand 2018.3 foi lançada na semana passada.




Nesta atualização, você encontrará muitas melhorias para depuração e teste. Esses são aplicativos de depuração na plataforma Google App Engine, estrutura Testify, análise de despejos de memória e Mozilla rr.


Há uma nova refatoração de assinatura de alteração , inspeção de código e preenchimento automático de funções.


Além disso, adicionamos suporte para diagramas, refatorações aprimoradas de Renomeação e Inline , trabalho com modelos Go ( texto / html ) e sistema de controle de versão para os plugins Git, Docker e Kubernetes e muito mais.


Alterar refatoração de assinatura


Alterar refatoração de assinatura altera a assinatura de funções e métodos. Ajuda a definir um novo nome ou mover, renomear, adicionar ou remover parâmetros.


Se você alterar a assinatura do método, o GoLand oferecerá a atualização da implementação.


Antes de aplicar a refatoração, observe o que acontece no painel de visualização.


Uma lista de todos os arquivos e objetos aos quais a refatoração é aplicada é exibida no painel. Se você precisar de mais detalhes, no painel, poderá acessar qualquer símbolo mutável no projeto. Se o resultado não atender às expectativas, as alterações poderão ser desfeitas.




Renomear e refatoração em linha


Renomear agora alerta para possíveis conflitos como resultado da renomeação. Adicionamos um diálogo que relata o problema e se oferece para fazer uma escolha: ignore o conflito, considere ou cancele a refatoração.




O resultado da aplicação da refatoração Inline agora está imediatamente visível: o GoLand destaca o código alterado.




Depurando um aplicativo Google App Engine


Na nova versão, o depurador permite executar e depurar aplicativos na plataforma do Google App Engine localmente.


Também adicionamos um novo modelo de projeto - App Engine . Ele contém app.yaml com configurações básicas e um arquivo main.go com um manipulador de solicitações.




Suporte à análise de despejo de memória


Às vezes, as ferramentas de depuração padrão não fornecem uma imagem completa do que está acontecendo com o programa em determinados pontos de sua execução. Nesse caso, despejos de memória ajudarão.


Para começar a analisar um despejo de memória no GoLand, selecione Abrir despejo central no menu Executar .


Para criar automaticamente despejos de GOTRACEBACK=crash , digite GOTRACEBACK=crash no campo Ambiente da configuração Executar .


Você só pode criar dumps de memória no Linux, mas pode analisá-los no macOS e no Windows.




Suporte para Testify


O GoLand 2018.3 suporta a estrutura do Testify . Execute suítes e métodos de teste diretamente do editor, como funções de teste normais.


Na janela Falha na comparação , compare o valor real e o esperado se o teste falhar.




Inspeções de código


Apareceram duas novas inspeções de código : Erro não tratado e Código inacessível.


Erro não tratado avisa sobre funções e métodos que retornam um erro, mas não há verificações para lidar com esse erro.




O código inacessível identifica partes do código que nunca serão executadas.




Além disso, a inspeção de chamada de função, que verifica se uma expressão deve ser convertida em uma função ou chamada de método , agora pode corrigir automaticamente erros usando a expressão Terminar chamada .




Conclusão automática


O GoLand 2018.3 introduziu um novo tipo de preenchimento automático de funções. Imagine que você é novo no mundo golang e precisa dividir a linha. Você sabe que deve haver uma função para isso, e provavelmente é chamado de " split ". Essa função deve usar uma string como o primeiro argumento, mas você não sabe o nome exato da função e seu pacote. Um novo tipo de preenchimento automático facilita a localização desses recursos.


Ligue duas vezes para conclusão básica (Ctrl + Espaço + Espaço) para ver todas as opções de conclusão disponíveis.




Ações de intenção


O argumento Add string de formato gera um especificador de formato para a expressão especificada, insere o especificador na string de formato e passa a expressão como argumento do especificador.




Gerar Construtor cria uma função especial para inicializar estruturas.




Gerar getter / setter agora permite editar os parâmetros da função gerada.




Agora Gerar Construtor , Gerar getter / setter e Gerar getter e setter estão disponíveis no menu Gerar .


Depurador


O diálogo entre Avaliar Expressão e o painel Observadores agora possui preenchimento automático, inspeções e correção automática de erros.




Ir modelos ( html / modelo )


Os modelos Go ( html / template ) funcionam com o preenchimento de código e a renomeação da refatoração, agora você pode mudar de qualquer caractere para seus locais de uso, e a formatação foi aprimorada.




Mozilla rr


Adicionamos suporte rr da Mozilla ao depurador Linux. Grave e reproduza o programa usando apenas dois botões. Para iniciar a depuração, você precisa instalar o Mozilla rr .


Caso contrário, tudo funcionará da mesma forma que no depurador padrão, exceto pelo botão Rewind especial do Mozilla rr. Inicia o programa de volta ao ponto de interrupção anterior.




Gráficos


Adicionamos suporte a gráficos para visualização:


  • dependências dentro dos projetos dos módulos Go;
  • relações entre módulos importados e exportados em projetos JavaScript e TypeScript;
  • relacionamentos entre tabelas em bancos de dados e SQL.



Pesquisa e navegação


As caixas de diálogo Localizar no caminho e Substituir no caminho agora funcionam com trechos de código de várias linhas.




A caixa de pesquisa, Search Everywhere , é mais rápida e combina Ir para digitar , Ir para arquivo , Ir para símbolo e Localizar ações . Use TAB para alternar entre as guias.




Aprimoramentos do editor de código


Novos ícones no editor não apenas informarão quais métodos foram redefinidos, mas também ajudarão a alternar de um desses métodos para outro com um clique.




A declaração atual completa insere automaticamente uma vírgula em literais compostos (estruturas, dicionários etc.) e coloca o cursor na posição da próxima declaração.




No GoLand 2018.3, é possível definir um conjunto de arquivos aos quais as ações Código Reformat , Otimizar importações e Reorganizar não serão aplicadas .




O IDE suporta comentários TODO de várias linhas para arquivos em Go, JavaScript, TypeScript, CSS e SCSS.




Sistema de controle de versão


A integração com o Git agora exibe solicitações de verificação de alterações para o repositório em uma nova janela - Solicitações de Pull do GitHub , e também suporta sub-módulos do Git.




Disponibilidade


Adicionamos um novo tema de alto contraste e melhoramos o suporte para leitores de tela.




Docker


O plug-in docker suporta argumentos da CLI nas configurações de execução . Os seguintes argumentos podem ser usados ​​no novo campo Compilar da configuração de inicialização do Dockerfiles : cache-from, cpu-shares, cpuset-cpus, force-rm, label, memory, memory-swap, shm-size, no-cache, pull, quiet, rm.




Kubernetes Plugin


A conclusão do código, renomeação da refatoração, inspeções de código e correções rápidas funcionam nos modelos do Helm.




Outras mudanças


  • A ação Anexar está agora no menu Abrir Projeto , que permite adicionar um diretório quando você abre um novo projeto.
  • Agora você pode abrir o projeto arrastando-o para a janela de boas-vindas.
  • O Activity Monitor mostra a quantidade de recursos do processador que vários subsistemas e plugins consomem: Ajuda | Monitor de Atividade.
  • Encontrar e atualizar plugins no IDE tornou-se mais conveniente. A página de plug-ins suporta a pesquisa por tags e a classificação dos resultados por download, nome, classificação, recomendado ou atualizado.
  • A indexação de projetos é muito mais rápida.

Isso é tudo! Como sempre, teremos o maior prazer em ouvir sua opinião: escreva-nos aqui nos comentários, no Twitter ou no rastreador de erros :)


Você pode baixar a atualização na página de download ou no aplicativo Toolbox .


Só para garantir, se você já estiver usando o IntelliJ IDEA Ultimate, todos os recursos do GoLand estarão disponíveis: instale este plugin .


Obrigado pela atenção!

Source: https://habr.com/ru/post/pt431668/


All Articles