A versão 2022.1 tem foco na qualidade e traz muitas melhorias e correções de bugs, especificamente no desenvolvimento em Blazor e no suporte a C#.
Continuamos a melhorar o suporte ao C# 10, especialmente a usos globais. Implementamos duas novas refatorações que também estão disponíveis como ações de contexto.
Extract Global Using pode ajudar a introduzir o conceito de global using no seu projeto. Você pode invocá-la numa diretiva using comum, e o ReSharper sugerirá sua extração para um arquivo GlobalUsings.cs designado (se ainda não houver esse arquivo no seu projeto, ele será criado). O using comum que não for mais necessário será removido dos arquivos no seu projeto.
Se você decidir refatorar um using global para um using comum, a refatoração Inline Global Using também poderá ser útil aqui. Quando chamada em um using global, ela o remove de GlobalUsings.cs e adiciona a instrução using correspondente aos arquivos no seu projeto quando necessário.
O recurso de usings globais tem suporte em Find Usages e em análises de código para métodos de extensão.
Analisamos o próximo C# 11 e os atributos genéricos suportados.
[MemberNotNull] e [MemberNotNullWhen] agora têm suporte em projetos que não usam tipos de referência anuláveis.
Agora nosso suporte a Endpoints funciona para APIs mínimas do ASP.NET Core 6 e encaminhamento baseado em convenções. Isso inclui navegação, análise e complementação de código.
Aqui estão alguns dos recursos e correções mais importantes que fizemos para o Razor e o Blazor:
[EditorRequired] do .NET 6. A inspeção e a correção rápida correspondentes também estão disponíveis quando você tenta usar um componente Blazor sem especificar os parâmetros necessários. .razor com componentes Blazor. Ele não remove mais todas as declarações @using.
Reorganizamos todos os itens no menu Alt+Enter relacionados à limpeza e à formatação de código. As opções Format selection, Cleanup selection e Apply syntax style foram combinadas em um item Reformat and Cleanup para fornecer um único ponto de entrada.
Além dessas alterações, as configurações de estilo de sintaxe agora estão disponíveis nas ações Configure code style e Autodetect code style settings. O painel Preview code style também mostra alterações no estilo de sintaxe.
O framework de testes do Unreal Engine agora é suportado. O ReSharper C++ descobre testes unitários do Unreal Engine e adiciona os indicadores de ação correspondentes junto a cada teste no editor, para executar ou depurar o teste ou todo o conjunto de testes. Na janela Unit Test Sessions, você pode revisar os resultados dos testes e executar novamente todos os testes, só os que falharam ou só alguns específicos.
Agora o ReSharper C++ manipula melhor chamadas implícitas a construtores, permitindo que você encontre usos e navegue até o construtor chamado em mais situações, incluindo as seguintes:
make_unique/make_shared) ou específicas do Unreal (MakeShared/MakeUnique). emplace.static_cast e no estilo do C. O ReSharper C++ 2022.1 também lhe mostra um alerta de sobrecarga quando uma função semelhante a emplace for chamada com argumentos incorretos.
Após analisarmos o desempenho do suporte a geradores de código, decidimos aumentar o intervalo entre solicitações ao se buscar no compilador documentos de código-fonte gerado.
Assim, os geradores de código-fonte não são executados antes do compilador e a carga de trabalho total da CPU é reduzida. O ganho exato de desempenho dependerá de se outros recursos, como a complementação de linhas inteiras do Visual Studio, também ativarem ou não os geradores.
Já corrigimos vários problemas de desempenho e estabelecemos as bases para mais correções. Isto inclui lidar com snapshots de desempenho dos nossos clientes, sessões internas de profiling e reunir dados para no futuro, esperamos, implementarmos verificações automáticas de degradações de desempenho.
Quanto ao modo "fora de processo", o trabalho está em andamento. Consulte a atualização mais recente em nosso rastreador de problemas.
As ferramentas InspectCode podem gerar arquivos de saída compatíveis com o Static Analysis Results Interchange Format (SARIF).
As ferramentas de linha de comando agora têm suporte ao Alpine Linux.
System.Private.CoreLib. Agora o caminho para a documentação em XML é mostrado no cabeçalho do arquivo descompilado. [TypeForwardedTo]). A ação Locate in Metadata também funciona com tipos encaminhados, com referências a assemblies e módulos, e com recursos.
Agora o dotTrace tem suporte a eventos do SQL Server a partir do provedor do Microsoft.Data.SqlClient no Windows (.NET Core, .NET 5+), no macOS e no Linux (.NET Core 3.0+, .NET 5+).
Agora você pode anexar o profiler a um aplicativo já em execução simplesmente arrastando o ícone especial até a janela do aplicativo.
Agora você pode usar comentários para excluir certas linhas ou blocos de código da análise de cobertura. Para isto, estão disponíveis várias opções:
// dotcover disable
var i = 1;
var j = 10;
// dotcover enable
/* dotcover disable */ var i = 1; /* dotcover enable */
var i = 1; // dotCover disable this line
// dotcover disable next line
var j = 100;
Para funcionarem, todas essas opções precisam que você referencie o pacote JetBrains.dotCover.MSBuild NuGet. Esta é uma dependência apenas para desenvolvimento, que não será incluída no seu projeto como uma dependência de tempo de execução.
.sqlproj em versões localizadas do Visual Studio.