프로젝트 개요
Visual Studio에서 코드 표시, 자동완성과 탐색을 보조하기 위해 만든 범용 개발 확장입니다. Codex를 활용해 편집기 연동과 심볼 인덱스를 개발했으며, 현재 C++와 Unreal Engine을 대상으로 기능을 구현하고 있습니다.
- 작업 기간 (Git 커밋 기록 기준): 2026.08.19 ~ 2026.10.17
- 개발 형태: AI 활용 개인 개발
- 기술: C#, Visual Studio SDK, .NET, C++ 심볼 인덱싱
- 실행 환경: Visual Studio 2022
- 형상 관리: Git, GitHub
설명 이미지는 프로젝트 코드, 심볼 캐시와 편집기 기능의 연결을 표현한 도식이며 실제 Visual Studio 화면이 아닙니다.
주요 구현
- Unreal 프로젝트를 감지하고 리플렉션 매크로, 타입·변수·함수에 의미 색상을 표시합니다.
- 파일·심볼·현재 파일 메서드를 검색하고, 대응하는 헤더와 소스로 이동합니다.
- 프로젝트와 엔진 심볼 캐시에서 자동완성 후보를 조회합니다.
- 클래스 상속과 함수 반환형을 따라 멤버 후보를 검색하고, Unreal 지정자와 include 경로를 추천합니다.
- 정의 탐색과 참조 후보 검색을 실행하고, 정의를 찾지 못하면 Visual Studio 기본 탐색을 호출합니다.
- 프로젝트별 캐시와 엔진 설치별 공용 캐시를 저장하고, 분석 진행 상태를 표시합니다.
개발 포인트
PersistentSymbolIndex가 소스에서 읽은 심볼과 파일 목록을 보관하고, 접두사·소유 타입·상속 관계별 조회에 사용합니다.IndexBuildRunner가 프로젝트·엔진 인덱스 생성을 실행합니다. 별도 작업자 사용 시 결과 파일을 읽어 인덱스에 반영합니다.CodeAssistCompletionSource와 편집기 명령 코드가 입력 문맥에 맞는 후보를 Visual Studio 자동완성 목록에 연결합니다.- 프로젝트 소스와 엔진 API 캐시를 따로 저장해 같은 엔진을 사용하는 프로젝트에서 엔진 캐시를 재사용합니다.
편집 중인 코드와 저장된 심볼 인덱스로 표시·탐색 후보를 먼저 구성하며, 완전한 C++ 타입 추론과 정밀 진단은 Visual Studio IntelliSense가 담당합니다.