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.
If you discover any inaccurate items in this table, please post a comment below to let us know, and we'll update the table as soon as possible.
Visual Assist
en | en |
Versiones compatibles de Visual Studio | 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 | No compatible | |
Visual Studio 2005 | No compatible | |
Visual Studio .NET 2003 | No compatible | |
Visual Studio .NET 2002 | No compatible | |
Visual C++ 6.0 | No compatible | |
Especificaciones de compatibilidad con C/C++ | C/C++ | C/C++ |
C++/CLI | C++/CLI | |
Detección de incidencias de código | Resaltar símbolos mal escritos | Resaltar símbolos sin resolver |
Navegación entre incidencias de código (ventana de herramientas, editor) | Navegación entre incidencias de código (ventana de herramientas, editor, comandos específicos) | |
21 inspecciones de Clang-Tidy | 264 verificaciones de Clang-Tidy integradas | |
Ninguna funcionalidad coincidente | 652 diagnósticos de Clang-Tidy integrados | |
Ninguna funcionalidad coincidente | 87 revisiones del analizador estático de Clang integradas | |
Corrector ortográfico | Corrector ortográfico | |
Resaltar delimitadores no coincidentes | Ninguna funcionalidad coincidente | |
Ninguna funcionalidad coincidente | Nomenclatura inconsistente | |
La constante cero puede ser reemplazada por nullptr | La constante cero puede ser reemplazada por nullptr | |
Anular una función sin 'override' el especificador | Anular una función sin 'override' el especificador | |
El constructor de shared_pointer/unique_pointer se puede reemplazar por make_shared/make_unique | El constructor de puntero inteligente ha sido utilizado en lugar de su función make | |
Ninguna funcionalidad coincidente | Más de 180 inspecciones de código de propiedad | |
Ninguna funcionalidad coincidente | Inspecciones de código para la mayoría de los errores de compilación y algunas advertencias | |
Ninguna funcionalidad coincidente | Búsqueda asíncrona de incidencias de código en cualquier ámbito | |
Ninguna funcionalidad coincidente | Ejecutar la inspección de código desde la línea de comando | |
Arreglos rápidos para problemas de código | Crear a partir del uso | Crear a partir del uso |
Añadir #include | Importar variable global, tipo, definición de tipo, función, macro | |
Crear declaración | Crear declaración | |
Reparar caso | Ninguna funcionalidad coincidente | |
Más de 10 arreglos rápidos para inspecciones configurables | Más de 120 arreglos rápidos para inspecciones configurables | |
Asistencia a la codificación | Resaltar delimitadores coincidentes | Resaltar elementos emparejados (incluidos macros y argumentos de formato en printf y boost::format ) |
Resaltar línea actual | Resaltar línea actual | |
Acrónimos / Abreviaciones | CamelHumps | |
Listas de sugerencias / Sugerencias inteligentes | Finalización de código con sugerencias inteligentes | |
Convertir punto a
-> | Convertir punto a > y > a punto | |
Selección inteligente | Extender/Reducir selección + Seleccionar la declaración contenida | |
Portapapeles múltiples | Historial del portapapeles con vista previa de elementos | |
Información sobre parámetros | Información sobre parámetros | |
Ninguna funcionalidad coincidente | Consejos del editor | |
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 identificadores) | |
Resaltado de referencias como símbolo debajo del cursor | Usos del resaltado en archivos | |
Rodear selección | Rodee con /comentario con líneas o comentario en bloque | |
Insertar tokens cerrados automáticamente | Insertar delimitador coincidente y formato automáticamente | |
Información rápida con documentación | Descripciones emergentes de resaltado de sintaxis con documentación | |
Extender comentarios multilínea automáticamente al pulsar Introducir | Extensión automática de comentarios con /**/ y /// en varias líneas al pulsar Intro | |
Insertar guiones bajos después de m y Mayús | Ninguna funcionalidad coincidente | |
Cuadros de listas mejorado | Ninguna funcionalidad coincidente | |
Resaltar palabras coincidentes (código y comentarios) | Ninguna funcionalidad coincidente | |
Indicador de columna (margen derecho) | Ninguna funcionalidad coincidente | |
Ordenar líneas | Ninguna funcionalidad coincidente | |
Insertar ruta | Ninguna funcionalidad coincidente | |
Vista previa de archivos de comentarios | Ninguna funcionalidad coincidente | |
Restablecer el ampliador del editor | Ninguna funcionalidad coincidente | |
Ninguna funcionalidad coincidente | Duplicar línea actual o selección | |
Ninguna funcionalidad coincidente | Finalización Postfix | |
Ninguna funcionalidad coincidente | Plantillas postfix | |
Ninguna funcionalidad coincidente | Documentación rápida | |
Ninguna funcionalidad coincidente | 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++) |
Ninguna funcionalidad coincidente | Aprender las reglas de formateo del código existente | |
Ninguna funcionalidad coincidente | Compatibilidad con EditorConfig | |
Ninguna funcionalidad coincidente | Compatibilidad con formato Clang | |
Ninguna funcionalidad coincidente | Aplicar estilos de código y eliminar redundancias de código en cualquier ámbito con limpieza de código | |
Ninguna funcionalidad coincidente | Estilo de encabezado de archivo configurable | |
Ninguna funcionalidad coincidente | Estilo de nomenclatura configurable con esquemas predeterminados (STL, Google, LLVM, CamelCase, Microsoft) | |
Ninguna funcionalidad coincidente | Estilo configurable para const y modificadores volátiles en el código generado | |
Ninguna funcionalidad coincidente | Estilo configurable para directivas de include en el código generado | |
Ninguna funcionalidad coincidente | Estilo configurable para inicializadores de puntero predeterminados (0 |nullptr |NULL ) en el código generado | |
Refactorizaciones y transformaciones de código | Acceso a Comandos de Refactorización | Refactorizar esto |
Rename (Cambiar nombre) | Rename (Cambiar nombre) | |
Cambiar firma | Cambiar firma | |
Introducir variable | Introducir variable | |
Encapsular campo | Encapsular campo (con la acción Generate getters and setters) | |
Extraer método | Extraer método | |
Añadir/Quitar llaves | Añadir/Quitar llaves | |
Renombrar archivos | Renombrar archivos | |
Mover la implementación al archivo fuente | Implementación de Move fuera del ámbito de la clase | |
Mover la implementación al Encabezado del Archivo/Declaración de Clase | Ninguna funcionalidad coincidente | |
Mover la selección a un nuevo archivo | Ninguna funcionalidad coincidente | |
Fragmento para refactorización (editable) | Ninguna funcionalidad coincidente | |
Convertir Instancia a Pointer y viceversa | Ninguna funcionalidad coincidente | |
Simplificar instancia de declaración | Ninguna funcionalidad coincidente | |
Ninguna funcionalidad coincidente | Introducir campo | |
Ninguna funcionalidad coincidente | Variable inline | |
Ninguna funcionalidad coincidente | Introducir alias de espacio de nombres | |
Ninguna funcionalidad coincidente | Introducir/Inline typedef | |
Ninguna funcionalidad coincidente | Añadir especificadores a una función = predeterminado , = eliminar , puro , o virtual | |
Ninguna funcionalidad coincidente | Convert ?: a if y viceversa | |
Ninguna funcionalidad coincidente | Convertir la directiva #include
de corchetes a comillas y viceversa | |
Ninguna funcionalidad coincidente | Convertir una declaración typedef en una declaración alias y viceversa | |
Ninguna funcionalidad coincidente | Convertir a definición de espacio de nombres anidado | |
Ninguna funcionalidad coincidente | Convertir puntos regulares a puntos seguidos y viceversa | |
Ninguna funcionalidad coincidente | Crear tipos derivados: clase, interfaz, estructura, clase de interfaz, estructura de interfaz, clase de referencia, estructura de referencia | |
Ninguna funcionalidad coincidente | Intercambiar operadores relacionales | |
Ninguna funcionalidad coincidente | Intercambiar argumentos de operadores | |
Ninguna funcionalidad coincidente | Inicializar campos desde los parámetros de los constructores | |
Ninguna funcionalidad coincidente | Invertir declaración if | |
Ninguna funcionalidad coincidente | Combinar declaraciones if anidadas | |
Ninguna funcionalidad coincidente | Negar expresiones lógicas | |
Ninguna funcionalidad coincidente | Quitar llaves | |
Ninguna funcionalidad coincidente | Reemplazar 'auto' por declaración de tipo explícito | |
Ninguna funcionalidad coincidente | Reemplazar 'decltype' con el tipo subyacente | |
Ninguna funcionalidad coincidente | Reemplazar 'decltype(auto)' por declaración de tipo explícito | |
Ninguna funcionalidad coincidente | Dividir o unir declaración con declaraciones múltiples | |
Ninguna funcionalidad coincidente | Sustituir llamada a macro | |
Ninguna funcionalidad coincidente | Sustituir tipo de alias de plantilla | |
Ninguna funcionalidad coincidente | Especificar argumentos explícitos de plantilla | |
Ninguna funcionalidad coincidente | Sustituir typedef (y, opcionalmete, todos los typedefs anidados) | |
Generación de código | Implementar interfaz/métodos virtuales | Generar miembros faltantes/anulados |
Crear implementación | Generar implementación + Generar implementación inline | |
Crear métodos de implementación | Generar definiciones | |
Añadir declaraciones de instancia faltantes | Generar declaraciones de instancia faltantes para enum | |
Método de documento | Símbolo de documento | |
Añadir declaración de reenvío | Añadir declaración de reenvío | |
Añadir miembro | Ninguna funcionalidad coincidente | |
Añadir miembro similar | Ninguna funcionalidad coincidente | |
Ninguna funcionalidad coincidente | Generar constructores | |
Ninguna funcionalidad coincidente | Generar copia y mover operadores | |
Ninguna funcionalidad coincidente | Generar getter y setter | |
Ninguna funcionalidad coincidente | Generar operadores de igualdad | |
Ninguna funcionalidad coincidente | Generar operadores relacionales | |
Ninguna funcionalidad coincidente | Generar operaciones de transmisión (incluidas las funciones Boost.Serialization ) | |
Ninguna funcionalidad coincidente | Generar función hash | |
Ninguna funcionalidad coincidente | Generar función swap | |
Ninguna funcionalidad coincidente | Generar método Google Mock | |
Ninguna funcionalidad coincidente | Generar función que convierte enum a cadena (configurable) | |
Ninguna funcionalidad coincidente | Crear tipo derivado | |
Fragmentos de código/plantillas | Fragmento VA | 30 plantillas en vivo incorporadas + plantillas personalizadas en vivo |
Rodear con fragmentos | 19 plantillas envolventes + plantillas envolventes personalizables | |
Crear archivo (necesita ser llamado dos veces para header 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 | Macros en plantillas de código | |
Editor de fragmento | Editor de plantilla | |
Crear fragmento desde la selección | Crear plantilla en vivo desde la selección | |
Ninguna funcionalidad coincidente | Plantillas de archivos múltiples | |
Navegación y búsqueda | Ir a declaración (con Goto) | Ir a declaración (reconocimiento de usos) |
Ir a implementación (con Goto) | Ir a implementación | |
Esquema VA | Estructura de Archivo | |
Archivos recientes (VA view) | Ir a archivos recientes | |
Abrir archivo en la solución | Ir a archivo | |
Buscar símbolo en la solución | Ir a símbolo | |
Ir a relacionados | Go to related files | |
Ir a miembro | Ir a miembro de archivo | |
Mover ámbito | Ir al miembro próximo/previo | |
Encontrar referencias | Buscar usos | |
Buscar por contexto | Ir al resaltado siguiente/previo / Buscar ventana de resultados | |
Abrir el archivo correspondiente | Cambiar entre encabezado y fuente | |
Navegar hacia atrás y hacia adelante | Inspeccionar el historial de navegación | |
Va Hashtags | Marcadores | |
Enlaces de origen | Elementos pendientes con patrones de URL externas | |
Listado de métodos en archivo | Ninguna funcionalidad coincidente | |
Barra de navegación VA | Ninguna funcionalidad coincidente | |
Navegador de clase flotante | Ninguna funcionalidad coincidente | |
Resaltar archivos de proyecto en la ventana Output | Ninguna funcionalidad coincidente | |
Resaltar resultados de la búsqueda | Ninguna funcionalidad coincidente | |
Ninguna funcionalidad coincidente | Buscar en todas partes | |
Ninguna funcionalidad coincidente | Ir al próximo | |
Ninguna funcionalidad coincidente | Ir a ediciones recientes | |
Ninguna funcionalidad coincidente | Ir a edición anterior | |
Ninguna funcionalidad coincidente | Navegar a | |
Ninguna funcionalidad coincidente | Ir a símbolos base | |
Ninguna funcionalidad coincidente | Ir a símbolos derivados | |
Ninguna funcionalidad coincidente | Ir a tipo de símbolo | |
Ninguna funcionalidad coincidente | Ir a archivo cercano | |
Ninguna funcionalidad coincidente | Tipo de jerarquía | |
Ninguna funcionalidad coincidente | Gerarquía de includes | |
Ninguna funcionalidad coincidente | Ir a plantilla principal/especializaciones | |
Ninguna funcionalidad coincidente | Ubicar archivo actual en Solution Explorer | |
Ninguna funcionalidad coincidente | Encontrar acciones y configuraciones | |
Ninguna funcionalidad coincidente | Punto de interrupción de navegación y ventana de herramienta | |
Ninguna funcionalidad coincidente | Analizador de inclusiones | |
Depuración | Filtros de pasos | Filtros de pasos |
Desactivar temporalmente todos los puntos de interrupción habilitados | Ninguna funcionalidad coincidente | |
Vincular temporalmente todos los puntos de interrupción al hilo actual | Ninguna funcionalidad coincidente | |
Ninguna funcionalidad coincidente | Inline watches | |
Ninguna funcionalidad coincidente | DataTips buscables | |
Unreal Engine | Compatibilidad con proyectos UE4 | Compatibilidad con proyectos UE4 |
Sugerencias inteligentes para especificadores de reflexión de UE4 | Finalización de código para especificadores de reflexión de UE4 | |
Ninguna funcionalidad coincidente | Documentación rápida para especificadores de reflexión UE4 | |
Compatibilidad con llamadas a procedimiento remoto de UE4 | Compatibilidad con llamadas a procedimiento remoto de UE4 | |
Ninguna funcionalidad coincidente | Refactorizaciones Rename y Change Signature para funciones UE4 RPC | |
Excluir de la navegación el código fuente del motor | Ninguna funcionalidad coincidente | |
Ninguna funcionalidad coincidente | Indexación del código del motor pospuesta | |
Ninguna funcionalidad coincidente | Compatibilidad con convenciones de nomenclatura de UE4 | |
Ninguna funcionalidad coincidente | Inspecciones de código específicas para UE4 | |
Pruebas de unidades | Ninguna funcionalidad coincidente | Ayuda en pruebas de unidades para los marcos de trabajo Google Test, Catch 2.5, Boost.Test y doctest |
Gestión de configuraciones | Importar/exportar configuraciones | Sincronización automática multicapa de configuraciones y plantillas personalizadas |