프로젝트 개요

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가 담당합니다.

GitHub에서 프로젝트 보기