구문 분석 모드 선택

Hybrid, Flyweight, Compiler 및 Tag의 기능과 한계를 이해합니다.

모드 전환

상태 표시줄에서 모드 이름을 클릭하거나 명령 팔레트를 열고 실행합니다. Hornet C/C++: Switch Parsing Mode. 설정을 편집할 수도 있습니다.

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

Hybrid · 추천

Tag 인덱스와 사용 가능한 Compiler 서비스를 유지하고 컴파일 명령 적용 범위에 따라 파일당 파서를 자동으로 선택합니다.

요구사항:상자 밖으로 찾아보세요. 의미론적 기능에는 clangd와 유효한 컴파일 데이터베이스가 필요합니다.

가장 적합한 대상:일상적인 개발, 기존 프로젝트 및 점진적인 빌드 설정。

Flyweight

최근 파일에 대한 증분 구문 트리를 사용하여 번들로 제공되는 Tree-sitter C/C++ WebAssembly 파서를 백그라운드 스레드에서 실행합니다.

요구사항:추가 컴파일러, clangd 설치 또는 compile_commands.json이 필요하지 않습니다.

가장 적합한 대상:익숙하지 않은 코드 읽기, 가벼운 브라우징 및 빌드 환경 없는 프로젝트。

Compiler

clangd는 의미 체계 탐색, 이름 바꾸기, 코드 작업 및 실시간 컴파일러 진단을 제공합니다. 매크로, 유형 및 헤더를 해결하려면 완전한 프로젝트 빌드 구성이 필요합니다.

요구사항:유효한 compile_commands.json, clangd 및 프로젝트의 실제 툴체인.

가장 적합한 대상:정확한 탐색, 리팩토링 및 복잡한 C/C++ 유지 관리。

Tag

기본 기호 탐색, 탐색 및 호출 관계를 위해 백그라운드 스레드에서 어휘 태그 색인을 빠르게 구축합니다.

요구사항:추가 도구가 필요하지 않습니다.

가장 적합한 대상:빠른 검색, 기본 완성 및 정의 탐색。

경량 모드의 한계

Tag 및 Flyweight는 기호 검색, 개요, 기본 완성, 정의/선언 탐색, 구문 참조 및 호출 그래프를 제공합니다. 전처리, 유형 확인 또는 리팩터링을 수행하지 않습니다. 동일한 이름을 가진 기호는 여러 후보를 생성할 수 있습니다.

정확한 이름 바꾸기, 코드 동작 및 컴파일러 진단을 위해 Compiler를 사용하거나 Hybrid에 대한 파일별 컴파일 명령을 구성하십시오. Flyweight 성능은 파일 및 편집 패턴에 따라 다릅니다. Tag보다 항상 빠른 것은 아닙니다.

문서 검색

문서를 찾으려면 키워드를 입력하세요.

Esc 닫기 · Tab 결과 선택