Novidades no RubyMine 2019.2

O RubyMine 2019.2 adiciona suporte ao Rails 6 e Ruby ao 2.7, aprimora o suporte ao YARD e ao depurador e incorpora muitas melhorias na plataforma.

Depurador

Comparação da velocidade dos depuradores v2019.1 v2019.2

Depurador mais rápido

Nosso depurador usava TracePoint :line para rastrear a execução do programa linha por linha. Para a v2019.2, projetamos uma extensão nativa para MRI que permite ao depurador escolher em quais fragmentos de código a execução deve ser suspensa e liberar o restante do código da sobrecarga. Como resultado, conseguimos acelerar drasticamente o depurador e implementar os novos recursos abaixo.

Entrada inteligente

Entrada inteligente

Anteriormente, se você tropeçasse em uma linha com vários métodos em uma sessão de depuração, o RubyMine só podia entrar no primeiro método de uma linha. A recém-adicionada opção Smart Step Into elimina essa restrição e permite entrar em e investigar cada método específico ou uma chamada em bloco localizada na mesma linha.

Bloquear pontos de interrupção

Bloquear pontos de interrupção

Com a nova versão, você pode definir pontos de interrupção não apenas em linhas, mas também em blocos. Quando você clica na medianiz esquerda para definir um ponto de interrupção em uma linha que contém um bloco, o RubyMine pergunta se você deseja definir um ponto de interrupção em uma linha, bloco ou ambos.

Leia Depuração no RubyMine para aprender em detalhes como depurar scripts Ruby e Rails no RubyMine.

Ruby 2.7

Correspondência de padrões

O RubyMine 2019.2 oferece suporte para correspondência de padrões, que foi introduzida na primeira visualização do Ruby 2.7 como um recurso experimental. O IDE identifica a nova sintaxe e ajuda a navegar, encontrar usos e renomear os objetos.

Mais sobre correspondência de padrões no Ruby

Parâmetros de blocos numerados

Parâmetros de blocos numerados

A nova versão do RubyMine reconhece a sintaxe de parâmetros numerados e mostra/localiza seus usos. Este é mais um recurso experimental do Ruby 2.7 que permite atribuir valores em blocos usando um número de parâmetro como parâmetro padrão, em vez de definir uma variável de bloco.

Rails 6

Suporte para caixa de correio de ações

Action Mailbox

O RubyMine 2019.2 oferece suporte ao Action Mailbox, que é fornecido com o Rails 6. O IDE sugere métodos de roteamento e retornos de chamada com preenchimento automático e navega entre suas implementações e usos.

Inspeções de caixa de correio de ações

Também adicionamos algumas inspeções que informam se você esqueceu de adicionar uma chamada routing em ApplicationMailbox e um método process na sua caixa postal. Este último também oferece uma solução rápida.

Saiba mais sobre como usar o Action Mailbox neste episódio detalhado do GoRails.

Suporte para enumeração

Adicionamos suporte adequado ao insight de código para ActiveRecord::Enum. Isso inclui preenchimento automático de código, navegação e localização de usos para nomes e métodos de enumerações. Escopos negativos para enumerações, introduzidos no Rails 6, também são compatíveis.

YARD

Suporte aprimorado para o YARD

Suporte aprimorado para o YARD

Estamos melhorando gradualmente nosso suporte ao YARD para ajudá-lo a criar e gerenciar tags YARD e obter melhor preenchimento automático de código no RubyMine com base em anotações do YARD. A nova versão inclui anotações de tipo e inspeções adequadas para as tags @overload e @yieldparam.

Leia Suporte para YARD no RubyMine para obter uma visão geral detalhada dos recursos do RubyMine e de novas melhorias no YARD.

Bot de alocador

Renomear alocadores

Renomear alocadores

Com a v2019.2, você pode renomear (Shift+F6) alocadores, sequências e características. O IDE encontra suas definições e sugere renomeá-las e todos os seus usos, bem como o nome do arquivo, se elas corresponderem ao nome do alocador.

Também adicionamos alocadores, sequências e características à visualização File Structure (Alt+F7) e ao pop-up (Ctrl + F12) e adicionamos a capacidade de excluí-los com segurança (Refactor | Safe Delete).

JavaScript

Intenções de desestruturação

Novas ações de intenção

A nova intenção Propagate to destructuring (Alt-Enter) permite substituir uma variável extra, se possível, por outra desestruturação. Para remover completamente uma desestruturação, use a ação de intenção chamada Replace destructuring with property or index access.

Usos dinâmicos na visualização da refatoração

Refatoração de renomeação aprimorada

Quando você renomeia um símbolo em um arquivo JavaScript ou TypeScript, o IDE agora agrupa usos dinâmicos e, por padrão, os exclui da refatoração. Isso torna a refatoração mais precisa e oferece mais controle sobre o que exatamente deve ser renomeado na janela de ferramentas Refactoring Preview.

Props para Vuetify

Melhor suporte para bibliotecas de componentes Vue.js

O preenchimento de código para componentes e seus props da Vuetify, BootstrapVue, Quasar e algumas outras bibliotecas de componentes do Vue agora é mais preciso. Isso foi possível graças a uma nova abordagem que adotamos para trabalhar com essas bibliotecas no IDE.

Inspeção de código duplicado

Pesquisa de código duplicado

A nova inspeção Duplicate code fragment verifica seu código rapidamente e realça imediatamente possíveis duplicatas no editor. Isso funciona para JavaScript, TypeScript, CSS, Sass, SCSS e Less.

Consulte as novidades no WebStorm para conhecer outras melhorias no JavaScript disponíveis no RubyMine 2019.2.

Estilo de código

Editar configurações de estilo de código

Suporte aprimorado para EditorConfig

Com a v2019.2, você pode manter diferentes estilos de código em diferentes partes de seus projetos adicionando vários arquivos .editorconfig. Além das opções padrão de EditorConfig, que já contam com suporte há um bom tempo, agora você pode usar propriedades específicas de IDE que abrangem todas as opções de estilo de código de IDE disponíveis.

Shell Scripts

Edição de script shell

Editar shell scripts

A nova versão adiciona suporte para shell scripts. Isso inclui preenchimento de código, documentação rápida, renomeação textual de arquivos .sh e .bash, além de configurações de execução para scripts shell. O IDE também se integra ao ShellCheck para emenda e ao shfmt para formatar o código.

Git

Preenchimento automático de .gitignore

Preenchimento automático no .gitignore

Em arquivos .gitignore, o IDE agora oferece sugestões de preenchimento de código para arquivos e pastas. Clique com a tecla Ctrl pressionada no nome para pular para esse arquivo ou pasta na janela de ferramentas Project. Você também pode adicionar arquivos rapidamente ao .gitignore na visualização Project e na guia Local Changes - clique nele com o botão direito do mouse e selecione Add to .gitignore.

Ferramentas de banco de dados

Melhorias em ferramentas de banco de dados – Pesquisa de texto completo

Encontre dados com a pesquisa de texto completo

Agora, você pode procurar dados nos seus bancos de dados mesmo não sabendo onde eles estão localizados. Clique com o botão direito do mouse na fonte de dados que você deseja pesquisar e selecione Full-text Search (Ctrl+Alt+Shift+F). Os resultados da sua consulta serão filtrados para mostrar apenas as strings nas quais os dados são encontrados.

Confira as novidades no DataGrip para conhecer outras melhorias de banco de dados que também estão disponíveis no RubyMine 2019.2.

Outras melhorias

  • Suporte padrão para gems
  • Suporte para texto de ação
  • Suporte para Cucumber 4
  • Pequenas melhorias na interface do usuário na janela de ferramenta Version Control