ReSharper C++ frente a Visual Assist
Este documento describe en qué se diferencia ReSharper C++ de Visual Assist de Whole Tomato.
Como ambos productos se están desarrollando activamente y su funcionalidad cambia regularmente, consideramos que esta comparación es válida para versiones específicas que se indican en el encabezado de la tabla de comparación.
Si descubre algún elemento incorrecto en esta tabla, deje un comentario abajo para informarnos y actualizaremos la tabla lo antes posible.
![]() en Visual Studio 2019 + Visual Assist Build 2024.8 (2537) | en Visual Studio 2022 + ReSharper C++ 2024.3 | |
---|---|---|
Versiones compatibles de Visual Studio | Visual Studio 2022 | Visual Studio 2022 |
Visual Studio 2019 | Visual Studio 2019 | |
Visual Studio 2017 | Visual Studio 2017 | |
Visual Studio 2015 | Visual Studio 2015 | |
Visual Studio 2013 | Visual Studio 2013 | |
Visual Studio 2012 | Visual Studio 2012 | |
Visual Studio 2010 | Visual Studio 2010 | |
Visual Studio 2008 | ||
Visual Studio 2005 | ||
Especificaciones de compatibilidad con C/C++ | C/C++ | C/C++ |
C++/CLI | ||
Archivos fuente CUDA | ||
Detección de incidencias de código | Resaltar símbolos sin resolver | |
Suprimir inspecciones de código con comentarios | Suprimir inspecciones de código con comentarios | |
Marcas para llamadas recursivas en el medianil | ||
Arreglos rápidos para problemas de código | ||
Asistencia a la codificación | ||
Coloración de sintaxis mejorada (6 tipos de identificadores diferentes) / Símbolos estables en cursiva / Símbolos locales en negrita | Resaltado de sintaxis (20 tipos diferentes de indentificadores) | |
Ampliación automática y creación de stubs de documentación en comentarios multilínea /**/ y /// al pulsar Intro | ||
Generar un comentario Doxygen al escribir /// | ||
Resaltar palabras coincidentes (código y comentarios) | ||
Resaltado automático de salidas de función | ||
Asistencia de estilo de código | Formatear despues de pegar (Las reglas de formateo se heredan de Visual Studio) | Aplicar reglas de formateo en cualquier ámbito (con el extenso conjunto de reglas de formateo de ReSharper C++) |
Aplicar estilos de código y eliminar redundancias de código en cualquier ámbito con limpieza de código | ||
Estilo configurable para directivas #include en el código generado | ||
Estilo configurable para inicializadores de puntero predeterminados ( 0 |nullptr |NULL ) en el código generado | ||
Refactorizaciones y transformaciones de código | ||
Encapsular campo (con la acción Generate getters and setters) | ||
Añadir/Quitar llaves | ||
Negar expresiones lógicas | ||
Mover las definiciones de la función | ||
Mover la clase | ||
Convertir Instancia a Pointer y viceversa | ||
Simplificar instancia de declaración | ||
Métodos de ordenación en el código fuente | ||
Promover lambda a método | ||
Añadir especificadores a una función = default , = delete , pure o virtual | ||
Organizar los calificadores cv | ||
Convertir ?: a if y viceversa | ||
Convertir la directiva #include
de corchetes a comillas y viceversa | ||
Convertir una llamada en tubería y viceversa | ||
Convertir una cláusula en una restricción de parámetro | ||
Convertir una declaración typedef en una declaración alias y viceversa | ||
Convertir a definición de espacio de nombres anidado | ||
Convertir puntos regulares a puntos seguidos y viceversa | ||
Crear tipos derivados: clase, interfaz, estructura, clase de interfaz, estructura de interfaz, clase de referencia, estructura de referencia | ||
Intercambiar operadores relacionales | ||
Intercambiar argumentos de operadores | ||
Inicializar campos desde los parámetros de los constructores | ||
Invertir la declaración if , Invertir la condición?: | ||
Reemplazar 'auto' por declaración de tipo explícito | ||
Reemplazar 'decltype' con el tipo subyacente | ||
Reemplazar 'decltype(auto)' por declaración de tipo explícito | ||
Dividir o unir declaración con declaraciones múltiples | ||
Sustituir llamada a macro | ||
Sustituir tipo de alias de plantilla | ||
Especificar argumentos explícitos de plantilla | ||
Sustituir typedef (y, opcionalmete, todos los typedefs anidados) | ||
Sustituir UNREFERENCED_PARAMETER por [[maybe_unused]] | ||
Convertir una cadena en una cadena sin procesar C++11 y viceversa | ||
Mover la restricción del parámetro de la plantilla a la cláusula requires | ||
Generación de código | ||
Crear tipo derivado | ||
Fragmentos de código/plantillas | ||
Crear archivo (necesita ser llamado dos veces para encabezado y cpp) | Plantillas de archivo integradas para class y struct (cree tanto el encabezado como cpp de una vez) + plantillas de archivo personalizadas | |
Cadenas reservadas / entorno de marcadores de posición en fragmentos | ||
Navegación y búsqueda | Ir a declaración (con Goto) | |
Ir a implementación (con Goto) | ||
Depuración | ||
Desactivar temporalmente todos los puntos de interrupción habilitados | ||
Vincular temporalmente todos los puntos de interrupción al hilo actual | ||
Unreal Engine | ||
Excluir de la navegación el código fuente del motor | Excluir de la indexación el código fuente del motor | |
Compatibilidad con llamadas a procedimiento remoto de UE4 | ||
Compatibilidad con el marco de trabajo de prueba de Unreal Engine | ||
Pruebas de unidades | Ayuda en pruebas de unidades para los marcos de trabajo Google Test, Catch 2.5, Boost.Test y doctest | |
Gestión de configuraciones | ||
Otros | ||
Interfaz de usuario gráfica traducida (chino, japonés y coreano) | ||