O Rider 2020.1 agora executa o back-end no tempo de execução do .NET Core por padrão no macOS e Linux e oferece os recursos Xamarin Hot Reload e Dynamic Program Analysis. Ele apresenta uma maneira fácil de configurar a gravidade do editor e adiciona análise de fluxo de dados para valores inteiros, além de um preenchimento de código mais rápido. A janela Debug foi reformulada, e a refatoração de extração de classe e os filtros de cobertura agora estão disponíveis.
Diga Olá para a edição .NET Core do Rider! Finalmente, o back-end é executado no tempo de execução .NET Core por padrão no macOS e Linux, em vez de no tempo de execução Mono. Você notará instantaneamente:
A propósito, a versão atual do .NET Core é a melhor e mais recente 3.1, apresentando várias melhorias de desempenho em comparação com a versão 3.0.
Observe que, por enquanto, não há suporte para Windows, apenas macOS e Linux. Planejamos adicionar suporte para Windows ainda este ano.
Quer saber mais sobre a transição do Mono para o .NET Core e ver os gráficos de desempenho? Confira este post de blog!
Se você tiver algum problema com o back-end do Rider em execução no .NET Core e quiser voltar ao tempo de execução Mono, selecione Help | Switch IDE runtime to Mono. E, se algo der errado para você, não se esqueça de nos dizer.
O suporte inicial para o recurso Xamarin Hot Reload está aqui! Agora, o Rider aplica automaticamente as alterações feitas no XAML do Xamarin Forms ao aplicativo em depuração em um dispositivo ou simulador, sem reconstruir e reimplementar o aplicativo inteiro.
Observe que há uma limitação: se um PC/laptop com o Rider e um dispositivo iOS não estiverem na mesma rede Wi-Fi, um Hot Reload não funcionará, mesmo que o dispositivo iOS esteja conectado ao PC/laptop via USB.
Além disso, o suporte ao Xamarin recebe uma correção importante: o erro “Invalid target architecture 'arm64e'” não aparece mais ao executar projetos Xamarin.iOS em um dispositivo iPhone XS Max.
Confira o post de blog para conhecer mais atualizações.
Temos o prazer de apresentar o recurso Dynamic Program Analysis. Todas as vezes que você executa seu projeto no Rider, a DPA começa a coletar dados de alocação de memória. Depois que você fechar o aplicativo, a DPA mostrará uma lista dos problemas detectados: fechamentos e alocações para heaps de objetos grandes e pequenos. O melhor de tudo é que você não precisa iniciar nenhuma “sessão de criação de perfil” e tirar snapshots. Basta trabalhar como de costume, e todos os dados serão coletados em segundo plano, com quase zero de sobrecarga. Testar a DPA em várias soluções reais demonstrou uma desaceleração de apenas 0 a 2%.
Observação: a DPA está disponível apenas no Windows, e você não precisa de uma licença separada para ativá-la.
Saiba mais: Detecte problemas de memória automaticamente no seu aplicativo com a Dynamic Program Analysis
Esta versão do Rider introduz um novo tipo de análise de código para rastrear o uso de valores inteiros no seu aplicativo. Esse novo tipo de análise rastreia como os valores de todas as variáveis locais int
variam e verifica a correção de todas as operações comuns nessas variáveis para detectar partes de código inúteis ou possivelmente incorretas. Ou seja, ele avisa sobre:
true
ou false
. switch
heuristicamente inacessíveis, verificando valores int
.1
, adição de 0
etc. int
.0
.Para melhorar a precisão da análise, também adicionamos dois novos atributos JetBrains.Annotations para uso com membros de tipo e parâmetros do tipo int
: [NonNegativeValue]
e [ValueRange(from, to)]
. Esses atributos especificam como os valores dos membros int
específicos podem variar em tempo de execução.
ScriptableObjects
e os valores de campos serializados. Boo.Lang.List
ou System.Diagnostics.Debug
em seu preenchimento de código para projetos do Unity. Continuamos adicionando cada vez mais suporte aos recursos da linguagem C# 8. Refatoramos bastante o suporte à linguagem C# para preparar a análise de código e outros recursos, como refatorações e ReSharper Build, para oferecer suporte a Tipos de referência anuláveis (NRT). No Rider 2020.1, a análise de código relata avisos de compilação relacionados a tipos de referência anuláveis e fornece correções rápidas para a maioria deles.
Existem também várias novas inspeções e soluções rápidas:
async
de métodos, quando disponíveis, em vez de sobrecargas sync
. nameof
em vez de usar a construção typeof(SomeType).Name para obter o nome do tipo atual. No ano passado, recebemos alguns relatórios sobre o pop-up de preenchimento de código demorar muito para aparecer. Fizemos nossa lição de casa e, agora, o pop-up de preenchimento de código é exibido muito mais rápido depois que você começa a digitar, especialmente em soluções grandes.
Outro recurso muito útil que chegou nesta versão é que os membros marcados como Obsolete podem ser ocultados no preenchimento de código quando você não deseja vê-los lá.
Por último, mas não menos importante, o preenchimento de um item no pop-up de preenchimento de código agora respeita suas configurações de estilo de código.
Reformulamos completamente a interface do usuário para a janela de ferramentas Debug, para torná-la a mais limpa e organizada possível. Quando há apenas uma sessão de depuração em execução, o layout das guias é simplificado, pois todas elas estão agora em um único nível. As legendas das guias ocupam menos espaço e, portanto, há mais espaço para o conteúdo do depurador. E, quando há várias sessões, mais uma camada de guias é adicionada para separar essas sessões.
Ao mesmo tempo, combinamos as exibições Threads e Frames. Se você não precisa da exibição Threads no momento, pode ocultá-la clicando no ícone “Hide threads view”.
Também atualizamos o mecanismo do depurador para tornar sua experiência de depuração ainda melhor:
Esse novo recurso permite alterar facilmente os níveis de realce do editor. Com apenas um clique em um pop-up não modal, você pode ativar ou desativar Code Vision, Parameter Hints, Unity Performance Hints, Errors, Warnings, Suggestions, Context actions e muitos outros elementos. Procure o ícone de Lápis no canto inferior direito da guia do editor de código.
Ajustamos as barras de ferramentas nas janelas Unit Test Session e Unit Test Explorer.
Além disso, adicionamos três grandes recursos:
Saiba mais: Atualizações do executor de testes no Rider 2020.1
No Rider 2019.3, adicionamos um cliente TFS experimental que forneceu uma melhoria drástica na velocidade da ação "Checking for changes". No atual ciclo de lançamento, continuamos a colocar muito esforço no cliente.
Por fim, nosso cliente TFS chega ao seu primeiro lançamento e traz muitas melhorias. Vamos mencionar os dois mais significativos. Primeiro, habilitar a Integração com controle de versão agora funciona para espaços de trabalho TFS criados localmente com o Visual Studio. Isso significa que você não precisa mais recriar um espaço de trabalho local do zero no Rider. Segundo, aprimoramos bastante o desempenho das operações Delete e Rollback.
Para começar a usar o cliente TFS, acesse Settings | Version Control | TFVC e habilite-o.
O Rider, como todos os IDEs da JetBrains, agora usa a JetBrains Mono como fonte padrão em todos os temas. Esperamos que você aproveite!
Mais um recurso do ReSharper que estava faltando no Rider até agora está finalmente aqui: namespaces podem ser importados automaticamente quando o código é colado de um arquivo na solução.
Se você edita arquivos relacionados ao NuGet manualmente, achamos que ficará feliz em receber a assistência do Rider, já que ele agora oferece suporte inicial para editar arquivos NuGet.Config, packages.config e *.nuspec, incluindo preenchimento de código, validação de sintaxe e o pop-up de documentação rápida.
Também vale a pena mencionar estes aprimoramentos secundários:
Mais uma refatoração altamente requisitada e aguardada, disponível no ReSharper, finalmente chegou ao Rider– Extract Class.
Querendo saber por que você precisa dela? Imagine que você tem uma classe fazendo o trabalho que deveria na verdade ser feito por duas classes diferentes. Usar essa refatoração é a maneira mais segura e eficaz de decompor essa classe complexa em duas classes de responsabilidade única. Extract Class ajudará você a escolher métodos e campos para passar da classe antiga para a nova classe. Ela também avisa sobre dependências desfeitas e problemas de acessibilidade e sugere opções de resolução de conflitos.
A exibição Solution Explorer apresenta duas novas pastas úteis que fornecem mais informações sobre seu projeto: Implicit references como uma subpasta da pasta Assemblies e MSBuild import targets.
Além disso, existem várias pequenas atualizações:
Para dar a você mais controle sobre os resultados da cobertura do teste de unidade que você obtém no Rider, adicionamos filtros de cobertura. Para especificá-los, vá para Preferences/Settings | Build, Execution, Deployment | dotCover | Filtering.
Se você cria perfis de desempenho no Linux ou macOS, temos boas notícias: os aplicativos .NET Core podem finalmente ter perfis criados no modo Tracing nesses sistemas operacionais. Além disso, agora você pode anexar o profiler a aplicativos .NET Core no Linux.
Adicionamos vários novos recursos ao descompilador do Rider e ao IL Viewer:
Para melhorar o suporte para F# no Rider, fizemos várias melhorias e correções que devem ajudá-lo em sua rotina diária:
this.Property
) e expressões de indexador ("foo".[1]
). ()
.Para obter mais atualizações e correções, consulte o repositório GitHub.