Novidades no ReSharper Ultimate 2020.1

O ReSharper Ultimate 2020.1 introduz uma nova ferramenta de análise de fluxo de dados para valores inteiros em C# e oferece melhor suporte para o recurso de tipos de referência anuláveis e também para os novos recursos do C++20. Ele melhora o suporte a XAML e ao Unreal Engine, introduz alguns novos recursos para navegação e permite fazer comentários no Gerenciador de tradução. O descompilador oferece suporte para mais recursos do C# 7.x e 8.0.

Baixar

Avaliação gratuita por 30 dias disponível

Análise de fluxo de dados de valores inteiros em C#

Análise de fluxo de dados de valores inteiros em C#

Esta versão do ReSharper introduz um novo tipo de análise de código C# 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:

  • Operadores relacionais/de igualdade sempre fornecendo resultados true ou false.
  • Casos de switch heuristicamente inacessíveis, verificando valores int.
  • Operações aritméticas sem sentido, como multiplicação por 1, adição de 0 etc.
  • Possíveis estouros de int.
  • Divisão possível por 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.

Suporte para C#

Suporte para C#

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 ReSharper 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:

  • Para detectar restrições de parâmetros de tipos redundantes em relação a tipos de referência anuláveis.
  • Para detectar e usar sobrecargas async de métodos, quando disponíveis, em vez de sobrecargas sync.
  • Para usar a expressão nameof em vez de usar a construção typeof(SomeType).Name para obter o nome do tipo atual.

Notícias sobre desempenho

Este lançamento apresenta várias mudanças na arquitetura do ReSharper, que nos aproximam cada vez mais do nosso objetivo de executar todos os principais recursos do ReSharper fora do processo do Visual Studio. Como todas essas modificações ocorreram nos bastidores, você não perceberá diferenças na UI/UX da compilação do ReSharper 2020.1.

Se você perdeu as notícias sobre o nosso progresso em separar o ReSharper do processo, esta é uma boa oportunidade para ficar por dentro e saber onde estamos agora.

Atualizações de navegação

Esta atualização traz vários recursos pequenos, mas úteis, para a Navegação, beneficiando tanto aqueles que usam mais o mouse quanto aqueles que usam mais o teclado para interagir com o ReSharper:

  • Agora você pode clicar com o botão do meio (clique no botão de rolagem do mouse) para acessar a opção Go to Declaration.
  • Pressionar Ctrl+Enter na lista de resultados de Go to File realça o arquivo na janela do Solution Explorer.
  • Agora você pode usar um caminho completo em Go To File / Go To Everything para encontrar arquivos.
Suporte aprimorado para XAML

Suporte aprimorado para XAML

Na versão v2020.1, fizemos muitas melhorias e correções no suporte para XAML que abrangem os XAMLs WPF, Xamarin.Forms, UWP e Avalonia

Estamos felizes em fornecer níveis de suporte muito melhores para inferência de contexto de dados e resolução de símbolos em associações: 

  • Quando d:BindingContext é usado
  • Em Picker.ItemDisplay em Xamarin.Forms
  • Associação RelativeSource em Xamarin.Forms
  • Associação de modelo para o controle ScrollViewer
  • Quando ItemsSource é usado como um elemento aninhado
  • Em TreeView.ItemContainerStyle

Em projetos UWP, adicionamos suporte para: 

  • Marcação XAML condicional
  • Associação CustomResource 

Correções adicionais incluem suporte para:

  • Usando o Nome de recurso uniforme (URN) em uma definição de um esquema personalizado de namespaces XML
  • Colocando um símbolo de barra em um nome de recurso
  • Diretivas x:Static para Avalonia
Atualizações em testes de unidade

Atualizações em testes de unidade

A partir do ReSharper 2020.1, você pode exportar e importar qualquer uma das suas Sessões de teste de unidade. Isso permite compartilhá-las com a sua equipe, entre seus computadores ou entre branches quando você altera algo no código e deseja executar/cobrir o mesmo conjunto de testes de unidade para ambas as filiais.

Além disso, Sessões de teste de unidade que já foram criadas são preservadas após a atualização para uma nova versão principal do ReSharper, o que é útil se você não quiser perder sessões abertas e bloqueadas.

Comentários no Gerenciador de tradução

Comentários no Gerenciador de tradução

Você pediu, e nós entregamos! Existem novas linhas na grade para Comentários. Agora, você pode deixar um comentário (ou editar um existente) para qualquer valor proveniente de arquivos de recursos dentro da grade. Você também pode exportar e importar esses comentários. Se você não usa comentários, ou não precisa deles agora, pode ocultá-los clicando no ícone “Show/Hide comments”.

Além disso, implementamos várias correções de desempenho que tornam a grade mais rápida de carregar e filtrar, eliminamos alguns congelamentos da interface do usuário e tornamos a rolagem mais suave. 

Também vale a pena mencionar algumas melhorias na experiência do usuário: 

  • Melhor suporte para idiomas da direita para a esquerda
  • Navegação mais precisa até linhas específicas do editor de texto e caixas de diálogo de refatoração
  • Preenchimento de código aprimorado e validação nas caixas de diálogo
Formatação de código

Formatação de código

A formatação de código traz novas configurações para Estilos de código C# que abrangem a vírgula à direita. Elas podem ser encontradas em ReSharper | Options | Code Editing | C# | Code Style | Trailing comma e também são compatíveis com a inspeção StyleCop SA1413, exceto em poucos casos especiais.

Suporte para C++20

Suporte para C++20 ainda melhor

O padrão C++20 está quase aprovado e o ReSharper C++ estende seu suporte ao padrão mais recente. Agora, vários novos recursos de linguagem são compatíveis, incluindo espaços reservados de tipo restrito, modelos de função abreviados e o uso de declarações de enumeração. Além disso, o ReSharper C++ oferece uma correção rápida para atualizar uma declaração lambda com a sintaxe do modelo C++20 e uma refatoração para introduzir usando declarações de enumeração com facilidade.

Desenvolvimento de jogos

Mais recursos para desenvolvimento de jogos

Com atualizações para o suporte ao Unreal Engine, o ReSharper C++ 2020.1 melhora a refatoração Rename e introduz suporte para arquivos SpatialOS GDK e USF com caminhos de arquivos virtuais. O ReSharper C++ também segue mais de perto as diretrizes do Unreal Engine, suprimindo a inspeção Use auto e seguindo as convenções de nomenclatura para variáveis de console e categorias de log.

O ReSharper C++ 2020.1 fornece suporte inicial para HLSL. Mesmo nessa fase inicial, esse suporte inclui uma variedade de recursos, desde o realce básico do código até o preenchimento de código inteligente e a navegação rápida.

Novidades no ReSharper C++

Próxima chamada importante

Próxima chamada importante no dotTrace dotUltimate

Agora, você pode navegar pela Árvore de Chamadas usando a ação Next Important Call. Pressione CtrlShiftRight, e o dotTrace navegar até um nó que é mais relevante para análise posterior (por exemplo, um nó com alto tempo de execução próprio).

O recurso está disponível no dotTrace Standalone (Performance Viewer e Timeline Viewer), no Visual Studio e no JetBrains Rider.

Novidades no dotTrace 2020.1

Suporte para tipos de referência anuláveis

Suporte para tipos de referência anuláveis no dotPeek

Essa versão traz melhor suporte para recursos da linguagem C#:

  • O suporte para tipos de referência anuláveis (NRT) chegou ao descompilador. Observe que isso só funciona em declarações, e não em corpos de métodos.
  • Adicionamos suporte para descompilar os membros padrão de interfaces e atributos Direcionados a campos de propriedades automaticamente implementados
  • Melhoramos o suporte para descompilar nomes de componentes de tuplas.

Novidades no dotPeek 2020.1

Baixar

Avaliação gratuita por 30 dias disponível