Выберите режим анализа
Поймите возможности и ограничения Hybrid, Flyweight, Compiler и Tag.
Переключение режимов
Щелкните имя режима в строке состояния или откройте палитру команд и запустите Hornet C/C++: Switch Parsing Mode. Вы также можете редактировать настройки:
{
"hornet-cpp.mode": "hybrid"
}Hybrid · Рекомендуется
Сохраняет индекс Tag и любую доступную службу Compiler, автоматически выбирая парсер для каждого файла на основе покрытия команд компиляции.
Требования:Просмотр из коробки; для семантических функций необходим clangd и действительная база данных компиляции.
Лучше всего для:Повседневная разработка, существующие проекты и постепенная настройка сборки.。
Flyweight
Запускает встроенный синтаксический анализатор WebAssembly Tree-sitter C/C++ в фоновом потоке с инкрементными деревьями синтаксиса для последних файлов.
Требования:Никакого дополнительного компилятора, установки clangd или compile_commands.json не требуется.
Лучше всего для:Чтение незнакомого кода, упрощенный просмотр и проекты без среды сборки.。
Compiler
clangd обеспечивает семантическую навигацию, переименование, действия с кодом и диагностику компилятора в реальном времени. Разрешение макросов, типов и заголовков требует полной настройки сборки проекта.
Требования:Действительный compile_commands.json, clangd и актуальная цепочка инструментов вашего проекта.
Лучше всего для:Точная навигация, рефакторинг и сложное обслуживание C/C++.。
Tag
Быстро создает индекс лексических тегов в фоновом потоке для базового просмотра символов, навигации и взаимосвязей вызовов.
Требования:Никаких дополнительных инструментов не требуется.
Лучше всего для:Быстрый поиск, базовое заполнение и навигация по определениям。
Ограничения облегченных режимов
Tag и Flyweight обеспечивают поиск символов, схемы, базовое завершение, навигацию по определениям/объявлениям, ссылки на синтаксис и графы вызовов. Они не выполняют предварительную обработку, проверку типов или рефакторинг. Символы с одинаковым именем могут создавать несколько кандидатов.
Для точного переименования, действий с кодом и диагностики компилятора используйте Compiler или настройте команды компиляции для каждого файла для Hybrid. Производительность Flyweight зависит от ваших файлов и шаблонов редактирования; он не всегда быстрее Tag.