Votre projet.
Votre façon d'analyser.
Commencez par Hybrid par défaut ou sélectionnez un mode pour l'état actuel de votre projet.
Choix automatique, équilibrage vitesse et précision
Conserve un index Tag et tout service Compiler disponible, en choisissant automatiquement un analyseur par fichier en fonction de la couverture des commandes de compilation.
- Sélection par fichier
- Tag sans base de données
- Sémantique activée comme configurée
{
"hornet-cpp.mode": "hybrid"
}Naviguez hors de la boîte ; les fonctionnalités sémantiques nécessitent clangd et une base de données de compilation valide.
Explorer les cas d'utilisationSyntaxe légère, prête à l'emploi
Exécute l’analyseur Tree-sitter C/C++ WebAssembly fourni dans un thread d’arrière-plan, avec des arborescences de syntaxe incrémentielles pour les fichiers récents.
- Analyseur WASM intégré
- Indexation basée sur la syntaxe
- Arbres de syntaxe incrémentaux
{
"hornet-cpp.mode": "flyweight"
}Aucun compilateur supplémentaire, installation de clangd ou compile_commands.json requis.
Explorer les cas d'utilisationComprendre le code avec de vrais arguments de compilation
clangd fournit une navigation sémantique, un changement de nom, des actions de code et des diagnostics en direct du compilateur. La résolution des macros, des types et des en-têtes nécessite une configuration complète de la construction du projet.
- Analyse sémantique
- Renommer avec précision
- Diagnostic du compilateur
{
"hornet-cpp.mode": "compiler"
}Un compile_commands.json valide, clangd et la chaîne d'outils réelle de votre projet.
Explorer les cas d'utilisationCommencer la lecture sans configuration
Construit rapidement un index de balises lexicales dans un fil d'arrière-plan pour la navigation de base dans les symboles, la navigation et les relations d'appel.
- Balises lexicales
- Navigation de base
- Indexation en arrière-plan
{
"hornet-cpp.mode": "tag"
}Aucun outil supplémentaire requis.
Explorer les cas d'utilisationConnaissez les limites avant de choisir.
Les modes légers facilitent le démarrage ; les fonctionnalités sémantiques nécessitent un véritable environnement de construction.
| Capacité/exigence | Hybrid | Flyweight | Compiler | Tag |
|---|---|---|---|---|
| Naviguer sans base de données de compilation | Oui, en utilisant Tag | Pris en charge | Base de données requise | Pris en charge |
| Méthode d'analyse | Tag / Compiler par fichier | Arbres syntaxiques Tree-sitter | service sémantique clangd | Balises lexicales |
| Symboles, graphiques de navigation et d'appel | Pris en charge | Basé sur la syntaxe | Sémantique | Lexical |
| Renommage précis et actions de code | Fichiers avec commandes de compilation | Non disponible | Comme soutenu par clangd | Non disponible |
| Diagnostic du compilateur/vérification de type | Fichiers avec commandes de compilation | Non disponible | Pris en charge | Non disponible |
| Outils supplémentaires | clangd pour les fonctionnalités sémantiques | Aucun | clangd + base de données de compilation | Aucun |
Un paramètre à changer.
Cliquez sur le nom du mode en bas de VS Code ou exécutez Switch Parsing Mode.