FOUR WAYS TO UNDERSTAND CODE

Ваш проект.
Ваш способ разбора.

Начните с Hybrid по умолчанию или выберите режим для текущего состояния вашего проекта.

Рекомендуется

Автоматический выбор, баланс скорости и точности

Сохраняет индекс Tag и любую доступную службу Compiler, автоматически выбирая парсер для каждого файла на основе покрытия команд компиляции.

  • Выбор для каждого файла
  • Tag без базы данных
  • Семантика включена согласно настройке
settings.json
{
  "hornet-cpp.mode": "hybrid"
}

Просмотр из коробки; для семантических функций необходим clangd и действительная база данных компиляции.

Изучите варианты использования

Прежде чем сделать выбор, знайте пределы.

Облегченные режимы облегчают запуск; семантические функции нуждаются в реальной среде сборки.

Сравнение четырех режимов синтаксического анализа
Возможность/требованиеHybridFlyweightCompilerTag
Просмотр без компиляционной базы данныхДа, используя TagПоддерживаетсяТребуется база данныхПоддерживается
Метод разбораTag / Compiler за файлСинтаксические деревья Tree-sitterсемантическая служба clangdЛексические теги
Символы, навигация и графики вызововПоддерживаетсяНа основе синтаксисаСемантическийЛексический
Точное переименование и действия с кодомФайлы с командами компиляцииНедоступноПри поддержке clangdНедоступно
Диагностика компилятора/проверка типаФайлы с командами компиляцииНедоступноПоддерживаетсяНедоступно
Дополнительные инструментыclangd для семантических функцийНетclangd + база данных компиляцииНет
Tag/Flyweight не выполняют предварительную обработку или проверку типа, а символы с одинаковыми именами могут возвращать несколько кандидатов. Производительность Flyweight зависит от файлов и шаблонов редактирования; он не всегда быстрее Tag.

Одна настройка для переключения.

Щелкните имя режима внизу VS Code или запустите Switch Parsing Mode.

Настройка базы данных компиляции

Поиск по документации

Введите ключевые слова, чтобы найти документацию.

Esc Закрыть · Tab Выберите результат