Escolha um modo de análise

Entenda as capacidades e limites do Hybrid, Flyweight, Compiler e Tag.

Alternar modos

Clique no nome do modo na barra de status ou abra a paleta de comandos e execute Hornet C/C++: Switch Parsing Mode. Você também pode editar as configurações:

{
  "hornet-cpp.mode": "hybrid"
}

Hybrid · Recomendado

Mantém um índice Tag e qualquer serviço Compiler disponível, escolhendo automaticamente um analisador por arquivo com base na cobertura do comando de compilação.

Requisitos:Navegue fora da caixa; recursos semânticos precisam do clangd e de um banco de dados de compilação válido.

Melhor para:Desenvolvimento diário, projetos existentes e configuração gradual de construção。

Flyweight

Executa o analisador Tree-sitter C/C++ WebAssembly incluído em um thread em segundo plano, com árvores de sintaxe incrementais para arquivos recentes.

Requisitos:Não é necessário nenhum compilador extra, instalação clangd ou compile_commands.json.

Melhor para:Leitura de código desconhecido, navegação leve e projetos sem ambiente de construção。

Compiler

clangd fornece navegação semântica, renomeação, ações de código e diagnósticos de compilador ao vivo. A resolução de macros, tipos e cabeçalhos requer configuração completa de construção do projeto.

Requisitos:Um compile_commands.json válido, clangd e o conjunto de ferramentas real do seu projeto.

Melhor para:Navegação precisa, refatoração e manutenção complexa de C/C++。

Tag

Cria rapidamente um índice de tag lexical em um thread de segundo plano para navegação básica de símbolos, navegação e relacionamentos de chamada.

Requisitos:Não são necessárias ferramentas adicionais.

Melhor para:Pesquisa rápida, preenchimento básico e navegação de definição。

Limites dos modos leves

Tag e Flyweight fornecem pesquisa de símbolos, contornos, preenchimento básico, navegação de definição/declaração, referências de sintaxe e gráficos de chamada. Eles não pré-processam, verificam o tipo ou refatoram. Símbolos com o mesmo nome podem produzir vários candidatos.

Para renomeação precisa, ações de código e diagnósticos do compilador, use Compiler ou configure comandos de compilação por arquivo para Hybrid. O desempenho do Flyweight depende de seus arquivos e padrões de edição; nem sempre é mais rápido que o Tag.

Buscar na documentação

Insira palavras-chave para encontrar a documentação.

Esc Fechar · Tab Selecione um resultado