ReSharper C++ 2021.2 vs Visual Studio 2019

Este documento lista alguns dos recursos fornecidos pelo ReSharper C++ 2021.2, mas que estão ausentes ou não foram totalmente implementados no Visual Studio 2019.

Microsoft Visual Studio 2019 16.10
ReSharper C++ 2021.2

Especificações C/C++ com suporte

C/C++ C/C++
C++/CLI C++/CLI
C++/CX Sem suporte
HLSL HLSL

Análise de código e correções

Análise de código em tempo de design em tempo real (erros e avisos de compilador) Análise de código em tempo real durante o desenvolvimento (erros e avisos do compiler e mais de 230 inspeções de código exclusivas)
Correções rápidas para resolver issues de código Mais de 290 correções rápidas para resolver issues de código
Diagnósticos e verificações do Clang-Tidy integrados Diagnósticos e verificações do Clang-Tidy integrados
Diagnósticos e verificações do UnrealHeaderTool integrados
Verificação ortográfica
Inclui analisador
Relatar todos os erros e problemas de qualidade do código em qualquer escopo, até a solução inteira
Inspeções de código ajustáveis: cinco níveis de gravidade podem ser configurados diretamente no menu Alt+Enter
Compartilhando configurações de análise de código em nível de solução ou equipe

Refatorações e transformações de código

Renomear Renomear
Alterar assinatura Alterar assinatura
Extrair função Extrair método
Implementar virtuais puros Gerar membros de substituição
Criar declaração/definição Gerar definição/implementação por declaração
Mover definição de função Mover implementação fora do escopo da classe
Converter em literal de string bruto Converter em literal de string bruto e vice-versa
Converter em enumeração com escopo
Introduzir campo
Introduzir alias de namespace
Introduzir typedef
Introduzir usando enum
Introduzir variável
Função inline
Variável inline
Typedef inline
Mais de 65 ações de contexto (transformações automatizadas do código local)

Assistência para codificação

Complementação de código Complementação de código com sugestões inteligentes e correspondência CamelCase
Realce de sintaxe Realce de sintaxe (cores configuráveis para mais de 25 tipos diferentes de identificadores)
Dicas de ferramenta para elementos de código Dicas de ferramentas para elementos de código com sintaxe realçada e comentários sobre a documentação formatada
Executar/recolher seleção Estender/recolher seleção
Seleção de comentário (comentário escolhido automaticamente) Seleção de comentário com comentário de linha ou bloco
Informações rápidas e informações de parâmetros Documentação rápida e Informações de Parâmetros
Dicas embutidas para nomes de parâmetros, nomes de tipos, namespaces, conversões de tipo e diretivas de pré-processador; modo push-to-hint
Reorganizar elementos de código
Adicione automaticamente a diretiva #include ausente
Complementação de importação e complementação postfix
Entrada automática de instruções
Seleção da declaração de conteúdo

Navegação e pesquisa

Navegação até o destino Busca geral
Ir para declaração "Ir para declaração" que também funciona em identificadores e comentários não resolvidos e ajuda a navegar entre usos e diretivas de pré-processador correspondentes
Inspecionar definição Inspecionar declarações, usos, símbolos de base e implementações
Marcadores de código Marcadores de código
Inicialização rápida Encontrar ações e configurações
Encontrar referências Encontrar usos
Gerar gráfico de arquivos de inclusão Exibição da hierarquia de inclusões
Hierarquia de chamadas Sem suporte
Ir para o símbolo Ir para o símbolo
Ir para o tipo Ir para o tipo
Ir para o arquivo Ir para o arquivo
Ir para membro do arquivo Ir para membro do arquivo
Go to text com pesquisa difusa
Ir para os símbolos base
Ir para símbolos derivados
Ir para arquivos relacionados
Ir para o arquivo nas proximidades
Ir para locais e alterações recentes
Ir para o modelo primário/especializações
Alternar Header/Source
Realçar usos no arquivo
Navegar para cima e para baixo pela hierarquia de herança no editor
Navegação em pontos de interrupção por contexto
Exibição de hierarquia de tipos
Estrutura do arquivo
Navegar entre itens de tarefas pendentes
Localizar o arquivo atual no Solution Explorer

Geração de código

Snippets de código (modelos) Snippets de código (templates), incluindo templates live, surround e postfix
Gerar arquivos a partir de um modelo Gerar arquivos a partir de um modelo
Gerar código com preenchimento de código Gerar código com preenchimento de código
Editor visual para snippets de código (modelos)
Adicionar declaração direta ou inserir diretiva #include com complementação de importação
Gerar código a partir do uso
Gerar construtores
Gerar definições
Gerar instruções "case" ausentes
Gerar comentários de documentação
Gerar membros ausentes/substituintes
Gerar operadores de cópia e movimentação
Gerar getters e setters
Gerar operadores de igualdade
Gerar operadores relacionais
Gerar operações de fluxo (incluindo funções Boost.Serialization)
Gerar função de hash
Gerar função de permuta
Gerar métodos do Google Mock
Gerar função que converte enumeração em string (configurável)
Gerar membros ausentes

Estilo e limpeza de código

Reformatar o código Aplicar regras de formatação em qualquer escopo (com o próprio conjunto de regras de formatação do ReSharper C++)
Suporte para EditorConfig Suporte para EditorConfig
Suporte ao formato Clang
Aprenda regras de formatação a partir do código existente
Editor visual para configurar regras de formatação para o código selecionado
Janela "File Formatting Info" para explorar os valores e arquivos de configuração que afetam o arquivo atual
Estilo de nomeação configurável com esquemas predefinidos (STL, Google, LLVM, CamelCase, Microsoft)
Regras configuráveis para a classificação de diretivas #include
Estilo de sintaxe configurável para inicializações, declarações, funções de substituição, uso de auto, posição de cv-quilifiers e colchetes

Testes de unidade

Unit Test Explorer Unit Test Explorer
Suporte ao Microsoft Unit Testing Framework for C++ Sem suporte
Suporte para Google Test Suporte para Google Test
Suporte para Boost.Test Suporte para Boost.Test
Suporte para CTest Sem suporte
Suporte para Catch
suporte para Doctest
Testes de execução no editor
Várias sessões de teste de unidade

Depuração

Dicas de dados no editor DataTips pesquisáveis ​​com exibição personalizável de objetos no editor
Janela de ferramentas Breakpoints Janela de ferramentas Breakpoints com visualização, pesquisa de contexto, agrupamento e exportação
Inspeções inline
Filtros de etapa

Suporte para o Unreal Engine

Suporte para convenções de nomenclatura do Unreal Engine
Inspeções do UnrealHeaderTool integradas
Trabalhando com arquivos shader HLSL
Suporte para chamadas de procedimento remoto Unreal Engine
Preenchimento de código para especificadores de reflexão Unreal Engine
Suporte a modelos de projeto do Unreal Engine, fornecendo complementação de código com base nas referências de plug-ins e módulos
Atualizações em tempo real de acordo com alterações em .Build.cs, .Target.cs, .uproject ou .uplugin

Gerenciando configurações

Sincronize configurações via ID da Microsoft Sincronizar configurações e modelos personalizados com a equipe via VCS ou qualquer serviço de hospedagem de arquivos
Sistema de camadas de configurações para armazenar diferentes ajustes para soluções distintas sem conflitos
Baixar
Avaliação gratuita por 30 dias