ReSharper C++ 2021.2 frente a Visual Studio 2019

Este documento contiene una lista de las funcionalidades que ofrece ReSharper C++ 2021.2 pero no aparecen o no están completamente implementadas en Visual Studio 2019.

Microsoft Visual Studio 2019 16.10
ReSharper C++ 2021.2

Especificaciones de compatibilidad con C/C++

C/C++ C/C++
C++/CLI C++/CLI
C++/CX No compatible
HLSL HLSL

Análisis y correcciones del código

Análisis del código del tiempo de diseño sobre la marcha (errores de compilación y advertencias) Análisis del código durante el diseño sobre la marcha (errores y advertencias del compilador y más de 230 inspecciones de código propio)
Arreglos rápidos para resolver problemas de código Más de 290 arreglos rápidos para resolver problemas de código
Diagnósticos y comprobaciones integradas de Clang-Tidy Diagnósticos y comprobaciones integradas de Clang-Tidy
Diagnósticos y comprobaciones integradas de UnrealHeaderTool
Corrector ortográfico
Analizador de inclusiones
Informar de los errores y de las incidencias relativas a la calidad de código en cualquier ámbito hasta encontrar una solución
Inspecciones de código ajustables: se pueden configurar 5 niveles de gravedad directamente desde el menú Alt+Enter
Uso compartido de parámetros de análisis del código por solución o equipo

Refactorizaciones y transformaciones de código

Cambiar nombre Cambiar nombre
Cambiar firma Cambiar firma
Extraer función Extraer método
Implementar virtuales puras Generar miembros de anulación
Crear declaración/definición Generar definición/implementación por declaración
Mover la definición de la función Implementación de Move fuera del ámbito de la clase
Convertir en literal de cadena sin formato Convertir en literal de cadena sin formato y viceversa
Convertir en scoped enum
Introducir campo
Introducir alias de espacio de nombres
Introducir typedef
Introducir using enum
Introducir variable
Función Inline
Variable inline
Inline typedef
Más de 65 acciones contextuales (transformaciones locales automatizadas del código)

Asistencia a la codificación

Finalización de código Finalización de código con sugerencias inteligentes y coincidencias CamelCase
Resaltado de sintaxis Resaltado de sintaxis (colores configurables para 25 tipos diferentes de identificadores)
Descripciones emergentes para elementos del código Descripciones emergentes para elementos del código con sintaxis resaltada y comentarios de documentación formateados
Expandir/contraer selección Extender/reducir selección
Selección de comentario (comentario elegido de forma automática) Selección de comentario con comentario en línea o bloque
Información rápida y de parámetros Documentación rápida e Información sobre los parámetros
Consejos insertados para nombres de parámetros, nombres de tipos, espacios de nombres, conversiones de tipos y directivas del preprocesador; modo "push-to-hint"
Reordenar elementos de código
Añadir la directiva #include que falta de forma automática
Finalización de importaciones y finalización de postfix
Completar declaración
Seleccionar la declaración contenida

Navegación y búsqueda

Navigate To Buscar en todas partes
Ir a declaración "Ir a declaración" que también funciona en los identificadores y comentarios no resueltos, y ayuda a navegar entre los usos y las directivas de preprocesador coincidentes
Ver la definición Ver declaraciones, usos, símbolos base, implementaciones
Marcadores del código Marcadores del código
Inicio rápido Encontrar acciones y configuraciones
Encontrar referencias Buscar usos
Generar gráfico de archivos de inclusión Vista de jerarquía de includes
Jerarquía de llamadas No compatible
Ir a símbolo Ir a símbolo
Ir a tipo Ir a tipo
Ir a archivo Ir a archivo
Ir a miembro de archivo Ir a miembro de archivo
"Go to text" con búsqueda parcial
Ir a símbolos base
Ir a símbolos derivados
Ir a archivos relacionados
Ir a archivo cercano
Ir a ubicaciones y cambios recientes
Ir a plantilla principal/especializaciones
Cambiar Header/Source
Usos del resaltado en archivos
Navegar arriba y abajo con jerarquía heredada en el editor
Navegación por puntos de interrupción por contexto
Vista de jerarquía de tipos
Estructura de Archivo
Navegar entre elementos pendientes
Ubicar archivo actual en Solution Explorer

Generación de código

Fragmentos de código (plantillas) Fragmentos de código (plantillas), incluyendo plantillas live, surround y postfix
Generar archivos a partir de una plantilla Generar archivos a partir de una plantilla
Generar código con finalización de código Generar código con finalización de código
Editor visual para fragmentos de código (plantillas)
Añadir declaración forward o insertar directiva #include con finalización de importación
Generar código a partir del uso
Generar constructores
Generar definiciones
Generar declaraciones de instancia faltantes
Generar comentarios de documentación
Generar miembros que faltan/anulados
Generar copia y mover operadores
Generar getter y setter
Generar operadores de igualdad
Generar operadores relacionales
Generar operaciones de transmisión (incluidas las funciones Boost.Serialization)
Generar función hash
Generar función swap
Generar método Google Mock
Generar función que convierte enum a cadena (configurable)
Generar miembros que faltan

Estilo y limpieza de código

Volver a formatear código Aplicar reglas de formateo en cualquier ámbito (con el conjunto de reglas de formateo propias de ReSharper C++)
Compatibilidad con EditorConfig Compatibilidad con EditorConfig
Compatibilidad con formato Clang
Aprender las reglas de formateo del código existente
Editor visual para configurar las reglas de formateo del código seleccionado
Ventana de información sobre el formateo del archivo para explorar los valores de configuración y los archivos que afectan al archivo actual
Estilo de nomenclatura configurable con esquemas predeterminados (STL, Google, LLVM, CamelCase, Microsoft)
Reglas configurables para ordenar las directivas #include
Estilo de sintaxis configurable para las inicializaciones, las declaraciones, las funciones de anulación, el uso de auto, la posición de los calificadores cv y las llaves

Pruebas de unidades

Explorador de pruebas unitarias Explorador de pruebas unitarias
Compatibilidad con el marco de trabajo de Microsoft para pruebas unitarias de C++ No compatible
Compatibilidad con Google Test Compatibilidad con Google Test
Compatibilidad con Boost.Test Compatibilidad con Boost.Test
Compatibilidad con CTest No compatible
Compatibilidad con Catch
compatibilidad con Doctest
Ejecutar pruebas desde el editor
Varias sesiones de pruebas unitarias

Depuración

DataTips en el editor DataTips buscables con presentación de objetos configurable en el editor
Ventana de herramientas de puntos de interrupción Ventana de herramientas de puntos de interrupción con vista previa, búsqueda contextual, agrupación y exportación
Inline watches
Filtros de pasos

Compatibilidad con Unreal Engine

Compatibilidad con la convención de nomenclatura de Unreal Engine
Inspecciones integradas de UnrealHeaderTool
Trabajar con archivos shader HLSL
Compatibilidad con llamadas a procedimiento remoto de Unreal Engine
Finalización de código para especificadores de reflexión de Unreal Engine
Compatibilidad con el modelo de proyecto de Unreal Engine que proporciona finalización del código basada en las referencias del complemento y del módulo
Actualizaciones en tiempo real según los cambios en .Build.cs, .Target.cs, .uproject o .uplugin

Gestión de ajustes

Sincronización de ajustes mediante Microsoft ID Sincronización de ajustes y plantillas personalizadas con el equipo mediante VCS o un servicio de alojamiento de archivos
Sistema de capa de configuración para almacenar diferentes ajustes para diferentes soluciones sin conflictos
Descargar
Prueba gratis de 30 días