Novidades no RubyMine 2023.3

Suporte aprimorado ao AI Assistant, caminhos personalizados para aplicativos e engines do Rails, insight de código para strict locals do Rails 7.1, declarações extras do RBS, atualização para renderizadores de tipo no depurador, RuboCop no modo servidor, inspeções de código do Brakeman e muito mais.

AI Assistant Disponibilidade geral

O AI Assistant da JetBrains agora está disponível ao público com uma série de recursos novos e aprimorados para aumentar sua produtividade nos IDEs da JetBrains.

AI-generated name suggestions

Suporte para sugestões de nomes geradas por IA

Agora, você pode habilitar sugestões de nomes geradas por IA para variáveis e parâmetros locais no seu código Ruby. Essa ação está disponível quando você usa a refatoração Rename inline. Para habilitar sugestões de nomes, marque a caixa de seleção Provide AI-generated name suggestions em Settings | Tools | AI Assistant.

AI assistant context

Contextos do Ruby aprimorados

Continuamos melhorando os contextos do Ruby e a forma como os LLMs analisam sua base de código. Essas mudanças influenciam como o AI Assistant gera documentação, explica seu código Ruby, reconhece o conteúdo de arquivos e muito mais.

Geração de testes de unidade

Geração de testes de unidade

Com o AI Assistant, você pode gerar testes facilmente para métodos públicos no seu aplicativo Ruby ou Rails. Selecione o método que você deseja cobrir com testes e pressione ⌥ + Enter no macOS ou Alt + Enter no Windows. No menu de contexto, selecione AI Actions e depois Generate Unit Tests.

Use o AI Assistant no RubyMine como um recurso complementar com uma assinatura do JetBrains AI Service.

Rails

Custom paths for Rails

Caminhos personalizados para aplicativos e mecanismos Rails

O RubyMine reconhece quando você usa caminhos personalizados em seus aplicativos e mecanismos Rails. Além dos caminhos padrão, como app, app/controllers e app/models, o IDE reconhece quaisquer outros locais no seu projeto. quando configurados. Isso permite que você redefina a estrutura padrão e ainda se beneficie dos recursos de insight de código do RubyMine. Para configurar os caminhos personalizados, navegue até Settings | Languages & Frameworks | Rails | Paths.

Importação automática de caminhos Rails

Importação automática de caminhos Rails

Implementamos uma nova opção para detectar automaticamente caminhos personalizados na sua aplicação Rails. Todas as vezes que você abre seu projeto, o RubyMine tenta importar a configuração dos caminhos do Rails em segundo plano.

Code insight for elements outside default location

Insight de código para modelos, controladores e mailers armazenados fora dos seus locais padrão

Todos os seus recursos favoritos de insights de código, como navegação e suporte de tipos, agora funcionarão com modelos, controladores e mailers, mesmo que estejam fora de seus diretórios padrão.

Strict locals

Insight de código para strict locals no Rails 7.1

O RubyMine agora oferece suporte a recursos de resolução, complementação, Find Usages, Rename e navegação para strict locals.

Inferência de tipo

Type provision for self-type bindings

Provisão de tipo para tipos self personalizados dentro de blocos

Agora, o RubyMine permite personalizar o tipo self de blocos do RBS para o Ruby. Esse recurso é útil para DSLs e ajudará o RubyMine a reconhecê-las, melhorando a percepção do código.

Annotation to specify self-type of blocks

Anotação personalizada para especificar o tipo self de blocos

Agora, utilizando um comentário do tipo YARD, você pode declarar explicitamente o tipo self dos blocos diretamente dentro deles.

Extra declarations from RBS

Suporte para declarações extras do RBS

Implementamos suporte básico para reconhecer declarações extras do RBS quando elas estão ausentes nos seus arquivos do Ruby. Isso é particularmente benéfico para projetos que utilizam reflexão extensivamente, pois permite que essas declarações ainda estejam presentes na complementação e em outros recursos do RubyMine. O recurso está disponível para classes, módulos, constantes, métodos e variáveis.

Depurador

Renderizadores do tipo Depurador

Atualização para renderizadores de tipo do depurador

Você não precisa mais reiniciar o depurador para aplicar alterações aos renderizadores de tipo. Basta clicar no botão Apply, e o RubyMine os recarregará instantaneamente.

Ferramentas e bibliotecas

Rubocop server mode

RuboCop no modo de servidor

O RubyMine oferece suporte para a execução automática do RuboCop no modo de servidor. Para que esse recurso funcione, certifique-se de que os seguintes requisitos sejam atendidos:

  • Linux ou MacOS
  • Ruby MRI local 2.3 ou posterior
  • RuboCop 1.31 ou posterior
Brakeman

Inspeções do código do Brakeman

Agora, você pode ver convenientemente os insights do Brakeman no RubyMine em um formato amigável. Resolva problemas de segurança prontamente, com acesso fácil à documentação do Brakeman, seus indicadores de confiança e muito mais. Certifique-se de ter a gem brakeman instalada e, em seguida, acesse Code | Analyze Code | Run inspection by name e inicie a análise.

rspec-parameterized

Especificações parametrizadas com rspec-parameterized

O RubyMine fornece suporte abrangente para a sintaxe RSpec::Parameterized, incluindo sugestões de reconhecimento, resolução e complementação. Também implementamos configurações de execução/depuração para aprimorar sua experiência de teste.

let_it_be support

Declarações de fixtures com let_it_be

Adicionamos suporte para declarações de fixtures em testes RSpec usando blocos let_it_be. Isso inclui recursos como resolução de variáveis, realce de sintaxe, manipulação automática de inserção de bloco do para before_all e muito mais. Para habilitar a funcionalidade, você precisa instalar a gem test-prof.