O Rider 2021.2 acompanha suporte aprimorado à linguagem C#, incluindo um monte de atualizações em análises de código, tipos de referência anuláveis e geradores de código fonte. Para desenvolvedores Web, este lançamento oferece suporte para endpoints do ASP.NET Core e depuração no lado do cliente para aplicações Blazor WebAssembly. Há também muitos mimos para desenvolvedores de jogos que usam o Unity e o Unreal Engine. E o assistente de boas-vindas agora permite importar configurações de outros IDEs, como o Visual Studio, o VS for Mac ou o Visual Studio Code.
A nova janela de ferramentas Endpoints ajuda você a explorar e navegar até qualquer endpoint do ASP.NET Core no seu projeto que esteja registrado ou anotado com atributos [Route]
, [Http{Method}]
, ou [AcceptVerbs]
.
Inspecione a documentação do endpoint ou use a ação Jump to Source do controlador que implementa um endpoint. Trabalhe com Find Usages para localizar onde ele está registrado.
Use a guia HTTP Client para criar e enviar solicitações à sua aplicação. Isso é útil para testar APIs.
Teste sua API usando o plugin de especificações OpenAPI. Ele adiciona suporte ao Swagger UI para arquivos OpenAPI que você pode usar para gravar solicitações e inspecionar respostas.
No editor de código, você também receberá suporte de primeira classe:
HttpClient
, a complementação de código sugerirá todos os URIs que podem ser resolvidos para ações em controladores anotados com os atributos [Route]
, [Http{Method}]
ou [AcceptVerbs]
. Saiba mais na postagem Uma maneira melhor de descobrir APIs com a nova janela Endpoints, no blog da JetBrains.
A tão esperada depuração no lado do cliente para o Blazor WebAssembly chegou no Rider. Ela funciona para aplicações .NET 5.0 e .NET Core 3.1.
Follow the official Microsoft guide to set up WASM debugging. Em seguida, basta começar a depurar suas aplicações como de costume.
Para que ele funcione no Linux, você precisa instalar manualmente certificados de desenvolvimento de antemão, caso contrário, ele não funcionará. If you are using Ubuntu, you can follow this guide.
Rider supports the debugging proxy if either of these NuGet packages are installed: Microsoft.AspNetCore.Components.WebAssembly.DevServer or Microsoft.AspNetCore.Components.WebAssembly.Server. No momento, não oferecemos suporte a proxies de depuração personalizados para aplicações Blazor WASM.
Você usa variáveis temporárias para trocar valores de variáveis? Agora, existe uma maneira mais elegante de fazer isso! O Rider 2021.2 ajudará você a modernizar seu código com a nova correção rápida Swap via deconstruction.
Reduza o número de alocações no seu código e aumente o rendimento. Substitua criação de array vazio por Array.Empty<T>
.
Se você estiver alocando um novo Type[0]
, o Rider sugerirá o uso de Type.EmptyTypes
para tornar o uso da memória mais eficiente.
Se EventArgs
específicos não forem necessários, o Rider poderá substituir new EventArgs()
por EventArgs.Empty
.
Outras melhorias:
Você tem muitas supressões de aviso anuláveis na sua base de código depois de habilitar tipos de referência anuláveis?
O Rider indica supressões (!
) que não são mais necessárias e que podem ser removidas com segurança.
Uma nova ação de contexto permite pesquisar todas as supressões de aviso anuláveis no escopo. Na janela de ferramentas Find Results, você pode reavaliar se as supressões são necessárias ou não.
Introduzimos uma nova refatoração para alterar a nulabilidade. Ela está disponível como uma correção rápida, pela ação Refactor This ou por uma refatoração no local ao adicionar ou remover a anotação anulável (?
).
O Rider atualizará anotações de nulabilidade e sugerirá a propagação das alterações em toda a sua base de código.
Diversas novas inspeções com correções rápidas correspondentes estão disponíveis para quando você estiver usando atributos JetBrains.Annotations e os tipos de referência anuláveis estiverem habilitados.
Atualize os atributos JetBrains.Annotations para a sintaxe NRT e atributos compatíveis com o compiler. Por exemplo, o Rider pode atualizar [CanBeNull] string
para string?
O Rider informará sobre atributos JetBrains.Annotations redundantes, como [NotNull] string
ou [ItemCanBeNull] List<string?>
. E, é claro, ele oferecerá uma solução rápida para atualizar seu código.
Quando a sintaxe de tipo de anotação não for permitida, uma nova inspeção com uma correção rápida adicionará anotações compatíveis com o compilador, por exemplo:
[JetBrains.Annotations.NotNull] T param
a [DisallowNull] T param
(where T: class?
) [JetBrains.Annotations.CanBeNull] T
a [System.Diagnostics.MaybeNull] T
(no C# 8, onde a sintaxe T?
não é permitida) O Rider adiciona novas inspeções e correções rápidas para ajudar você a usar quatro anotações compatíveis com o compilador, como [DisallowNull]
, [AllowNull]
, [MaybeNull]
e [NotNull]
.
Uma nova inspeção detecta anotações redundantes do compilador, como quando [AllowNull]
é aplicado a um tipo anulável e uma correção rápida as remove.
Quando a sintaxe de tipo de referência anulável puder ser usada, o Rider sugerirá o uso.
Existem melhorias adicionais que também merecem ser mencionadas:
Geradores de código fonte podem ser usados para reduzir o trabalho de desenvolvimento entediante e repetitivo e para gerar código em tempo de compilação. No ReSharper 2021.2, muitos dos recursos disponíveis para arquivos de código escrito manualmente também estão disponíveis para arquivos de código fonte gerados automaticamente. Melhoramos o suporte ao editor e adicionamos suporte para refatorações.
Agora, as refatorações podem ser acionadas a partir de arquivos de código-fonte gerados automaticamente. Use a refatoração Rename para renomear uma propriedade gerada. O Rider também renomeará o símbolo relacionado em um código escrito manualmente.
Da mesma forma, Change Signature permite que você verifique se o código que será gerado após a alteração ainda pode ser compilado.
Agora, você pode usar Find Usages, procurar herdeiros, navegar do código gerado ao código escrito manualmente com Ctrl+Click e Navigate To e muito mais.
O realce semântico está habilitado e, portanto, membros de classes como eventos, campos e propriedades são realçados corretamente. Todas as dicas de inserção são mostradas quando apropriado.
Para o código gerado, avisos e erros são exibidos no editor e na barra de marcadores.
Além disso, o Rider agora oferece suporte ao código escrito por geradores de código-fonte no VB.NET.
O Rider 2021.2 continua sua missão de ser um excelente IDE para o desenvolvimento de jogos, com novos recursos para o Unity e algumas melhorias revolucionárias no nosso suporte para Unreal Engine em versão de demonstração preliminar. E, se você trabalha com o Godot, certifique-se de conferir o plug-in Godot Support for Rider.
Agora, a integração inteligente do Rider com o editor do Unity verificará se alguma cena está aberta e não salva antes de você submeter o código. Você pode ter certeza de que tudo está a salvo antes de fazer a submissão!
Já faz tempo que o Rider mostra um link para a documentação do Unity na dica de ferramenta para uma classe ou método do Unity. A diferença é que agora você pode usar a ação External Documentation e seu respectivo atalho para acessar diretamente os documentos sem mostrar a dica de ferramenta primeiro.
O Rider agora pode depurar players UWP locais, solicitando corretamente ao Windows que permita conexões de entrada para o processo que está sendo depurado.
A exibição Packages no Unity Explorer agora aparece significativamente mais rápido quando uma solução é reaberta e até mesmo se lembrará das pastas abertas.
Este lançamento melhora a experiência de depuração dos players baseados em IL2CPP, desabilitando automaticamente a Break on Unhandled Exception quando ele se conecta a um player IL2CPP.
Como sempre, muitas outras melhorias e correções secundárias, como métodos [UnitySetup]
não mais marcados como não usados e nomes de camada, são mostradas corretamente na complementação para projetos mais antigos. Existem várias melhorias de desempenho para inspeções baseadas no Unity, especialmente aquelas para arquivos grandes.
O Rider for Unreal Engine está progredindo de demonstração preliminar pública para um lançamento final. Confira no que temos trabalhado desde o lançamento de 2021.1: é uma lista e tanto.
Suporte para o Unreal Engine 5! É isso mesmo que você leu: o Rider for Unreal funciona muito bem com os novos projetos Unreal Engine 5, assim como funciona com os seus projetos Unreal Engine 4 existentes.
Suporte para a abertura de arquivos .uproject! Isso mesmo! Chega de gerar arquivos de solução do Visual Studio: o Rider pode abrir seu projeto do Unreal Engine diretamente do arquivo <NomeDoProjeto>.uproject
.
O Rider for Unreal Engine agora funciona no Mac! Basta abrir o arquivo <NomeDoProjeto>.uproject
e obter a experiência completa do Rider for Unreal no seu macOS. Isso inclui edição aprimorada de shaders C++ e HLSL, navegação, inspeções e refatorações, configurações de estilo de código e correções rápidas, suporte para Blueprint (localizar usos do código dentro de um blueprint, links, contadores e navegação do Code Vision) e integração refinada via depurador com o Unreal Editor. A versão do macOS funciona com o Unreal Engine 4.26 ou posterior.
Grandes melhorias para o Natvis e a apresentação incorporada de resultados do depurador. Suporte para o atributo "inheritable", especificadores de formato, itens de lista personalizados e muito mais, incluindo resumos de uma linha para todas as estruturas não cobertas pelo Natvis e um nó [Raw View]
para examinar dados de objetos subjacentes.
Configurações de estilo de código expandido. O Rider reconhecerá um projeto do Unreal e se configurará automaticamente para entender e seguir as convenções de estilo de código do UE. Ele realçará o código que não segue o estilo correto e oferecerá correções rápidas para atualizar seu código automaticamente.
Por último, mas não menos importante, o plug-in EzArgs fornece fácil acesso aos argumentos de configuração de execução/depuração C++. Basta digitar um novo argumento na lista suspensa da barra de ferramentas.
Combinamos as caixas de diálogo Reformat File e Code Cleanup. Os atalhos para ambas permanecem os mesmos, mas você terá uma nova exibição unificada que permite que as duas etapas sejam executadas ao mesmo tempo. Perfis de limpeza também visualizam quais ações serão executadas, e você pode alternar facilmente para o modo de edição de perfil com o clique de um botão.
Na caixa de diálogo de submissão, agora você pode habilitar a limpeza automática de código para as suas alterações com o perfil de sua escolha. Como alternativa, você pode usar uma nova opção na caixa de diálogo Reformat and Cleanup para reformatar/limpar apenas as alterações não confirmadas no arquivo atual.
Ações para reformatar código, otimizar importações e reorganizar código agora estão disponíveis para CSS, JavaScript e SQL. As regras podem ser ajustadas em Settings | Editor | Code Cleanup.
Sua primeira vez como usuário do Rider? Se você nunca instalou ou usou o Rider antes, o assistente de boas-vindas agora permite importar configurações de outros IDEs, como o Visual Studio, o Visual Studio for Mac ou o Visual Studio Code. Além disso, o Rider reconhecerá as configurações do ReSharper.
Leia mais sobre como funciona a importação de configurações de outros IDEs.
Agora, ficou mais fácil arrastar uma janela de ferramentas até o local desejado dentro da janela principal do IDE ou uma janela separada. Você pode arrastá-la clicando e segurando a barra de nome da janela de ferramentas e pode soltá-la em qualquer área realçada.
A barra de título agora é transparente no macOS quando a janela do IDE não está no modo de tela inteira. Isso significa que não há uma borda visível entre a barra de título e o resto da janela.
Se você precisar configurar opções específicas de casos de uso no Rider, poderá fazer isso no novo nó Advanced Settings em Preferences/Settings. Por exemplo, você pode adicionar uma margem esquerda no modo Distraction-free ou definir o cursor para se mover para baixo depois de usar a ação Comment with Line Comment.
Simplificamos a navegação em Preferences/Settings, adicionando setas no canto superior direito da janela. Elas permitem que você salte rapidamente entre as seções abertas.
Valores de propriedades são avaliados e mostrados no depurador por padrão, mas, às vezes, sua avaliação pode demorar um pouco. É por isso que adicionamos uma nova ação Disable Evaluation of Selected Item.
Especialmente com código nativo, pode acontecer que a avaliação de uma chamada de método trave a sessão de depuração. O Rider se lembrará dessas chamadas problemáticas e desabilitará a avaliação delas para você.
Ao percorrer as bases de código, cada novo arquivo é aberto em uma nova guia, às vezes deixando uma barra de guias muito poluída. A guia de visualização pode ajudar aqui. Ela permite que você visualize os arquivos em uma única guia, um por um, sem abrir cada arquivo em uma nova guia. Você pode habilitá-la em Settings/Preferences | General | Editor Tabs | Opening Policy.
Já faz um bom tempo que o Rider usa Default Changelist como o nome do nó que armazena todas as alterações não submetidas. Neste lançamento, decidimos tornar o termo mais preciso, usando simplesmente a palavra Changes. Essa atualização afetará seus novos projetos.
O Rider não adicionará mais listas de alterações automaticamente para operações do Git. Então, por exemplo, uma seleção específica não acionará a criação de uma lista de alterações.
No entanto, se você ainda preferir a criação automática em vez do novo comportamento, poderá ativar o primeiro em Preferences/Settings | Version Control | Changelists, marcando a caixa de seleção Create changelists automatically.
Adicionamos um campo de pesquisa à caixa de diálogo Local History para ajudar você a obter rapidamente o texto necessário nas suas revisões de Local History. Agora, ao clicar com o botão direito em qualquer arquivo alterado e selecionar Local History | Show History no menu de contexto, você poderá navegar rapidamente pelo histórico dos seus arquivos digitando a consulta nesse campo.
Agora é possível habilitar a assinatura de submissões do Git com o GPG via Preferences/Settings | Version Control | Git. Se esta for a primeira vez que você usa uma chave GPG, primeiro será necessário configurá-la. Com uma chave GPG pré-configurada existente, basta selecioná-la na lista suspensa.
A menor versão do Git com suporte pelo seu IDE agora é a 2.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.
Implementamos a remoção estrutural do código: basta selecionar e excluir o código com qualquer tipo de seleção estrutural (como navegação estrutural, estender/reduzir seleção ou reorganizar o código) e deixar o Rider realizar as modificações estruturais restantes. Você pode remover vírgulas e caracteres de dois pontos para argumentos de chamada de método, parênteses em argumentos de atributo ou chaves para inicializadores de objetos vazios.
Atualizamos a forma como a Documentação Rápida é exibida. Os atributos agora são realçados, para facilitar a leitura e navegação. Se você está inspecionando qualquer classe ou método que usa elementos genéricos, o Rider não renderiza mais um valor de espaço reservado. Em vez disso, é exibida a implementação concreta.
Se você prefere usar um estilo de chaves Pico (recuo), nós temos o que você precisa. O estilo Pico foi adicionado como uma opção à guia Brace Layout, em Preferences/Settings | Editor | Code Style | C# | Braces Layout.
Se você visualizar arquivos HTML no navegador, eles serão atualizados automaticamente de acordo com as alterações salvas no arquivo HTML ou nos arquivos CSS e JavaScript vinculados. Esse recurso está habilitado por padrão.
Chega de perder tempo refatorando funções e valores useState um por um: agora, o Rider pode renomear ambos para você. Posicione o cursor em um valor de estado e pressione Shift+F6 ou acesse Refactor | Rename no menu de contexto ativado com o botão direito do mouse.
require()
Você sabia que o Rider pode adicionar instruções de importação ausentes conforme você complementa símbolos ES6? Agora, ele também pode fazer o mesmo para módulos CommonJS – importações require
serão inseridas na complementação de código.
Saiba mais na página Novidades do WebStorm.
Adicionamos suporte para gerar arquivos .aab
(Android App Bundle), além de arquivos .apk
, que em breve serão a única maneira de fazer o upload das suas aplicações na Google Play Store.
Agora, é possível criar e editar XCAssets para imageset
, appiconset
e colorset
dentro do próprio Rider. Isso permite que você veja todos os diferentes dispositivos finais e suas imagens, ícones e cores atribuídos. Imagens e ícones podem ser adicionados ou substituídos por meio de ações de arrastar e soltar. Para uma seleção de cores conveniente, adicionamos nosso popular controle de seleção de cores.
Ao editar o layout do Android ou arquivos de recursos, o arquivo Resource.Designer.cs
agora é gerado automaticamente, removendo todos os erros que antes eram mostrados incorretamente.
Templates Postfix ajudam a transformar expressões que você já digitou sem voltar para trás. Finalmente os introduzimos para o F#, começando com o template let
.
O Rider tem uma nova ação para desconstrução de padrões para casos com tuples
e union
no F#.
Ações para reorganizar o código já estão disponíveis. É possível mover elementos para cima/baixo ou para a esquerda/direita em casos de enumeração ou união, campos de caso de registro ou união, cláusulas de correspondência, tuplas e parâmetros de função.
Outra nova ação, Optimize Imports, dispensará você da necessidade de acionar manualmente uma correção rápida semelhante em avisos todas as vezes em que for necessário limpar importações.
let
de nível superior. .fsproj
. Está disponível uma demonstração preliminar do Rider 2021.2 com suporte total ao chip M1 nativo. Esta versão não tem a conversão x64-to-ARM64
. Ela usa os seguintes tempos de execução:
Confira esta página para obter mais informações.
A geração de fontes de dados DDL é outra etapa no nosso desenvolvimento em longo prazo de um controle de versão de banco de dados perfeito. Com esse recurso, você pode manter seus arquivos DDL em um sistema VCS e gerá-los novamente sempre que sua estrutura de banco de dados for atualizada.
Agora, é possível gerar uma fonte de dados DDL com base em uma real. Os arquivos DDL são criados localmente, e a nova fonte de dados se baseia neles. Dessa maneira, você sempre poderá gerar novamente esses arquivos e atualizar a fonte de dados DDL.
Se você ativar a opção Separate Procedures and Functions nas configurações do explorador de banco de dados (o ícone de engrenagem), isso terá efeito imediato.
Para o SQL Server, há nós dedicados para funções escalares e de tabela. Para o PostgreSQL, há um nó para funções de gatilho.
A nova opção de árvore de banco de dados, Show Constraints and Triggers in the Schema, atribui a gatilhos, chaves e índices seus próprios nós individuais no explorador de banco de dados.
A complementação de código para sinônimos entre bancos de dados está disponível.
Agora, o dotCover pode executar análises de cobertura de classes de teste em paralelo dentro de um único assembly. Em alguns casos específicos, isso pode resultar em uma análise de cobertura mais rápida.
Além disso, o pré-carregamento de executores de teste de unidade está disponível para projetos .NET Core e .NET, o que significa que a análise de cobertura começa de maneira mais rápida, pois os executores de teste de unidade já estão carregados na memória.
Existem melhorias adicionais que também merecem ser mencionadas:
A DPA agora armazena dois valores para cada issue: o valor máximo histórico e o valor da última execução. Isso evita falsos negativos, pois era possível que os issues caíssem abaixo do limite e desaparecessem da lista de issues, não porque foram corrigidos, mas sim porque suas condições de inicialização mudaram.
Além disso, existem várias outras melhorias:
SpecFlow is a tool to bring Behavior-Driven Development to .NET. Incentivados pela comunidade, ajudamos a equipe de desenvolvimento do SpecFlow a publicar um plug-in SpecFlow no JetBrains Marketplace, que adiciona realce de sintaxe, complementação de código, navegação e geração de código-esqueleto para testes SpecFlow. Abordamos esses recursos detalhadamente em um webinar com Andreas Willich.
Reconsideramos uma lista dos plug-ins em destaque que você pode ver no assistente “Customize Rider” durante a configuração inicial. Agora, a lista é a seguinte:
Diretórios grandes como node_modules ou libs podem diminuir significativamente a indexação de arquivos, que é usada para fornecer pesquisa de texto rápida. O Rider pode impedir que determinados diretórios sejam indexados a partir do menu de contexto.
Agora, você pode editar propriedades de arquivos (como "Build Action" ou "Copy to Output Directory") para vários itens selecionados no Solution Explorer.
The embedded decompiler now can decompile single-file apps. Ele oferece suporte a formatos de arquivo único para o .NET Core 3.1, .NET 5 e o próximo SDK .NET 6.
Usando o Assembly Explorer, é possível navegar por assemblies inclusos dentro de um aplicativo de arquivo único, como você já está acostumado.
Agora, você não perderá nenhuma atualização crítica de produto do JetBrains Toolbox App. O Rider alertará 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.