Novidades no RubyMine 2021.2

Novos recursos para trabalhar com o Ruby e o RBS, melhor complementação de código, pesquisa e refatoração, melhorias para o editor, suporte para VCS, Space, Code With Me e muito mais.

Ruby e RBS

Pesquisa e refatoração mais inteligentes

Pesquisa e refatoração mais inteligentes

Go to declaration, Find usages e a refatoração Rename agora funcionam com mais precisão para projetos que usam o RBS. O RubyMine conta com declarações .rbs para definir como as entidades do projeto se relacionam entre si em vez de mostrar todos os usos potenciais.

Navegação entre Ruby e RBS

Navegação entre Ruby e RBS

Agora, você pode navegar entre os arquivos .rb e .rbs correspondentes usando novas ações de navegação. Clique com o botão direito do mouse em uma entidade de projeto, como uma classe ou um método, e selecione Go to / Type Signature | Associated Declaration. Você também pode usar o atalho Ctrl+Alt+Home.

Assistência para o código Ruby aprimorada

Assistência para codificação Ruby aprimorada

O RubyMine usa assinaturas RBS para determinar os tipos de elementos Ruby e para fornecer uma complementação de código mais relevante. Agora, o RubyMine oferece suporte para a maioria das entidades RBS existentes, incluindo variáveis de tipo, parâmetros de bloco, tipos de tupla, tipos proc e muito mais.

Para partes do código que não tiverem uma assinatura de tipo RBS relacionada, o RubyMine ainda usará sua própria inferência de tipo.

Novas inspeções

Novas inspeções

O acesso a informações armazenadas em arquivos .rbs permite que o RubyMine verifique o código Ruby em busca de mais erros em potencial. O RubyMine mostrará um erro de tipo se houver uma incompatibilidade entre o código RBS e Ruby. Essa versão também adiciona novas inspeções para os próprios arquivos .rbs, incluindo códigos incorretos e referências não resolvidas. O RubyMine também oferece suporte para a execução de comandos Steep usando Run anything.

Edição aprimorada do RBS

Edição aprimorada do RBS

Esta versão vem com todos os recursos essenciais que tornam o código RBS mais fácil de ler: realce de sintaxe, formatação, recuo automático, dobramento de código, exibição de estrutura e comentários com o atalho Ctrl+/.

Assistência de código para arquivos RBS

Assistência de código para arquivos RBS

O RubyMine agora fornece assistência de código para trabalhar com arquivos RBS: complementação de código, pesquisa de usos, navegação no código, refatorações de renomeação e muito mais. Você também pode criar protótipos .rbs e seus próprios templates em tempo real para o RBS.

Editor

Inspeção atualizada e descrições de correções rápidas

Inspeção atualizada e descrições de correções rápidas

Atualizamos as descrições de todas as inspeções e soluções rápidas que o RubyMine pode executar. As descrições atualizadas explicam quais alterações a inspeção sugere e qual é a razão para elas. Algumas inspeções acompanham exemplos de uso.

Ações ao salvar

Ações ao salvar

Agora, o RubyMine oferece suporte à execução de ações específicas quando alterações são salvas, como reformatação do código. Você pode encontrar todas as ações que serão acionadas ao salvar em Preferences / Settings | Tools | Actions on Save.

Saiba mais

Criação rápida de arquivos de rascunho

Criação rápida de arquivos de rascunho

Em arquivos de rascunho, você pode fazer anotações ou rascunhar código fora do contexto do projeto. Começando com esta versão, você pode selecionar um código, pressionar Alt+Enter e escolher Create new scratch file from the selection para criar rapidamente um novo arquivo de rascunho contendo esse código.

Experiência do usuário

Pesquisa de texto nas revisões de Local History

Pesquisa de texto nas revisões de Local History

Local History ajuda você a rastrear constantemente todas as alterações feitas em um projeto independente do controle de versão. Neste lançamento, adicionamos a funcionalidade de pesquisa a Local History. Agora, se você conseguir se lembrar de algumas palavras-chave da alteração que está procurando, poderá encontrá-la com mais facilidade.

Indicando vários anos de registro de direitos autorais

Indicando vários anos de registro de direitos autorais

Agora, você pode incluir o ano de criação do projeto e o ano da versão atual no aviso de direitos autorais de um projeto. O template atualizado que contém ambas as datas está disponível em Preferences/Settings | Editor | Copyright | Copyright profile.

Configurações avançadas

Configurações avançadas

Adicionamos um novo nó a Preferences | Settings – Advanced Settings. Ele contém algumas opções para casos de uso específicos convenientemente agrupados por ferramenta do IDE. Por exemplo, configurações relacionadas a Project View, Startup, Terminal e assim por diante.

Recarregamento de páginas do navegador ao salvar

Recarregamento de páginas do navegador ao salvar

Agora, os navegadores podem recarregar automaticamente as páginas ao salvar as alterações feitas nos arquivos HTML, CSS e JavaScript correspondentes.

Organizar janelas de ferramentas com ações de arrastar-e-soltar

Organizar janelas de ferramentas com ações de arrastar-e-soltar

Agora, você pode arrastar e soltar uma janela de ferramentas no local desejado dentro da janela principal do IDE ou em uma janela separada.

Nova opção de navegação em “Preferences/Settings”

Nova opção de navegação em “Preferences/Settings”

Agora, é possível navegar para frente e para trás entre as seções abertas em Preferences/Settings. Para fazer isso, use as setas no canto direito da janela.

Depurador

Guia de visualização no depurador

Guia de visualização no depurador

Agora, a guia de visualização funciona para arquivos abertos durante a depuração: esses arquivos aparecerão um por um em uma única guia de visualização. Para habilitar esse recurso, marque a caixa de seleção Enable preview tab em Preferences/Settings | Editor | General | Editor Tabs | Opening Policy.

Terminal

Novas opções de terminal

Novas opções de terminal

Melhoramos nosso terminal incorporado com duas novas opções: a capacidade de selecionar a forma do cursor e o suporte para a opção Use Option as Meta key. Ambas estão localizados em Preferences/ Settings | Tools | Terminal.

Controle de versão

Alterações em verificações pré-submissão

Alterações em verificações pré-submissão

Adicionamos novas ações que você pode realizar antes de uma submissão: Run Tests, Analyze code e Cleanup. O progresso e os resultados de todas as verificações pré-submissão aparecem na área Commit, sem incomodar com janelas modais adicionais.

Saiba mais

Assinatura GPG

Assinatura GPG

Agora, você pode assinar suas submissões com uma chave GPG para protegê-las. Você pode ativar este recurso via Preferences / Settings | Version Control | Git. If it’s your first time using a GPG key, you’ll need to configure it. Para usar uma chave GPG pré-configurada existente, você pode selecioná-la na lista suspensa.

Comportamento unificado para a ação “Show Diff”

Comportamento unificado para a ação “Show Diff”

Agora, o RubyMine exibe a diferença entre os arquivos iniciais e alterados no editor. Qualquer que seja a forma como você invoca a ação Show Diff, o IDE abrirá a diff no editor padrão. Se você prefere rastrear alterações em uma janela separada, pode arrastar o arquivo desejado do editor. Se fizer isso, o IDE se lembrará disso e abrirá diffs futuras em uma janela separada.

Space

Status de jobs do Space no log do Git

Status de trabalhos do Space no log do Git

Para ajudar você a rastrear rapidamente o progresso de um trabalho apenas olhando para a lista de submissões, adicionamos ícones para status de job do Space na guia Log da janela de ferramentas Git. Clique em um ícone para abrir um pop-up com as informações de automação para aquele job.

Para ativar e desativar essas informações de status, clique no ícone de olho em Log e selecione Show Columns | Space Automation.

Mencione colegas de equipe em revisões

Mencione colegas de equipe em revisões

Agora, você pode manter seus colegas de equipe informados, mencionando-os rapidamente em revisões do Space diretamente do RubyMine. Digite @ seguido do nome da pessoa na linha do tempo ou comentários de código e, em seguida, selecione-os na lista.

Exibição de branches em revisões de código

Exibição de branches em revisões de código

Agora, é possível ver as branches relacionadas à revisão de código selecionada. A guia Details agora mostra uma lista de branches que contêm as submissões feitas enquanto trabalhava no issue atual.

Code With Me

Complementação de código sincronizada

Complementação de código sincronizada

Ao usar o Code With Me, você pode querer explicar um problema ou mostrar aos membros da sua equipe diferentes partes do seu projeto. Você pode conseguir isso com o modo Force Others to Follow You. Aqueles que estão seguindo você podem ver as sugestões de complementação de código que você está usando.

Web e frameworks

Importação automática para require()

Importação automática para require()

Você sabia que seu IDE pode adicionar instruções de importação ausentes conforme você complementa símbolos ES6? Agora, ele pode fazer o mesmo para módulos CommonJS – importações require serão inseridas na complementação de código.

Refatoração para renomear em hooks useState do React

Refatoração para renomear em hooks useState do React

Você não precisará mais perder tempo refatorando valores e funções useState um por um nos hooks do React: o RubyMine agora pode renomeá-los para você. Para experimentar, coloque o cursor em um valor de estado e chame a refatoração Rename com Shift+F6 ou acessando Refactor | Rename no menu de contexto acionado com o botão direito.

Outras melhorias

  • É mais fácil codificar com o modo de leitor de tela habilitado no macOS. Uma lista de sugestões disponíveis para complementação de código agora é lida em voz alta. Também vocalizamos o conteúdo da caixa de combinação selecionada, bem como as listas das caixas de combinação. Os resultados da ação Search Everywhere agora são pronunciados corretamente.
  • A análise de código funciona corretamente, e o realce não é mais pausado quando a atualização do sistema de arquivos está em execução.
  • Agora, o RubyMine oferece suporte para a execução de testes com cobertura para projetos que usam SSH e Vagrant, além de usar interpretadores Ruby locais.
  • O RubyMine limpará automaticamente quaisquer diretórios de cache e logs que foram atualizados pela última vez há mais de 180 dias. Este processo não afeta as configurações do sistema e os diretórios de plug-ins. Você pode iniciar o processo manualmente via Help | Delete Leftover IDE Directories.
  • Agora, você não perderá nenhuma atualização crítica de produto do JetBrains Toolbox App. O RubyMine informará se houver uma nova versão disponível para download e se oferecerá para atualizá-la. É necessário ter o JetBrains Toolbox App 1.20.8804 ou posterior para isso.
  • Continuamos trabalhando para melhorar a capacidade de resposta da UI e reduzir congelamentos inesperados. Por exemplo, movemos certas operações que exigem índices fora do thread da UI, o que ajudou a eliminar congelamentos em outras situações.
  • Criamos uma caixa de diálogo que permite alterar o ícone do projeto de maneira mais direta.
  • Começando nesta versão, você pode aproveitar a UI do RubyMine totalmente traduzida nos idiomas chinês, coreano e japonês. A tradução está disponível como plug-ins de pacote de idiomas não incluso, que pode ser facilmente instalado no seu IDE.
  • Default Changelists era o nome do nó que armazena todas as alterações não submetidas. Na v2021.2, nós o renomeamos para Changes para torná-lo mais preciso e legível. Essa atualização afetará todos os seus novos projetos.
  • O RubyMine não adicionará mais listas de alterações automaticamente para operações Git. Por exemplo, uma seleção específica não acionará a criação de uma lista de alterações.
  • A versão mais antiga do Git com suporte pelo seu IDE agora é a v2.17. Aumentamos a versão mínima com suporte pois a 2.17 é a versão mais antiga que ainda recebe atualizações de segurança.
  • O Code With Me lançou recentemente dois novos servidores de retransmissão: um na costa oeste dos EUA e outro na África do Sul. Isso tornou o ping quase três vezes mais rápido e permite que as equipes desses locais colaborem em seus IDEs da JetBrains com a velocidade de um pensamento.
  • Agora, você pode ativar rapidamente o Power Save Mode para estender a vida útil da bateria do seu laptop. Basta clicar com o botão direito do mouse na barra de status e selecionar Power Save Mode no menu de contexto.
  • A complementação de código agora também funciona para pacotes npm privados.
  • O RubyMine agora oferece suporte à sintaxe TypeScript usada nos comentários JSDoc em arquivos .js.
  • Agora, o RubyMine oferece suporte a nomes de classes e bibliotecas clsx populares, ajudando você a lidar com seus nomes de classes CSS de maneira mais eficiente.
  • Agora, o RubyMine preencherá automaticamente os nomes das classes e avaliará dinamicamente os valores do atributo className em seus componentes CSS do Tailwind.