Olá Habr!
Há duas semanas, lançamos o GoLand 2019.1 e temos pressa de falar sobre as últimas novidades deste lançamento.

Análise de desempenho de código
Adicionamos integração com os perfis de memória, CPU, Mutex e Block! Agora você pode iniciar qualquer um deles com o clique de um botão e analisar os resultados da criação de perfil sem sair do IDE.
Esta nova ação está disponível no menu Executar , no painel de navegação e no menu de contexto dos ícones de execução de teste. Veja os resultados da criação de perfil de código na janela Profiler ( Exibir | Janelas de Ferramentas | Profiler ).
Para obter uma imagem mais clara dos problemas de desempenho, use as guias Gráfico de chama , Árvore de chamadas e Lista de métodos. Além disso , para cada tipo de criador de perfil, adicionamos métricas correspondentes ao seu tipo. Por exemplo, o criador de perfil de Memória permite classificar e examinar os resultados pelas métricas Objetos alocados , Espaço alocado , Objetos em uso e Espaço em uso .
Além disso, na janela Profiler, você pode acessar o código fonte em uma ação pressionando a tecla F4 .
Leia mais sobre aplicativos e testes de criação de perfil no GoLand aqui (em inglês).

Depuração
Nesta versão, várias funcionalidades diversas para o depurador apareceram.
A nova ação do Smart Step Into facilita a depuração de uma cadeia de chamadas e chamadas para métodos aninhados. Ele faz a chamada necessária na expressão, passando automaticamente por métodos que não lhe interessam.
Por exemplo, ao depurar o código fmt.Printf ("Meu nome é% s, sou% d!", Me.FullName (), me.Age ()), você pode ir imediatamente para a chamada Age ().
Para disparar essa ação, pressione Shift + F7 ou selecione Smart Step Into no menu Run .

O depurador agora, por padrão, mostra goroutines em vez de threads. No entanto, você pode alternar rapidamente entre eles, se necessário.
Use a ação Copiar pilha clicando com o botão direito do mouse na goroutine para copiar a pilha inteira para a área de transferência.

Clicar com o botão direito do mouse em uma variável do tipo int converterá seu valor em binário, decimal ou hexadecimal.

Executar para o cursor agora está ativado clicando no número da linha durante a depuração. Passe o mouse sobre uma linha para selecioná-la e clique no número para iniciar Executar no cursor .

Agora as configurações de execução / depuração podem ser executadas com o sudo. Isso permite depurar aplicativos que exigem direitos privilegiados do usuário.

Na versão anterior, adicionamos suporte para analisar dumps principais. Agora você pode analisar os pequenos despejos de memória criados pelo Windows. Para começar, selecione Abrir Core Dump no menu Executar .

Refatoração de código
A refatoração de Extract Interface ajudará você a criar rapidamente uma nova interface com base no tipo selecionado, extraindo dela as definições de método necessárias.
Na caixa de diálogo refatoração, você pode selecionar os métodos com base nos quais uma nova interface será criada desse tipo. Lá você pode especificar seu nome e selecionar o arquivo, pasta e pacote em que esta interface será colocada.
Para chamar a refatoração, pressione Ctrl + Alt + Shift + T no Windows / Linux ou ^ T no macOS e selecione Extrair interface no menu pop-up.

Renomear agora pode renomear métodos declarados nas interfaces. Ao renomear esses métodos, o GoLand também sugerirá renomear suas implementações.
Antes de aplicar a refatoração, observe o que acontece no painel de visualização.

Verificação de código
O Nilness Analyzer é um conjunto de inspeções que determinam se as variáveis podem ser nulas ou não e alertam sobre possíveis vulnerabilidades e erros de código que o pânico no tempo de execução pode causar. Por exemplo, usando campos de estrutura por meio do ponteiro nulo, chamando métodos na interface nil, acessando fatias nulas e assim por diante.



Ir módulos
O GoLand oferece opções de preenchimento de código para todos os módulos que estão no cache. Em outras palavras, se o módulo nunca foi importado e usado neste projeto, mas você já o usou antes em outro, o GoLand se lembra disso e informará.

Ao criar um projeto Go Module, agora você pode selecionar o modo Vendoring . Este modo permite que você use bibliotecas da pasta do fornecedor sem nenhuma dependência externa ou conexão com a Internet. Esta opção também está nas configurações: Preferências | Ir | Vá em Módulos (vgo) .

Instale qualquer versão do GO SDK diretamente do GoLand
Ao criar um novo projeto no GoLand, você pode baixar e instalar qualquer versão do SDK, incluindo as versões Beta e RC, sem sair do IDE.
Depois que a versão selecionada do SDK estiver instalada, o GoLand reportará isso na janela Log de Eventos .

Trabalhar com código
Adicionamos um conjunto de ações para simplificar o trabalho com declarações de variáveis, constantes e tipos. Você pode adicionar parênteses aos anúncios ou removê-los, combinar anúncios, dividir anúncios em dois grupos, separá-los com vírgulas e muito mais.
Veja a lista completa de ações nas configurações: Configurações / Preferências | Editor Intenções

A nova ação Exportar exporta uma função, tipo, variável ou constante de outro pacote no local de uso, sem precisar ir para a declaração.

Temas personalizados
A partir da versão 2019.1, você pode criar qualquer esquema de cores para todos os nossos IDEs IntelliJ IDEA. O novo esquema é usado como um plug-in, portanto, eles também são fáceis de compartilhar com outras pessoas. Não resistimos e fizemos várias de nossas opções: roxo escuro , ciano claro e cinza .

Sobre como criar seus próprios tópicos, leia aqui:
Mudanças gerais
Adicionado o layout do teclado de texto sublime às configurações: Preferências / Configurações | Keymap O layout do VS Code pode ser usado com este plugin .

O pop-up Localização recente é um novo centro de pesquisa. Ele mostra uma lista de todos os lugares no código do projeto em que você fez algumas alterações ou apenas leu o código. O atalho de teclado padrão é: Shift + Ctrl + E no Win / Lin, ⇧⌘E no macOS.

Na tela inicial, adicionamos modelos de projeto de desenvolvimento web, como o React App, React Native, HTML5 Boilerplate e Foundation.

Agora você pode exportar as configurações de estilo de código para o formato JSON. Isso é um acréscimo à opção de exportação XML existente: Preferências / Configurações | Editor Estilo do código .

Isso é tudo! Leia mais sobre as alterações nesta versão ou assista a uma breve demonstração (em inglês):
A propósito, geralmente aceitamos idéias para aprimoramentos com base nos seus comentários e sugestões. Escreva-nos aqui nos comentários, no nosso rastreador de erros ou no Twitter .
E, por precaução, lembre-se de que, se você já estiver usando o IntelliJ IDEA Ultimate, todos os recursos do GoLand estarão disponíveis ali, basta instalar este plug - in .
Obrigado pela atenção!