Novidades no RustRover 2024.2

Os destaques desta versão incluem suporte para desenvolvimento de front-end e bancos de dados, bem como complementação de código de linha inteira.

Baixar

Gratuito para uso não comercial. Avaliação de 30 dias disponível.

Desenvolvimento de front-end e suporte para banco de dados

Em resposta aos seus comentários, reimplementamos o suporte para tecnologias da Web e bancos de dados no RustRover.

Complementação de código de linha inteira para Rust

Esta versão apresenta a complementação de código de linha inteira para a linguagem Rust. Esse recurso sugere linhas inteiras de código usando um modelo de aprendizagem profunda que é executado localmente sem enviar dados para fora do seu IDE. O texto cinza de linha única sugere instruções completas com base no contexto do arquivo atual. A complementação de código de linha inteira está incluída na sua assinatura do RustRover, sem custo adicional.

Capacidade de anexar o depurador aos processos em execução

Agora, você pode depurar aplicativos ativos sem reiniciá-los. Isso facilita o trabalho em bibliotecas dinâmicas ou plug-ins em programas gerenciados externamente.

Vários aprimoramentos para o Cargo.toml

  • Quando você aceitar uma sugestão de complementação para uma propriedade com um tipo diferente, o cursor permanecerá no mesmo lugar.
  • Uma propriedade de nível superior agora será colocada entre colchetes com [] se o tipo for um objeto e [[]] se o tipo for um array de objetos.
  • Nos cabeçalhos, se uma propriedade puder ser um array de um tipo simples ou objeto, o uso de uma sugestão de complementação para ela não adicionará colchetes duplos.
  • A complementação está disponível para lints.
  • Uma nova verificação impede a declaração de um array como um array de tabelas.

Comutador de perfil Cargo

Agora, ao usar as configurações de execução/depuração, um alternador de perfil Cargo dedicado permite especificar o perfil, para que você não precise mais fazer isso manualmente.

Melhor suporte para o operador ?

Melhoramos significativamente a verificação de tipo do operador ?. O operador agora é sugerido por complementação automática em vários casos, inclusive em chamadas de métodos encadeados. Há também uma nova inspeção para realçar chamadas unwrap() que permitem o uso de ?.

Melhorias em pastas

Pastas de módulos agora estão convenientemente marcadas como pacotes na visualização Project para ajudar a diferenciá-las das pastas comuns.

Além disso, arrastar e soltar um arquivo não aciona mais uma caixa de diálogo Move para o diretório pai.

Aprimoramentos em Proc_macro

Expansão de macros a partir de dependências opcionais em um espaço de trabalho

Agora, o Cargo compila proc_macros e scripts de build para todas as dependências necessárias para que a análise de código funcione corretamente. Observe que, em casos raros, você precisará desabilitar recursos que entrarem em conflito explicitamente.

Correções rápidas para atributos

Novas correções rápidas agora sugerem adicionar os atributos #[proc_macro], #[proc_macro_derive] e #[proc_macro_attribute] ao pub fn em caixas de macros processuais.

Ações de intenção em chamadas de macro semelhantes a funções

Ações de intenção agora estão disponíveis para tokens com um único elemento correspondente na expansão de macro.

Complementação para referências de nomes não resolvidos

Se você criar um uso de uma função antes de declará-la, o IDE agora oferecerá uma sugestão de complementação com seu nome.

Diversos

Essa atualização também introduz uma série de outros aprimoramentos:

  • A execução de um teste não reconstrói mais o projeto duas vezes.
  • Dicas embutidas agora estão disponíveis em cadeias de métodos assíncronos.
  • O IDE agora encapsula valores de retorno do tipo Option<...> em Some() (E0308).
  • Novos avisos informam sobre falsos negativos na sintaxe de {variables:?} (E0277).
  • O realce foi aprimorado para métodos não resolvidos (E0599).
  • O IDE agora alerta você se um return for desnecessário.
  • A conversão de um identificador usando uma correção sugerida pelo compilador agora afeta todos os usos relevantes do identificador.
  • O erro extern location for crate does not exist on sync foi corrigido.
  • O formatador integrado funciona bem melhor, tendo recebido correções para mais de 20 problemas.
  • Há suporte disponível para o recurso instável postfix-match.
  • O valor por detrás de Option/Result agora está visível na exibição Threads & Variables ao depurar com o Unix LLDB.
  • O suporte para argumentos de macro format! foi aprimorado, e o IDE agora destaca métodos não resolvidos.

Opções de interface de usuário em japonês, coreano e chinês

Os pacotes de idiomas da interface do usuário em chinês, japonês e coreano agora estão incluídos na instalação básica do IDE. Você pode trocar o idioma em Settings | Appearance & Behavior | System Settings | Language and Region.

Linhas fixas com reconhecimento de linguagem

Agora, você pode escolher as linguagens para as quais deseja que as linhas fixas apareçam. É possível personalizar esse recurso em Settings | Editor | General | Sticky Lines ou por meio do menu de contexto que aparece quando você clica com o botão direito do mouse em uma linha fixa no editor.

Opção Preview no Search Everywhere

A caixa de diálogo Search Everywhere agora inclui uma opção para visualizar os elementos da base de código que você está procurando. Habilitar esse recurso por meio do ícone Preview na barra de ferramentas da caixa de diálogo fará com que um painel de prévia apareça abaixo dos resultados da pesquisa, oferecendo contexto adicional e facilitando a navegação pelo seu projeto.

AI Assistant

No momento, estamos trabalhando na implementação da integração específica do Rust com o AI Assistant, mas isso ainda está nos estágios iniciais de desenvolvimento. Fique ligado nas atualizações!

O RustRover também herdou os recursos de desenvolvimento e colaboração remotos e sistemas de controle de versão do lançamento da plataforma.