Novidades no Rider 2024.3

O Rider 2024.3 vem com suporte ao .NET 9, incluindo novos recursos do C# 13 como coleções params, propriedades partial e uma prévia do suporte à palavra-chave field. Agora o Windows Forms Designer está disponível para projetos de .NET 6 ou mais recente, juntamente com o recurso avançado de depuração de poder congelar e descongelar threads individuais. Os desenvolvedores de jogos gostarão de ver a depuração para o Unreal Engine no console, depuração de IL2CPP no Unity e melhor suporte ao Godot. Esta versão também traz recursos ampliados para o AI Assistant, incluindo prompts de IA dentro do editor e modelos personalizáveis de chats. A versão é completada por melhorias na limpeza do código, nas convenções de nomenclatura e no desenvolvimento remoto.

Principais atualizações

Janela de ferramentas Monitoring

Suporte a .NET 9

A última versão do Rider vem com:

  • Suporte a modelos de projetos do novo SDK.
  • A capacidade de criar, executar e depurar projetos que visem o novo SDK.
  • Support for the latest C# 13 features, such as params collections, partial properties, the field keyword preview, and others.

Saiba mais sobre o suporte ampliado ao C# 13 no Rider 2024.3 no nosso blog.

Windows Forms Designer for .NET projects .NET 6.0+

Agora o Windows Forms Designer tem suporte a projetos que visam o .NET 6.0 ou mais recente, permitindo que você crie, visualize e modifique a interface de usuário dos seus aplicativos para Windows Forms. Isso proporciona uma funcionalidade quase igual à do Windows Forms Designer para o .NET Framework.

Lembre-se que a maioria dos controles da DevExpress é compatível, mas o suporte a controles da Telerik e Infragistics continua limitado e não há suporte a aplicativos do VB.NET Windows Forms.

Possibilidade de congelar e descongelar threads individuais durante a depuração

O Rider 2024.3 traz a possibilidade de congelar e descongelar threads individuais durante a depuração, para um controle mais preciso de aplicativos que usam multithreading. The feature allows you to right-click on any thread and select Freeze to pause its execution without affecting the rest of the application. Quando você estiver pronto, basta clicar novamente com o botão direito e selecionar Unfreeze para reiniciar a execução da thread. Este recurso está disponível apenas para projetos que visem o .NET e o .NET Framework.

Execução e depuração de código nativo em consoles Desenvolvimento de jogos Unreal Engine

O Rider 2024.3 atingiu um marco de grande importância com a introdução do suporte à execução e depuração de código em C++ em consoles! Isso inclui jogos desenvolvidos com mecanismos personalizados e com o Unreal Engine. A disponibilidade é estritamente por solicitação e você precisa fazer parte do programa oficial de desenvolvimento do console. Descubra mais aqui.

Outras atualizações no desenvolvimento de jogos

Experiência do usuário

Tooltip colorization

For this release we reviewed almost all C# error, warning, and informal messages and introduced text colorization wherever possible.

Aproximadamente 600 mensagens foram atualizadas com dicas de ferramentas estruturadas para mais fácil leitura, com alterações como o uso das cores familiares do editor nos elementos de código incluídos.

Widget "Run": inicialização de várias configurações ao mesmo tempo

O widget Run foi atualizado e agora permite que várias configurações sejam iniciadas ao mesmo tempo, mantendo a tecla Ctrl pressionada e clicando no ícone de depuração. O widget também mostra os controles de todas as configurações em execução, simplificando o gerenciamento delas.

Aumento do limite padrão de abas

O limite-padrão de abas no editor foi aumentado para 30, permitindo que mais abas fiquem abertas antes que o IDE feche as que foram usadas há mais tempo. Você pode ajustar esse limite em Settings | Editor | General | Editor Tabs.

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 otimizar o uso da sua tela. As margens menores economizam espaço, proporcionando maior visibilidade ao trabalhar com comandos sem sacrificar a legibilidade.

Suporte para C#

Atualizações para o C# 13

With its latest release, Rider introduces support for the latest features that come with C# 13, namely:

  • New params collections: The params keyword has been expanded to work with various collection types, allowing for more efficient method signatures without additional allocations.
  • Partial properties: Support has been added for partial properties, enabling you to spread property accessor implementations across multiple files, increasing flexibility and organization in your codebase.
  • New lock type: The new System.Threading.Lock type has been introduced for more efficient thread synchronization, improving performance over the traditional lock statement.
  • Overload resolution priority: A new attribute is available, providing better control of method overload resolution and allowing developers to prioritize which overload gets called in complex scenarios.
  • field keyword: The preview feature has been added to the field keyword. This gives direct access to the backing field of auto-properties, simplifying property logic.

Learn all about the support of C#13 features in Rider and ReSharper on our blog.

Code styles and cleanup

Limpeza de código

In Rider 2024.3, code cleanup has been re-engineered for more robust performance. It now leverages the same engine as scoped quick-fixes, ensuring thorough issue resolution and enhancing analyzer precision. Parallel preprocessing has also been added to optimize file handling.

Além disso, agora você pode selecionar um perfil Code Cleanup para cada arquivo ou desativar a limpeza de arquivos específicos.

Formatação de código

There are new formatting options to give you even more flexibility:

  • Nova opção para controlar a quebra de texto em volta de um operador de igualdade (=).
  • Nova opção Indent ‘break’ from ‘case’.
  • Nova opção Treat ‘case’ statements with ‘break’ as simple.

Naming styles

We’ve added a couple of new options to adjust naming rules more precisely.

  • Local functions now come with two options: Local functions with ‘async’ and Task-returning local functions (not ‘async’).
  • Methods have been given a new Task-returning method (not ‘async’) option to support methods with an async suffix in the name that aren’t marked with an async modifier but return a Task-like type. This is helpful when you declare a method in an interface where you aren’t allowed to use an async modifier, but which will return a Task type in implementation.

Code comments

Multiline TODO comments support

Rider 2024.3 now supports multiline TODO comments, allowing indented text on subsequent lines to be treated as part of the same TODO item. Este novo recurso facilita agrupar anotações e tarefas relacionadas na sua base de código. You can now add context to your TODOs across multiple lines, improving readability and organization.

Suporte ao F#

Atualizamos o serviço do compilador de F#, trazendo todos os recursos mais recentes da linguagem e melhorias nas ferramentas do editor.

Dicas de tipos

O suporte a F# agora inclui a exibição de dicas de tipos inferidos em padrões e membros. Ficou fácil visualizar os tipos de valores locais com a nova implementação de Push-to-Hint.

Edição de código

Agora a complementação de código pode importar funções, valores, casos de união e padrões ativos. Há ainda uma nova correção rápida que ajuda a atualizar o código copiado e colado.

Você pode converter uma expressão de função em um parâmetro e associar este a uma nova ação de contexto.

Interoperabilidade em C#

Melhoramos significativamente o desempenho ao analisar projetos referenciados em C# e corrigimos vários erros de falsos positivos.

Outras alterações, correções e novos recursos estão listados na página no GitHub.

Controle de versão

Branch name on the Welcome screen

The Welcome screen now shows the branch name, helping you stay organized when handling multiple project versions and allowing you to switch between working directories easily.

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.

Atualizações no Find in Files

O recurso Find in Files ganhou um novo escopo de pesquisa, Project Files Excluding Git-Ignored. Esta opção exclui dos resultados das suas pesquisas quaisquer arquivos que constem nos arquivos .gitignore, ajudando você a se concentrar apenas no código que for relevante ao fazer pesquisas no seu projeto.

Desenvolvimento remoto

O desenvolvimento remoto com o Rider saiu oficialmente da fase de beta!

Após uma rodada final de refinamentos na fase de beta, com especial atenção à estabilidade de tipos, agora o recurso de desenvolvimento remoto com o Rider está plenamente capacitado a lidar com todos os fluxos de trabalho de desenvolvimento dos quais você depende.

Desde a edição e depuração do código até o controle de versões, agora tudo funciona de forma quase tão transparente quanto em uma instância local, proporcionando uma experiência fluida e poderosa em ambientes remotos.

Você pode ler mais no blog sobre os fluxos de trabalho com suporte.

Desenvolvimento de jogos

Unreal Engine

Esta versão traz a depuração automática de processos-filhos no Windows. Quaisquer processos criados durante uma sessão de depuração serão incluídos na sessão e os pontos de interrupção nos processos-filhos serão atingidos.

Também é possível configurar regras para decidir quais processos-filhos serão depurados e quais não serão.

In addition to the exciting news about Rider’s support for debugging on consoles, this release also introduces support for the Verse programming language, new code insight features, and integration with Live++ for the hot-reload of C++ applications.

Para saber mais sobre os novos recursos de insight de código, dê uma olhada nas Novidades do ReSharper C++.

Unity

O Rider 2024.3 melhora a sua experiência de depuração de builds de IL2CPP, oferecendo os mesmos recursos que você tem usando o Mono. This means you will see Active Scene and this.gameObject nodes in the debugger, as well as Children and Components for GameObject instances. It also fixes issues with the Immediate window, the Collection view, and IL2CPP builds.

Agora os arquivos de código-fonte são abertos no Rider quando você der um duplo clique em um item na pilha de chamadas do profiler do Unity e o Rider ficou melhor para excluir conteúdo desnecessário ao pesquisar por arquivos no seu projeto.

Godot

Esta versão corrige um bug importante no suporte à recarga a quente de aplicativos de C# no Godot. Agora o Rider aplica ao seu aplicativo quaisquer alterações no seu código em C# enquanto o jogo ainda está em execução.

O Rider também já tem suporte às atualizações da depuração de GDScript que virão no Godot 4.4 e oferecerão uma visualização muito mais detalhada das propriedades de um objeto que a disponível nas versões anteriores do Godot.

Desenvolvimento Web

Resultados de pesquisa mais limpos para diretórios

O Rider agora exclui os resultados de node_modules por padrão ao usar Find in Files nos diretórios do projeto, reduzindo a confusão de arquivos irrelevantes. Você pode restaurar o comportamento anterior habilitando a opção Search in library files when “Directory” is selected in Find in Files, em Settings | Advanced Settings.

Melhoria na navegação e renomeação de componentes de frameworks

Aprimoramos as dicas no editor para os componentes Vue, Svelte e Astro. A ação Show component usages agora localiza usos em importações e templates de markup. Também adicionamos um filtro, Show Component Usages, para excluir usos de componentes ao pesquisar referências de arquivos comuns. A refatoração Rename também foi atualizada com uma opção para incluir usos ao renomear um arquivo de componente.

Visualização de cores para classes CSS do Tailwind

A visualização de cores das classes CSS do Tailwind agora é exibida em linha no editor, facilitando a distinção entre as cores. Adicionamos suporte ao método textDocument/documentColor do Language Server Protocol (LSP), e agora todos os plug-ins baseados em LSP oferecem essa funcionalidade imediatamente.

Para mais detalhes, visite a página Novidades do WebStorm.

Trabalho com bancos de dados

Texto para SQL: Diferenciação no editor para resultados gerados por IA

Melhoramos a experiência de trabalho com o AI Assistant dentro do editor. Agora, quando você pede ao AI Assistant para fazer algo com um trecho de código, o editor mostra um diff do código original e do gerado. As sugestões do AI Assistant são destacadas com uma cor diferente e marcadas com o ícone Revert na medianiz. Você também pode editar você mesmo a consulta resultante, na mesma área. Suas alterações serão realçadas da mesma maneira. For example, you can ask AI Assistant to retrieve more data with a query and then add an ORDER BY clause to the generated result.

Tratamento de erros de SQL pelo AI Assistant

Implementamos algumas ações úteis para o tratamento de erros de execução de consultas de SQL com o AI Assistant. Essas ações podem ser acessadas na área de mensagens de erro. Explain with AI abre o chat de IA mostrando um prompt já enviado automaticamente e a resposta do AI Assistant explicando o erro. A ação Fix with AI gera uma correção para o erro de execução da consulta no editor.

Para mais detalhes, visite a página Novidades do DataGrip.

AI Assistant

Plug-in .NET Aspire para Rider

Prompts de IA in-line

Rider 2024.3 introduces inline AI prompts, offering a seamless way to interact with AI Assistant directly in the 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.

Melhor gerenciamento do contexto

Nesta atualização, tornamos mais transparente e intuitivo o gerenciamento do contexto que o AI Assistant considera para dar suas sugestões. A interface de usuário foi reformulada e permite que você visualize e gerencie todos os elementos incluídos no contexto, proporcionando total visibilidade e controle. Agora o arquivo aberto e qualquer código selecionado dentro dele são adicionados automaticamente ao contexto, e você pode facilmente adicionar ou remover arquivos quando precisar, personalizando o contexto para se encaixar no seu fluxo de trabalho. Além disso, você pode anexar instruções globais de projeto para orientar as respostas do AI Assistant em toda a sua base de código.

Opção para escolher um provedor de modelo de chat

Agora, você pode selecionar o modelo de chat com IA de sua preferência, escolhendo entre Google Gemini, OpenAI ou modelos locais na sua máquina. Essa seleção ampliada permite personalizar as respostas do chat com IA para se adequar ao seu fluxo de trabalho específico, oferecendo uma experiência mais adaptável e personalizada.

Descompilador

IL code for assembly manifest

The IL Viewer tool window now provides IL code for assembly manifest, including:

  • Assembly and module info such as name, custom attributes, etc.
  • Referenced assemblies and modules.
  • Tipos encaminhados.
  • A list of files and resources.

This IL code is shown when the caret in the text editor is on an assembly or module attribute or somewhere inside an <AssemblyName>.cs file for external assemblies.

Support for primary constructors

Ao trabalhar com classes que declaram um construtor primário, agora o descompilador mostra corretamente o construtor e seus parâmetros, dando a você uma visão completa de como são instanciados os objetos, diretamente a partir do codigo descompilado.