O Rider 2020.2 oferece alguns recursos muito solicitados, como o Localization Manager e o suporte para Shader em nossa integração com o Unity. Reformulamos completamente o Executor de testes de unidade e a API do depurador para torná-los mais rápidos, mais poderosos e mais estáveis. Esse lançamento também inclui melhor suporte para C#, pontos de interrupção de dados e suporte completo para solicitações pull do GitHub.
O novo lançamento vem com a nova API de depurador, que foi amplamente reescrita. Isso não é perceptível na interface do usuário, mas permite que mais recursos sejam adicionados e permite que os plug-ins entrem no processo de depuração como nunca antes. Isso inclui cálculos de valores super vagarosos aprimorados com melhor interrupção e representações de valores personalizados. A única coisa notável para quem vê de fora é que as janelas de ferramentas de depurador mostram os ícones corretos para todas as variáveis.
Pontos de interrupção de dados são úteis quando você precisa se concentrar nas propriedades de um objeto específico. Você normalmente os usa em cenários em que sabe o que será alterado, mas não tem ideia de onde a alteração ocorre na sua base de código. Isso estará acessível na janela de ferramentas Watch e funciona até mesmo com elementos da array. Devido a limitações atuais da plataforma, isso provavelmente apenas será possível para o .NET Core 3+ no Windows.
No Rider 2020.2, adicionamos Pin-To-Frame, que permite afixar valores entre quadros. Você pode afixar parâmetros para uma função e vê-los na lista de quadros de pilha. Ao depurar funções recursivas, ele permite observar o estado dos valores em diferentes iterações.
O Localization Manager agora está disponível no Rider para ajudá-lo a localizar seu aplicativo ou site .NET. Você pode acessá-lo usando o menu Tools ou clicando duas vezes em um arquivo .resx.
Ele permite visualizar tudo o que está contido em todos os arquivos .resx
do seu projeto, ou uma seleção especificada de arquivos, em uma única grade.
Você pode encontrar facilmente todos os recursos que não possuem valores traduzidos ou que simplesmente não são usados.
Você pode adicionar, editar, renomear, procurar, localizar usos e excluir com segurança qualquer recurso localizado.
Você pode adicionar facilmente uma nova cultura ao seu aplicativo usando a lista predefinida de culturas na complementação ou pode ocultar localidades desnecessárias no momento.
Você pode exportar toda a grade para um arquivo no formato CSV para compartilhar com os tradutores e importar a versão final de volta para o Localization Manager.
Você pode adicionar e editar comentários para qualquer entidade a partir de arquivos de recursos diretamente na grade e também pode exportar e importar esses comentários.
Você pode visualizar toda a estrutura de arquivos .resx
na sua solução com diferentes agrupamentos.
O Rider 2020.2 adiciona o suporte muito solicitado aos shaders Cg e HLSL! Isso inclui realce de sintaxe, complementação de código, realce de erros semânticos, acesso a definições, localização de usos, refatorações e muito mais.
O Rider entende completamente a estrutura dos arquivos shaders, incluindo macros, e pode navegar até as definições de macro ou desenrolá-las diretamente no código. Os arquivos incluídos são descobertos e analisados e a combinação Ctrl+clique em um arquivo incluído levará você diretamente até esse arquivo.
Apresentando um novo tipo de ponto de interrupção! Defina um ponto de interrupção no código, converta-o em um ponto de pausa e, quando o depurador o atingir, o Unity Editor mudará imediatamente para o modo de pausa, permitindo que você use o Inspector para visualizar o estado do seu jogo.
Isso se torna uma ferramenta ainda mais poderosa quando usada em combinação com pontos de interrupção condicionais e dependentes. Leia mais nesta postagem de blog.
O código habilitado para Burst pode melhorar muito o desempenho do seu aplicativo Unity, mas impõe restrições sobre o que seu código pode fazer.
O Rider 2020.2 adiciona uma análise inteligente para todo o código chamado dentro de um contexto de Burst e realçará qualquer uso incorreto de código, como isolamento, uso de foreach ou try/catch, leitura/gravação em campos estáticos e muito mais.
O Rider já possui excelente suporte para depuração de players pela rede, incluindo players autônomos para desktop, celulares e consoles autônomos.
O Rider 2020.2 introduz a depuração baseada em USB para dispositivos Apple (a depuração USB para dispositivos Android está planejada para uma versão futura).
Todas as correções rápidas que podem ser executadas em arquivos, projetos e soluções inteiras foram atualizadas para poderem fazer isso.
Remova atributos redundantes do Unity, substitua comparações de literais de string por CompareTag
, melhore o desempenho combinando a criação de objetos com a configuração da transformação principal e muito mais – tudo isso no seu projeto Unity, com um único clique.
O depurador do Rider mostrará valores contextuais extras para projetos Unity. Obtenha acesso fácil à cena ativa, aos objetos de jogos secundários e a todos os componentes conectados.
O Rider também exibe informações resumidas aprimoradas para certos tipos, como Ângulos de Euler para Quaternion, valores de precisão total para vetores, o estado de comportamento habilitado e muito mais.
Rider will automatically use Unity’s Smart Merge tool to merge asset files when performing integrated version control operations.
Interessado no desenvolvimento de jogos com o Unreal Engine? No caminho para transformar o Rider em um IDE de desenvolvimento de jogos universal, multifuncional e independente, introduzimos suporte inicial para o desenvolvimento em Unreal Engine no Rider:
A versão de acesso antecipado é gratuita. Basta registrar-se para participar.
A análise de código de nulidade agora reconhece mais casos e pode rastrear a nulidade incorreta através da desconstrução e do ciclo foreach
. Ela também fornece uma correção rápida correspondente.
A análise de código agora leva em conta os atributos JetBrains.Annotations (ambos NotNull
e CanBeNull
) para a API, mesmo no código em que tipos de referência anuláveis estão desabilitados (#nullable disable
).
Ações de contexto para converter "foreach
em LINQ" e "LINQ em código" também estarão disponíveis em IAsyncEnumerable‹T›
se você tiver o pacote NuGet System.Linq.Async
instalado para seu projeto.
Agora, é possível gerar facilmente implementações de IEqualityComparer‹T›
e IComparer‹T›
com as correções rápidas apropriadas.
A Análise de código agora leva em consideração as anotações do compilador (como AllowNull
e DisallowNull
) ao verificar a nulidade de membros implementados ou substituídos.
Existem novas inspeções e correções rápidas para tornar variáveis e tipos de retorno "não anuláveis" caso elas nunca tenham retido ou retornado valores anuláveis.
A análise de código agora pode seguir as regras dotnet_diagnostic do arquivo .editorconfig
. Especifique a gravidade das inspeções no arquivo .editorconfig
, por exemplo, dotnet_diagnostic.CS1058.severity = hint
, e o Rider exibirá as inspeções adequadamente.
O suporte para o recurso de implementações padrão em interfaces foi aprimorado neste lançamento. A medianiz à esquerda no editor de código mostra que um método é implementado ou substituído, e nossas refatorações e navegação estão cientes desse recurso da linguagem C#.
As dicas de inserção agora estão disponíveis no código XAML. Fornecemos dicas para nomes de propriedades de marcação e DataContext
, bem como para margens e preenchimentos, o que é útil se você não deseja memorizar suas ordens.
A correção rápida Suppress nullable warning with ! pode ser desativada para uma solução por meio do menu Alt+Enter.
Reconstruímos nosso Executor de testes de unidade para que o .NET Framework e o .NET Core tenham o mesmo executor nos dois tempos de execução que são rodam fora do processo do Visual Studio. Ele nos ajuda a resolver vários problemas com a descoberta, execução e depuração de testes de unidade, além de fornecer controle total sobre hierarquias de teste de unidade para testes do .NET Core.
O novo executor de testes de unidade apresenta as seguintes melhorias importantes:
O Rider agora oferece suporte ao atributo DisplayName
nos testes do .NET Core para estruturas xUnit e NUnit.
Você pode selecionar vários status de teste de unidade simultaneamente para filtrá-los na árvore de testes de unidade. Habilite ou desabilite vários status segurando a tecla Ctrl enquanto clica neles.
Existem dois contadores diferentes para cada status quando um filtro de pesquisa ou framework de destino é aplicado para mostrar o número geral de testes de unidade e o número de testes que correspondem aos critérios de filtro.
Adicionamos suporte para códigos de escape ANSI na janela Output, para que você possa colorir a saída do teste de unidade se desejar.
Há uma nova ação no menu Alt+Enter para abrir a caixa de diálogo Settings se você receber o status "Visual studio installation folder is not set" para o seu teste de unidade MSTest.
O suporte aprimorado para solicitações pull do GitHub finalmente chegou! Você poderá procurar, atribuir, gerenciar e até mesmo mesclar solicitações pull, exibir a linha do tempo e comentários embutidos, enviar comentários e revisões e aceitar alterações.
O novo suporte inclui:
Para mais detalhes sobre esse novo recurso, confira este post de blog.
Além do suporte completo à solicitações pull do GitHub, os seguintes novos recursos estão disponíveis para sistemas de controle de versão:
Você pode usar a janela de ferramentas NuGet para ver todos os pacotes transitivos de uma solução ou projeto na nova seção Implicitly Installed Packages.
Passar o mouse sobre um pacote implícito revela uma dica de ferramenta que contém informações sobre a versão do pacote implícito e o pacote de referência. Se o pacote for referenciado em várias versões, todas serão mostradas.
Adicionamos um novo menu pop-up de contexto que pode ser chamado clicando com o botão direito do mouse ou pressionando Alt+Enter em um pacote NuGet. A partir daqui, você pode acessar rapidamente todas as ações relevantes para um único pacote NuGet, como atualizar ou remover o pacote, abri-lo no Assembly Explorer para examinar a API, revelá-lo no explorador do sistema de arquivos, navegar até a entrada NuGet.org relacionada ou localizar o código dependente.
Há também uma nova ação Quick NuGet Documentation para exibir os caminhos de referência implícitos para um pacote.
A caixa de pesquisa de pacotes também recebeu uma atualização. Você pode clicar no ícone da lupa ou usar Alt+Down Arrow para abrir o histórico de pesquisas recentes em pacotes.
Agora, também podemos editar valores para duas das propriedades alteradas com mais frequência – globalPackagesFolder
e repositoryPath
.
Na guia Feeds, agora podemos ver imediatamente se um caminho de feed é inválido, pois o caminho será realçado com um retângulo vermelho.
Uma mensagem de aviso também será mostrada na lista de pesquisa se procurarmos um pacote e ele não for encontrado em nenhum dos feeds.
O novo aviso no painel de detalhes é uma indicação visual de quais pacotes ainda estão em manutenção ou foram descontinuados.
A refatoração Introduce Variable está agora disponível para expressões. Quando invocado, mostra as subexpressões adequadas (a menos que uma parte específica do código seja selecionada) e oferece a substituição de subexpressões semelhantes. Também é inteligente em nomear a nova variável e sugere um nome significativo de acordo com o tipo e o contexto.
Rename agora funciona com caracteres curinga sublinhados. Sempre que você precisar transformar um padrão de curinga em uma variável nomeada, poderá chamar a refatoração em vez de fazê-lo manualmente. Também leva em consideração o tipo e o contexto ao sugerir nomes.
O Import Type
foi significativamente aprimorado. Agora, ele funciona em mais casos e mantém a contagem de parâmetros em mente ao sugerir um tipo. O Rider agora também pode sugerir a referência a um módulo ou outro projeto da sua solução e importar o tipo a partir dele.
Várias novas correções rápidas foram adicionadas também: adicionar parênteses a uma aplicação de uma função na lista de parâmetros, adicionar o atributo Extension
a um tipo ou módulo de contenção, corrigir erros de sintaxe, converter let em use e muitos outros.
Implementamos um analisador rápido de qualificadores redundantes e uma correção rápida correspondente para remover as redundâncias.
Agora, há mais opções para realçar vários símbolos de maneira diferente. Além disso, as abreviações de tipos são realçadas como os tipos que abreviam e as funções podem ser realçadas como métodos. Both are external contributions, and we thank Igor Bagdamyan for them.
O Rider agora tem dicas de tipo para expressões em cadeias |>
. Elas ajudam você a acompanhar o que está acontecendo sem ter que seguir toda a cadeia na sua mente. This too is an external contribution, which we’d like to thank Saul Rennison for.
As referências de cores agora estão realçadas no código, tornando-as mais visíveis.
Finally, we now have an F# Compiler Service monitor – thanks again to Saul. Sempre que o FCS estiver ocupado, um indicador será exibido. Ela é principalmente uma ferramenta de diagnóstico. Ela ajuda o desenvolvedor a entender o motivo pelo qual o IDE está pensando e, no caso de o comportamento parecer suspeito, pode ser relatado à equipe do Rider para análise.
To learn more about updates in F# support, please take a look at the release notes on GitHub.
Temos boas notícias para desenvolvedores UWP – o suporte para associações compiladas com x:Bind está finalmente aqui!
O Rider resolve o código x:Bind
corretamente e oferece várias inspeções e correções rápidas correspondentes. Ele avisa sobre a falta de setters de propriedades, atributos BindBack
e quando há colisões de sobrecarga. Além disso, há um conjunto de correções rápidas Create from Usage para gerar um campo, propriedade ou método adequado dentro do C# code-behind.
Há complementação de código e informações de parâmetros para os atributos propertyPath
, BindBack
e UpdateSourceTrigger
dentro de uma expressão x:Bind
.
As refatorações Change Signature e Safe Delete agora reconhecem o uso do método no código XAML e o atualizam de acordo. Além disso, as refatorações Make Static/Const e Encapsulate Field funcionam diretamente do código XAML e atualizarão os usos XAML corretamente se você as chamar do C# code-behind.
O reconhecimento de nulidade é integrado à análise de código x:Bind
. O Rider agora mostra inspeções relacionadas a nulos diretamente no código XAML quando há atributos CanBeNull
e NotNull
no código C#, por exemplo, “Possible System.NullReferenceException
” e “Possible null
assignment to non-nullable entity” para argumentos em um método usado em um propertyPath
.
Outros recursos do Rider, como Find Usages e Go to Declaration, também estão cientes de associações x:Bind
.
O plug-in dotTrace pode criar um perfil da parte nativa de aplicações Mono/Unity no Windows. Inicie uma sessão com a opção Enable native profiling, e você verá pilhas de chamadas nativas e gerenciadas em snapshots de desempenho.
Agora, você pode filtrar por processo/módulo/classe/ método em Settings/Preferences | Build, Execution, Deployment | Dynamic Program Analysis | Filtering
para restringir o escopo do recurso Análise dinâmica de programas.
A nova versão traz vários recursos úteis para o plug-in dotCover:
Navigate to | Coverage Tree
ou usando o ícone Navigate from Editor
na barra da janela de ferramentas Coverage). Depois de instalar o Azurite storage emulator usando o npm (npm install -g azurite
), um nó do Azurite será adicionado à janela de ferramentas Services. A partir daqui, você pode iniciar, parar e limpar o emulador de armazenamento.
Ao usar gatilhos de timer em Azure Functions
, você deve inserir uma expressão NCrontab válida que defina quando a função será executada. O Azure Toolkit for Rider agora ajuda a editar o crontab, fornecendo complementação de código com várias expressões de exemplo a partir das quais você pode começar a trabalhar.
O Rider agora valida se uma expressão NCrontab é válida ou não e fornece informações extras sobre o que pode estar errado.
Diga Olá para o suporte ao Markdown no Rider! O Rider 2020.2 vem com o plug-in Markdown. Ele reconhece arquivos Markdown na sua solução, fornece um editor dedicado para eles e mostra o HTML renderizado em uma visualização ao vivo.
As configurações de execução do Godot foram reformuladas. Você pode executar, depurar e executar com definição de perfil as configurações de execução Player e Editor. Além disso, você pode editar a linha de parâmetros da linha de comando que é usada para executar o player e o editor.
Além disso, agora você pode iniciar a execução ou a depuração de cenas individuais diretamente no menu de contexto na exibição the Solution Explorer.
Agora, se você tiver um valor enorme na sua célula, poderá visualizá-lo e editá-lo em um painel separado. Também é possível alternar o modo de quebra automática de linha usando a barra de ferramentas à direita. Use todo o poder do editor de código do Rider para os seus dados!
Agora, existe uma maneira mais amigável de visualizar e editar valores booleanos. Agora, os valores "True" estão indicados com um marcador para diferenciá-los de todos os outros.
Começando com esta versão, você pode revisar a consulta que representa suas alterações no editor de dados. ,Agora existe um ícone DML que ficará ativo se houver alterações pendentes. Ao clicar no ícone, você verá uma caixa de diálogo com a visualização do DML. Essa consulta não é necessariamente o SQL exato que será executado para modificar seus dados, pois o Rider usa um driver JDBC para atualizar tabelas, mas, na maioria das vezes, será o mesmo.
Confira Novidades no DataGrip para todas as melhorias no banco de dados que também estão disponíveis no Rider 2020.2.
Novas intenções inteligentes (Alt+Enter) ajudarão você a executar algumas ações mais rapidamente. Por exemplo, agora, você pode converter rapidamente um loop for com um índice numérico em um método de array forEach
. Examinar os comentários da documentação nos arquivos JavaScript e TypeScript também ficou mais fácil, pois agora você pode renderizá-los diretamente no editor, minimizando todas as distrações.
Deseja usar o Prettier em vez do formatador incorporado para organizar seu código? Com essa atualização, isso ficou ainda mais fácil do que antes. Instale o plug-in do JetBrains Marketplace e, em Settings/Preferences | Plugins page
, marque a nova caixa de seleção "On code reformat", e o IDE usará o Prettier sempre que você reformatar seus arquivos .js
, .ts
, .jsx
e .tsx
. Outros tipos de arquivos também podem ser facilmente adicionados.
No ano passado, adicionamos suporte ao Nuxt.js, configurações de estilo de código específicas do Vue, melhorias no Vue em projetos TypeScript e muitas outras atualizações. O suporte ao Vue no Rider nunca foi tão avançado!
Confira Novidades no WebStorm para conhecer todas as melhorias no desenvolvimento Web que também estão disponíveis no Rider 2020.2.
Neste lançamento, a caixa de diálogo Conflicts foi reprojetada como uma etapa separada na interface Refactorings. A lista simples de antes foi substituída por uma árvore agrupada por arquivo. Para retornar à lista simples, clique no ícone Flatten na barra de ferramentas direita.
Ao chamar refatorações Introduce parameter ou Introduce field em uma expressão, o Rider pergunta em qual parte da expressão a refatoração deve ser aplicada.
Existem algumas atualizações notáveis:
.Designer.cs
", o Rider agora gera um em vez de exibir um erro. ProjectReferences
em projetos de sites.