Novidades do GoLand 2018.2

Olá Habr!

O GoLand 2018.2 saiu na semana passada. Neste artigo, falaremos sobre o que apareceu na nova versão.



O que há de novo em breve:

  • suporte para módulos Go (anteriormente conhecido como vgo);
  • Movimentação aprimorada - refatoração e novas correções automáticas;
  • reabastecimento nas famílias das ações de conclusão e intenção do Postfix ;
  • o depurador agora suporta pontos de interrupção que não exigem uma interrupção completa do programa, bem como carregamento adiado de matrizes, fatias e dicionários.

Além disso, muitas melhorias vieram da plataforma IntelliJ: desde inovações em sistemas de controle de versão e suporte a Touch Bar para o MacBook Pro até as mais recentes inovações do mundo do desenvolvimento front-end.

Suporte para módulos Go (vgo)


Em fevereiro, a equipe do Go anunciou uma versão de teste da nova ferramenta de gerenciamento de dependências e imediatamente decidimos começar a trabalhar em seu suporte.
O GoLand permite criar projetos de um novo tipo ( Módulo Go ) e oferece a sincronização de dependências em um clique diretamente do editor de código.



Leia mais sobre o suporte aos módulos Go aqui ( artigo em inglês ).

Mover refatoração


Em uma versão anterior, a GoLand introduziu a refatoração de movimentos, que pode mover rapidamente qualquer anúncio para outro arquivo dentro do mesmo pacote. Nesta versão, ensinamos a ele como mover caracteres entre pacotes.

Para ver a figura inteira, adicionamos uma nova interface que mostra os elementos dependentes do objeto movido. Exporte e transfira essas dependências com ele.



Correções rápidas de código


Novas correções automáticas dos erros de incompatibilidade de tipo foram exibidas: Converta para o tipo esperado e Implemente os métodos ausentes .

Converter em tipo esperado converte o valor no tipo esperado de acordo com os requisitos do idioma :



Implementar métodos faltando em um único clique acrescenta os métodos ausentes, se o tipo esperado é a interface:



Geração de código


Agora, os Métodos de Implementação podem não apenas adicionar métodos da interface aos tipos existentes, mas também criar um novo tipo com a implementação dos métodos da interface:



Edição de código


A nova ação Adicionar alias de importação de ponto permite que você faça referência a todos os nomes exportados sem usar um nome de pacote. A ação inversa do Remover alias de importação de ponto cancela essas alterações.

A introdução de refatoração de variável local agora está disponível via Alt + Enter. Uma ação rápida grava o resultado da execução de funções e métodos em uma nova variável local.



Modelos de Postfix


O novo modelo .sort adiciona um método de classificação a matrizes e fatias com base no tipo de elementos. Se os itens forem de um tipo personalizado, o método sort.Slice será usado.

Para facilitar o uso, combinamos os modelos .rre e .rrv em um novo - .rr , que pode ser chamado tanto em expressões quanto em nomes de variáveis.



Estilo do código


Depois de estudar as recomendações para desenvolvedores Go no design do código, adicionamos destaque para comentários que não começam com um espaço e ensinamos o IDE a formatá-los, adicionando um espaço ausente. Depois de um tempo, ficou claro que algumas bibliotecas (por exemplo, easyjson ), pelo contrário, exigem sua ausência!

Para bibliotecas com um requisito semelhante, adicionamos uma lista de exceções para a opção Adicionar espaço inicial aos comentários . Ajuda a evitar espaços desnecessários, basta fazer os prefixos necessários. Inclui-se aqui: Configurações / Preferências | Editor Estilo de código | Ir | Outro .



Depurador


Na nova versão, o depurador suporta pontos de interrupção que não exigem uma interrupção completa do programa. Os valores de matrizes, fatias e dicionários são carregados com preguiça e agora as estruturas podem ser expandidas sem restrições no nível de aninhamento.



Observadores de arquivos


Uma melhoria pequena, mas muito agradável, apareceu no File Watchers nesta versão. Anteriormente, era necessário configurar os Observadores de Arquivos para cada projeto separadamente, agora as configurações podem ser reutilizadas entre os projetos.



Sistema de controle de versão


Brevemente sobre como resolver conflitos de mesclagem: é fácil cometer um erro, o problema não é fácil de encontrar e difícil de corrigir. Decidimos tornar esse processo menos doloroso, para que o sistema de controle de versão agora agrupe arquivos com conflitos de mesclagem para cada lista de alterações. A caixa de diálogo Arquivos mesclados com conflitos aprimorada exibe nomes de ramificações ao executar Pull , Merge ou Rebase e agrupa arquivos em diretórios.



Há muitas melhorias na janela Log , agora você pode:

  • Abra quantas janelas de log você precisar;
  • Remova a tag git do commit;
  • O filtro é confirmado pelas ramificações selecionadas;
  • Pré-Visualização diff Painel de estudo sem sair do Log janelas de vidros;
  • Monitore o status do repositório com a nova ação Procurar Repositório na Revisão .



Além das alterações na janela Log , o VCS melhorou de várias maneiras.
Por exemplo, na nova versão, você pode cometer, e empurre as mudanças em um único clique, sem push diálogo:



E também gerencie qualquer número de contas do GitHub sem alternar entre elas:



Interface do usuário


Os proprietários do MacBook Pro não são aprovados: o GoLand 2018.2 suporta Touch Bar. Todas as ferramentas disponíveis para o painel de toque podem ser personalizadas para atender às suas tarefas: Configurações | Aparência e comportamento | Menus e barras de ferramentas .



Outra novidade para os usuários do macOS: os títulos das janelas agora podem ser escurecidos. Para fazer isso, ative a opção Usar cabeçalhos de janela escura em Configurações | Aparência e comportamento | Aparência .



Os ícones mudaram de cor, forma e estilo. Detalhes podem ser encontrados neste post ( em inglês ) da nossa equipe de design de interface: eles compartilham como tomaram decisões e o que planejam fazer no futuro.

JavaScript / TypeScript


Por tradição, falamos um pouco sobre mudanças no suporte de tecnologias front-end, eis algumas das mais significativas:

  • Suporte para TypeScript 2.9 e TypeScript 3.0;
  • Muitas novas ações de intenção : Implementar interface , Criar classe derivada , Implementar membros de uma interface ou classe abstrata , Gerar casos para 'switch' e Iterar com 'for..of' .
  • Agora você pode encontrar todo o código não utilizado com o novo recurso de cobertura de código.

Você pode ler mais sobre essas e outras melhorias na página O que há de novo da equipe WebStorm.

Isso é tudo! Como sempre, nós adoraríamos ouvir a sua opinião nos comentários aqui, no Twitter ou bug tracker :)

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

Em qualquer caso, gostaria de lembrar que, se você já estiver usando IntelliJ IDEA Ultimate, todas as possibilidades Goland disponíveis ali, você só precisa instalar o plug-in .

Obrigado pela atenção!

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


All Articles