Novidades no Rider

O Rider 2023.3 oferece suporte ao SDK do .NET 8, incluindo os últimos recursos do C# 12. Esta atualização também traz uma melhor experiência ao executar vários projetos, um modo de depuração preditiva e a capacidade de criar e navegar facilmente através de testes de unidade. O lançamento do Rider 2023.3 também recebeu o destaque de uma grande atualização do AI Assistant.

Principais atualizações

AI Assistant

O AI Assistant já saiu da versão prévia Disponibilidade Geral

Agora o AI Assistant da JetBrains está em disponibilidade geral, com diversos recursos novos e melhorados para aumentar a sua produtividade com os IDEs da JetBrains. O último conjunto de melhorias no Rider inclui:

  • Chat de IA sensível ao contexto
  • Melhor reconhecimento do projeto nas ações que usam IA
  • Complementação de código em múltiplas linhas
  • Geração de código dentro do editor
  • Geração de testes de unidade
  • Geração de documentação
  • Visualização de Diff em refatorações sugeridas por IA
  • A capacidade de criar uma biblioteca de prompts personalizados

Use o AI Assistant no Rider como recurso suplementar com uma assinatura do JetBrains AI Service.

Assista à demonstração

Suporte para o SDK NET 8

Suporte para o SDK .NET 8

O Rider 2023.3 oferece suporte oficial ao .NET 8 SDK, incluindo:

  • Templates de projeto atualizados.
  • A capacidade de criar, executar e depurar projetos que visem o novo SDK.
  • Novos recursos do C# 12, incluindo construtores primários, interceptadores e diretivas de alias para referenciar qualquer tipo.
  • Suporte a recursos do F# 8, como expressões lambda abreviadas, atualizações de registros aninhados, membros estáticos de interfaces, associações let estáticas e outros recursos.
  • Suporte a variáveis com @.
  • Support for Identity API endpoints.

Execução de múltiplos projetos

No Rider 2023.3, você pode executar e depurar vários projetos ao mesmo tempo, com controle avançado sobre a ordem e as condições de execução das tarefas.

Saiba mais na documentação do Rider.

Assista à demonstração

Diagramas de dependências de tipos

O Rider 2023.3 permite que você explore as relações e dependências entre diferentes classes, structs, interfaces e módulos na sua solução através de diagramas de dependências de tipos.

Saiba mais na documentação do Rider.

Assista à demonstração

Depuração preditiva

Depuração preditiva

Trata-se de um novo modo avançado de depuração, que prediz problemas em potencial no seu código e alerta você sobre eles, sem que seja preciso executar o código.

Saiba mais na documentação do Rider.

Assista à demonstração

Criação e navegação por testes de unidade

Agora você pode facilmente navegar e criar testes do seu código de produção com o Rider. Nesta versão, também estamos introduzindo a capacidade de gerar os testes através do AI Assistant.

Saiba mais na documentação do Rider.

Assista à demonstração

Suporte a C#

Atualizações para o C# 12

Nesta versão mais recente, o Rider aumenta a lista dos recursos do C# 12 com suporte, incluindo construtores primários, diretivas de alias para referenciar qualquer tipo, expressões de coleção, interceptadores e outros recursos.

Confira esta postagem no blog para mergulhar nas últimas atualizações do suporte ao C# introduzidas no Rider e no ReSharper 2023.3.

Assista à demonstração

Inspeções visando problemas relacionados ao Entity Framework

O Rider 2023.3 traz algumas novas inspeções que procuram por usos de métodos que podem potencialmente causar exceções de runtime em código relacionado ao Entity Framework.

Você pode saber tudo sobre as novas inspeções nesta postagem no blog.

Desempenho

Agora o Rider 2023.3 pode reconhecer e facilitar mais cenários nos quais serviços de análise de código podem operar de forma incremental ao serem interrompidos pela digitação. Este aperfeiçoamento é especialmente útil ao processar arquivos grandes.

Allocation of resources in solution-wide code analysis

A última atualização também coloca você no controle da quantidade de recursos a alocar na análise do código da solução inteira. Agora você pode escolher entre três modos de utilização de recursos: Low, Moderate e High.

Apesar do nome, o modo High foi projetado para não interferir na digitação no editor e não degrada a responsividade do IDE. Ele começa a aumentar o uso da CPU gradualmente, apenas depois de terminada a interrupção da análise do código pela digitação, mantendo uma experiência suave de digitação enquanto a análise da solução inteira processa o código-fonte no plano de fundo.

Outras melhorias de desempenho

Ficou mais fácil encontrar usos de tipos e construtores em soluções com muitas criações de objetos com tipos-alvo, como SomeType _field = new(). Esta melhoria também afeta positivamente a velocidade de refatoração.

Também corrigimos alguns problemas relacionados ao processamento de linguagens injetadas, que costumavam causar aumentos no uso da CPU.

Editor

Melhor experiência do usuário em dicas de inserção

Melhor experiência do usuário em dicas de inserção

No Rider 2023.3, você pode clicar com o botão direito em dicas de inserção para revelar um menu de contexto. Você também pode navegar até as declarações a partir de uma dica de inserção, usando Ctrl+Click.

Complementação automática de código em referências de caminhos de URLs

Complementação automática de código em referências de caminhos de URLs

Melhoramos o recurso de complementação de código no tratamento de URLs. Agora, quando você digitar / em locais onde seja esperado um caminho de URL, o IDE preencherá automaticamente o pop-up de complementação de código com as URLs dos endpoints dos servidores. Ao fazer isso, o IDE considerará tanto as APIs disponíveis no seu aplicativo quanto as especificações da OpenAPI anexadas, para ajudar você a especificar o caminho da URL mais rapidamente.

Interface/experiência do usuário

Botão "Resume" para depuração

Botão Resume para depuração

Como prometemos, o botão Run, na barra de ferramentas principal, foi substituído por um botão Resume durante a depuração.

Save as Solution Filter

Save as Solution Filter

O Rider 2023.3 permitirá que você crie filtros de soluções (arquivos .slnf) rápida e facilmente. O uso de filtros de soluções pode ajudar você a ajustar a visualização Project do seu IDE para coincidir com o contexto específico no qual você está trabalhando, tornando mais fácil gerenciar projetos grandes e complexos. Para criar um filtro de solução, clique com o botão direito na sua solução no Solution Explorer e selecione Save as Solution Filter.

Ocultar barra de ferramentas principal

Opção de ocultar a barra de ferramentas principal no modo-padrão de visualização

Em resposta ao seu feedback quanto à nova interface de usuário, implementamos uma opção para ocultar a barra de ferramentas principal durante o uso do modo-padrão de visualização do IDE, como na interface antiga.

Para desafogar o seu espaço de trabalho e remover a barra de ferramentas, selecione View | Appearance e desmarque a opção Toolbar.

Atalho para Speed Search

Atalho para a Speed Search

Agora o recurso Speed Search, que lhe permite navegar rapidamente dentro de janelas de ferramentas e diálogos, está disponível através de um atalho. Assim que uma árvore ou lista ganhar o foco, você poderá invocar a busca facilmente a partir do menu "Options" da janela de ferramentas, ou pressionando +F no macOS ou Ctrl+F no Windows e Linux, ou simplesmente começando a digitar a sua busca.

Novo ícone do produto no macOS

Novo ícone do produto no macOS

Com o lançamento da versão 2023.3, reprojetamos o ícone do Rider no macOS, para alinhá-lo com as diretrizes-padrão de estilo do sistema operacional.

Sistemas de controle de versão

Suporte a snippets do GitLab

Suporte a snippets do GitLab

Em uma expansão da integração com o GitLab, introduzida na versão 2023.2 do Rider, adicionamos o suporte a snippets do GitLab. Agora você pode criar snippets públicos ou privados diretamente de dentro do IDE.

Para criar um novo snippet, selecione um fragmento de código no editor (ou um arquivo ou pasta na janela de ferramentas Project), clique com o botão direito na seleção para chamar o menu de contexto e escolha a opção Create Snippet. Aparecerá um diálogo solicitando informações gerais sobre o seu snippet e a definição das respectivas configurações de privacidade.

Visualizador unificado de Diff

O Rider 2023.3 introduz uma maneira reformulada de revisar as alterações. Agora, em vez de examinar um arquivo de cada vez, você pode ver todos os arquivos modificados a partir de um conjunto de alterações, em uma única frame rolável. Esse novo visualizador diff é compatível com revisões do GitLab, GitHub e JetBrains Space.

Depuração

Visualização Modules

A nova visualização Modules permite que você inspecione as bibliotecas de ligação dinâmica (DLLs) e os programas executáveis usados pelo seu aplicativo. Nesta visualização, você encontrará informações como os nomes, versões e domínios dos aplicativos de cada módulo, além dos caminhos para ele e para seus símbolos.

A coluna Symbols lista os símbolos usados pelo depurador para um determinado módulo. Você pode gerenciar os símbolos do módulo clicando com o botão direito em uma linha do módulo e selecionando Load Symbols.

Anexação a um processo dentro de um container do Docker

Anexação a um processo dentro de um container do Docker

A partir do Rider 2023.3, é possível anexar a um processo dentro de um container para depuração. Para isso, chame o diálogo Attach to Process, vá até a aba Docker e selecione o container desejado. Esta nova opção funcionará em ambientes locais e em configurações de SSH.

Desenvolvimento de jogos

Unity

Suporte ao UI Toolkit

Trabalhar com o UI Toolkit acaba de ficar muito mais produtivo!

Você pode ver onde os elementos da sua interface de usuário são usados em arquivos UXML através de Find Usages e usar Ctrl+Click para navegar a partir de elementos em arquivos UXML até o código em C#. Além disso, o Rider também oferece complementação de código para elementos da interface de usuário em consultas de C#.

Esta versão também oferece suporte a arquivos de tema .tss e inclui conhecimentos atualizados sobre todas as propriedades de USS da mais recente versão LTS do Unity, a 2022.3.

Suporte a variantes de shaders

Suporte a variantes de shaders

Um novo recurso opcional em fase de demonstração permite selecionar as palavras-chave ativas durante a edição de um arquivo de shader. Isso pode permitir blocos diferentes de pré-processamento, possibilitando o uso de recursos avançados de edição do Rider em componentes antes desativados do arquivo.

Atualizações do depurador

A depuração no Unity ficou muito mais útil com a capacidade de visualizar texturas em uma nova janela de pop-up. Tornamos mais fácil adicionar pontos de pausa a partir do menu de contexto do editor. Além disso, a saída dos pontos de rastreamento também irá para o console do Unity e o Rider agora também mostra corretamente as instâncias de vários jogadores virtuais simultâneos no diálogo Attach to Unity Process.

Assista à demonstração

Outras atualizações

Há muitas outras pequenas correções e novos recursos, como a complementação de semântica em código HLSL e a correção da URL da ajuda on-line para pacotes e de alertas incorretos em certas situações de DOTS. You can see the full list of changes in the changelog.

Unreal Engine

Opção de ignorar arquivos PCH na análise

Opção de ignorar arquivos PCH na análise

Um novo e importante recurso permite que o Rider reconheça símbolos apenas de arquivos explicitamente incluídos e ignore tudo que tiver sido importado em arquivos de cabeçalhos pré-compilados (PCH). Isso permite que builds locais usem arquivos PCH para compilações mais rápidas e garante builds corretas em servidores de CI.

Atualizações menores

Esta versão também inclui várias correções e atualizações menores em problemas como alguns nomes de arquivos não sendo processados como links na saída da build, a incapacidade de localizar o UE 5.3 e a exibição incorreta no depurador dos tipos FString e TCHAR no Linux.

Também corrigimos alguns problemas com o popular plug-in Enhanced UE Documentation, incluindo problemas de formatação e outro que impedia que a dica de ferramenta padrão fosse exibida.

Desenvolvimento Web

Melhorias para TypeScript

Melhorias para TypeScript

O Rider 2023.3 resolve algumas das inconsistências frustrantes encontradas ao adicionar declarações import type e facilita trabalhar com verbatimModuleSyntax. Adicionamos a opção de configurar o uso da declaração import type ou uma especificação de tipo no TypeScript ao importar um tipo. Também adicionamos o suporte ao campo exports do package.json em arquivos de TypeScript.

Suporte aprimorado para o Angular

Suporte aprimorado para o Angular

Melhoramos o suporte à verificação do tipo strictTemplate em templates do Angular. Também trouxemos o suporte a sinais e à nova sintaxe de fluxo de controle da versão 17, incluindo templates dinâmicos como signal, computed e effect. Também há novas correções rápidas disponíveis com Alt+Enter. Por exemplo, você pode criar propriedades @Input e @Output a partir de um modelo de componente.

Cliente HTTP

Suporte a variaveis com @

O Rider 2023.3 tem suporte ao símbolo @ para definir variáveis encontradas em outros IDEs.

Para mais informações sobre as melhorias no desenvolvimento para a Web, consulte esta página.

Suporte ao F#

Suporte ao F# 8

Adicionamos o suporte aos recursos de linguagem que vêm no F# 8. Há alguns novos analisadores e correções rápidas que sugerem usar a sintaxe mais recente, como atualizações de registros aninhados ou expressões lambda abreviadas.

Modelo de projeto reescrito para F#

Reescrevemos a forma como o modelo do projeto é sincronizado entre o mecanismo do ReSharper e o serviço de compilação do F#, para corrigir vários problemas, como erros de falso positivo devidos a referências faltando ou possíveis congelamentos de análises. O desempenho da análise também ficou melhor em muitos casos nos quais projetos em F# referenciam projetos em C#.

Diversos

Graças aos seus relatos de issues, também fizemos pequenas melhorias nos analisadores e correções rápidas existentes, na complementação de código e em outras áreas. Read the full notes on the F# plugin page.

Frameworks e tecnologias

Complementação de código no Gerenciamento Central de Pacotes (CPM)

Complementação de código no Gerenciamento Central de Pacotes (CPM)

Nesta versão, estamos introduzindo um melhor suporte aos seus arquivos de CPM, com recursos de complementação de código para nomes e versões de pacotes do NuGet. Agora esses arquivos têm o mesmo suporte que os arquivos .csproj. Estas alterações devem ajudar os desenvolvedores a gerenciarem as referências dos pacotes de forma mais rápida e precisa. Veja nossa postagem sobre Gerenciamento Central de Pacotes no blog para ter uma compreensão mais clara deste recurso relativamente novo.

Suporte a containers sem root

Agora as imagens de base do .NET incluem um usuário não root. O Rider 2023.3 gerará Dockerfiles com esse usuário como padrão em projetos que visem o .NET 8. Debug e Fast mode também têm suporte.

Suporte ao Bicep

We’ve introduced initial support for Bicep, an Infrastructure as Code language tailored to Azure. Essa linguagem é traduzida para modelos do Azure Resource Manager (ARM) e destina-se a promover uma integração estreita com os serviços do Azure. Agora o IDE oferece realce e complementação de código, facilitados pelo protocolo de servidor de linguagem para o Bicep.

Trabalho com bancos de dados

Estas são algumas das melhorias mais notáveis para trabalhar com bancos de dados usando o Rider 2023.3:

  • Recurso de importação reformulado
  • Suporte a tabelas de importação e exportação via BCP SQL Server
  • Suporte a novos objetos SQL Server

Para mais informações sobre as melhorias ao trabalhar com bancos de dados, consulte esta página.

Plug-ins

Dynamic Program Analysis

Novas inspeções para o ASP.NET Core

Novas inspeções para o ASP.NET Core

A Dynamic Program Analysis ganhou três novas inspeções para aplicativos que visam o framework ASP.NET Core. Essas inspeções alertam você sobre problemas potenciais de desempenho de back-end que possam tornar o seu aplicativo menos responsivo.

Saiba mais nesta postagem no blog.

dotTrace dotUltimate

Melhoria na configuração

Melhor configuração do modo de profiling Timeline

Esta versão introduz opções avançadas no modo de profiling Timeline ao usar o profiler dotTrace incorporado ao Rider. As novas opções são:

  • Sampling rate — permite que você encontre um equilíbrio ideal entre o desempenho da aplicação que está passando pelo profiling e a precisão dos dados. Agora o modo de amostragem rápida também tem suporte.
  • Sample allocations every ... KB em alocações nativas — ajuda você a melhorar o desempenho de análises de snapshots, reduzindo o tamanho dos dados coletados, ou seja, o tamanho do snapshot.
  • Download in background para arquivos de símbolos nativos — baixa arquivos de símbolos durante a sessão de profiling, para reduzir o tempo gasto para criar um snapshot.

dotMemory dotUltimate

  • Agora é possível importar e analisar dumps de processos dentro do profiler no Linux.
  • Agora você pode executar a versão stand-alone do dotMemory nos sistemas operacionais Linux e macOS.

Interface de usuário do Entity Framework Core

Agora os comandos da interface de usuário do Entity Framework Core estão disponíveis dentro do JetBrains Rider. Estes são apenas alguns dos comandos com os quais o plug-in incorporado pode ajudar você:

  • Criação de migrações.
  • Atualização de bancos de dados com determinadas migrações, incluindo o preenchimento automático de nomes de migrações.
  • Criação de scaffolds no DbContext a partir de bancos de dados existentes.
  • Criação de scripts em SQL a partir da faixa de migração.

Diversos

Novas inspeções para identificar usos vulneráveis da API

Novas inspeções para identificar usos vulneráveis da API Segurança

O Rider 2023.3 traz um novo recurso de inspeção de segurança, projetado para tornar as vulnerabilidades publicadas mais evidentes e fáceis de compreender.

As novas inspeções identificam pacotes vulneráveis do NuGet no seu projeto e realçam as instâncias nas quais forem usados métodos vulneráveis dessas bibliotecas. Se for detectada alguma vulnerabilidade, o sistema realçará o código problemático e oferecerá ações rápidas para corrigi-lo. Essas ações incluem recomendar a atualização para uma versão mais recente do pacote e fornecer informações detalhadas sobre as vulnerabilidades detectadas.