Elija un modo de análisis
Comprenda las capacidades y límites de Hybrid, Flyweight, Compiler y Tag.
Cambiar modos
Haga clic en el nombre del modo en la barra de estado o abra la paleta de comandos y ejecute Hornet C/C++: Switch Parsing Mode. También puedes editar la configuración:
{
"hornet-cpp.mode": "hybrid"
}Hybrid · Recomendado
Mantiene un índice Tag y cualquier servicio Compiler disponible, eligiendo automáticamente un analizador por archivo según la cobertura del comando de compilación.
Requisitos:Explorar fuera de la caja; las características semánticas necesitan clangd y una base de datos de compilación válida.
Lo mejor para:Desarrollo diario, proyectos existentes y configuración de construcción gradual.。
Flyweight
Ejecuta el analizador WebAssembly Tree-sitter C/C++ incluido en un subproceso en segundo plano, con árboles de sintaxis incrementales para archivos recientes.
Requisitos:No se requiere compilador adicional, instalación de clangd o compile_commands.json.
Lo mejor para:Lectura de código desconocido, navegación ligera y proyectos sin un entorno de compilación.。
Compiler
clangd proporciona navegación semántica, cambio de nombre, acciones de código y diagnósticos del compilador en vivo. La resolución de macros, tipos y encabezados requiere una configuración completa de compilación del proyecto.
Requisitos:Un compile_commands.json, clangd válido y la cadena de herramientas real de su proyecto.
Lo mejor para:Navegación precisa, refactorización y mantenimiento complejo de C/C++。
Tag
Crea rápidamente un índice de etiquetas léxicas en un hilo de fondo para la exploración básica de símbolos, la navegación y las relaciones de llamadas.
Requisitos:No se requieren herramientas adicionales.
Lo mejor para:Búsqueda rápida, finalización básica y navegación por definiciones.。
Límites de los modos ligeros
Tag y Flyweight proporcionan búsqueda de símbolos, esquemas, finalización básica, navegación por definiciones/declaraciones, referencias de sintaxis y gráficos de llamadas. No realizan preprocesamiento, verificación de tipos ni refactorización. Los símbolos con el mismo nombre pueden producir múltiples candidatos.
Para un cambio de nombre preciso, acciones de código y diagnósticos del compilador, utilice Compiler o configure comandos de compilación por archivo para Hybrid. El rendimiento del Flyweight depende de sus archivos y patrones de edición; No siempre es más rápido que Tag.