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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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).
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.
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.
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.
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.
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.
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.
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.
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.