Novidades do RubyMine 2024.3

Complementação de código aprimorada baseada na nuvem, prompts de IA inline, suporte para Kamal 2, integração incorporada com a RBS Collection, atualizações do Ruby 3.4 e verificações ortográficas e gramaticais fornecidas pelo Grazie

AI Assistant

Complementação de código aprimorada baseada na nuvem

O RubyMine 2024.3 introduz a complementação de código baseada na nuvem mais rápida e contextualmente consciente por meio do plug-in JetBrains AI Assistant, apresentando melhorias de qualidade e velocidade e adicionando suporte para complementação multilinha.

Com a tecnologia do modelo de linguagem grande (LLM) Mellum, a latência de complementação é quase um décimo do que era nas versões anteriores, gerando sugestões quase instantâneas. A taxa de aceitação de sugestões de complementação praticamente dobrou, enquanto a taxa de cancelamento caiu para entre metade e um terço do que era na versão anterior.

Observe que a complementação de código baseada na nuvem do AI Assistant está disponível apenas com uma assinatura AI Pro ou uma avaliação gratuita ativa.

Contexto de Rails aprimorado para testes de unidade

O RubyMine agora fornece ao AI Assistant mais contexto sobre os aplicativos Rails para uma melhor geração de testes de unidade.

Prompts de IA inline

O RubyMine 2024.3 apresenta prompts de IA inline, oferecendo uma maneira perfeita de interagir com o AI Assistant diretamente no editor. Você pode digitar solicitações em linguagem natural, que o AI Assistant interpreta e converte instantaneamente em alterações de código, marcadas em roxo na medianiz para facilitar o rastreamento. Os prompts de IA inline são sensíveis ao contexto, incluindo automaticamente arquivos e símbolos relacionados para uma geração de código mais precisa.
O recurso está atualmente disponível em arquivos *.rb.

Suporte para Rails 8

Suporte para Kamal 2

O Rails 8 oferece suporte para a implantação dos seus aplicativos com o Kamal 2 e, no RubyMine 2024.3, implementamos o recurso de complementação de código para configurações do Kamal 2.

Anotações de nulidade de schema.rb para suporte a tipos

O RubyMine agora reconhece o modificador de tipo not-null para atributos de migração e fornece realce e avisos para atribuições incorretas de nil.

Insight de código para Solid Queue e Solid Cache

No RubyMine 2024.3, arquivos queue_schema.rb e cache_schema.rb agora apresentam ícones específicos e realce de sintaxe.

RBS

Integração incorporada com a RBS Collection

O RubyMine agora apresenta integração com a RBS Collection, uma coleção gerenciada pela comunidade de arquivos RBS para gems que não incluem assinaturas.

Mesmo que você não use o RBS em seu projeto, ainda pode se beneficiar das assinaturas de tipo incluídas na RBS Collection, sem nenhum esforço adicional necessário. O RubyMine baixará e gerenciará automaticamente as assinaturas de tipo para as dependências do projeto.

Ruby

Capacidade de usar it como alias para parâmetros numerados em blocos

O RubyMine agora reconhece it como um alias para _1 em blocos sem parâmetros, fornecendo suporte a tipos e intenções de conversão para esses usos.
Adicionamos uma nova anotação de erro que impede que você use it em um bloco com parâmetros numerados regulares.

Suporte para strings "chilled" do Ruby 3.4

O RubyMine agora reconhece strings "chilled", um novo estado de transição para literais de string no Ruby 3.4. Em projetos sem o pragma frozen_string_literal, as string são "chilled", permitindo modificações com um aviso em vez de resultar em um erro.

Anotações de erro para argumentos anônimos ambíguos

O RubyMine agora exibe um erro quando você tenta usar argumentos anônimos block, rest e keyword rest em um contexto aninhado ambíguo.

VCS

Atualizações em Find in Files

O recurso Find in Files foi aprimorado com um novo escopo de pesquisa, Project Files Excluding Git-Ignored. Essa opção exclui quaisquer arquivos ignorados em .gitignore dos seus resultados de pesquisa, ajudando você a se concentrar apenas no código relevante ao pesquisar no seu projeto.

Opção para desabilitar verificações pré-commit em segundo plano

Agora você pode gerenciar verificações em segundo plano durante o processo de commit com a nova opção Run advanced checks after a commit is done, em Settings | Version Control | Commit. Essa configuração permite decidir se testes e inspeções devem ser executados depois de você fazer um commit. Se quiser que essas verificações sejam concluídas antes do commit, basta desabilitá-las.

Experiência do usuário

Verificações ortográficas e gramaticais agrupadas

O plug-in Grazie agora está disponível pronto para uso no RubyMine. Ele fornece verificações inteligentes que vão além de simples erros de ortografia e erros de digitação. Ele entende regras gramaticais e pode alertar você sobre estilos inapropriados.

As verificações do Grazie estão disponíveis em strings, heredocs, comentários de linha, comentários de bloco e arquivos RDoc.

Você pode gerenciar as verificações do Grazie em Settings | Editor | Natural Languages | Grammar and Style | Scope.

Suporte aprimorado do console

Adicionamos novas opções para controlar se a primeira sugestão de complementação é pré-selecionada ao usar consoles ou o campo Evaluate Expression durante a depuração.

Durante a depuração, o campo Evaluate Expression agora reflete com precisão os tipos self, reconhece variáveis locais e parâmetros com tipos inferidos e oferece suporte à complementação de novas variáveis locais introduzidas na sessão atual do quadro da pilha.

As sessões do console lembram comandos executados anteriormente e fornecem inferência de tipo e complementação para variáveis locais.

Aumento do limite padrão de abas

Aumentamos o limite padrão de abas no editor para 30. Isso significa que agora você pode manter mais abas abertas antes que o IDE comece a fechar aquelas usadas menos recentemente. Você pode controlar essa configuração em Settings | Editor | General | Editor Tabs.

Posicionamento otimizado para a ação Rename

Otimizamos o posicionamento da ação Rename no menu de contexto quando ela é chamada em elementos no editor e na janela de ferramentas Project. A ação agora está no nível superior, tornando mais fácil para usuários que frequentemente usam o mouse renomear rapidamente arquivos, variáveis e outros elementos.

Interface do usuário atualizada para o novo terminal

Atualizamos a interface do usuário do novo terminal com um design mais compacto, reduzindo as margens para maximizar o espaço da tela. As margens menores economizam espaço, proporcionando maior visibilidade ao trabalhar com comandos sem sacrificar a legibilidade.

Realce para todas as ocorrências do texto selecionado

Por padrão, o RubyMine agora realçará automaticamente todas as instâncias do texto que você selecionar em um arquivo. Isso facilita o rastreamento de onde o texto selecionado aparece no seu código.