사용 안내
최신 화면: CodeAssist Welcome·Options·검사 안내·Context Bar.
이번 변경: 첫 실행·Welcome·상단 안내바·설정과 검증 범위. 바나나 아이콘을 적용했습니다.
설치
Visual Studio 2022를 종료한 뒤 저장소 루트의 CodeAssist.vsix를 설치해 주세요. 기존 확장이 있으면 같은 확장 ID의 0.0.55로 업데이트됩니다. Visual Studio를 다시 열고 Unreal 프로젝트의 C++ 파일을 열어 주세요.
편집·탐색 창
Shift+Alt+H: 프로젝트 주석의 Hashtags를 검색하고 선택한 줄로 이동합니다. 저장하지 않은 현재 문서도 포함합니다.도구 → CodeAssist: Include Files: 현재 문서의 include를 프로젝트 파일 및 현재 파일 상대 경로로 찾습니다. 전처리 조건·외부 SDK의 최종 include 해석은 지원 범위가 아닙니다.Shift+Alt+]/Shift+Alt+[: 선택을 확장하고 이전 선택으로 복원합니다.Alt+]/Alt+[: 중괄호 블록 선택을 확장·복원합니다. 문서 내용이나 선택을 직접 바꾸면 이전 기록을 폐기합니다.Ctrl+Shift+V: CodeAssist가 실행 중인 C++ 편집기에서 복사·잘라내기한 선택 내용을 고릅니다. 최근 10개를 메모리에만 보관하고, 선택해 붙여넣은 내용은 Ctrl+V로 다시 붙일 수 있습니다. 1MB 초과, 선택 없는 줄 복사·다중 사각 선택·다른 앱 복사는 기록하지 않습니다.Alt+K: 현재 단어를 강조합니다. F3·Shift+F3으로 같은 단어를 이동하고 Esc로 해제합니다. 주석·문자열도 검색하며 현재 구현은 대소문자를 구분하지 않습니다.도구 → CodeAssist: Outline / Workspace Symbols: 현재 문서 또는 프로젝트 심볼을 도킹 창에서 검색합니다. 항목을 더블 클릭해 이동합니다. 표시 한도는 5,000개이며 아래에 표시 개수/전체 개수를 보여 줍니다.도구 → CodeAssist: Insert Snippet: 템플릿과 변수 값을 선택하고 미리보기 후 삽입합니다. 프로젝트의.codeassist/snippets.tpl에 사용자 TPL 레코드를 추가할 수 있습니다.$selected$,$end$, 파일·날짜 변수와 반복 사용자 변수를 지원합니다.
새 UI는 코드·빌드 검증을 마쳤지만 설치 후 실행 비교는 아직 남아 있습니다. 원본 VA Smart Select 메뉴의 두 선택 단계는 실행 비교 기록에 보존했습니다. 기존 사용자 키 배치와 함께 설치한 VA가 단축키를 선점할 수 있습니다.
Visual Assist를 함께 설치한 경우 동일한 단축키에 두 확장이 대응할 수 있습니다. 실제 키 할당은 단축키 문서의 충돌 처리 안내를 참고해 주세요.
파일과 심볼 탐색
Shift+Alt+O: 인덱싱한 소스 파일을 검색합니다. 파일에 선언된 심볼이 없어도 파일 목록에 포함됩니다.Shift+Alt+S: 클래스·함수·멤버를 검색합니다. 지역 변수는 전역 검색 목록에서 제외합니다.Alt+M: 현재 파일의 메서드 후보를 표시합니다. 저장하지 않은 편집 내용도 분석합니다.Alt+O: 같은 기본 이름의 헤더·소스 파일로 이동합니다. 여러 파일이 있으면 선택 창을 엽니다.Shift+Alt+G: 같은 이름의 정의, 소유 타입, 상속 타입, 값·반환 타입에 관련된 심볼 후보를 표시합니다.
검색 창에서 이름이나 경로의 일부를 입력하시면 됩니다. 문자 순서 일치를 지원합니다. 위·아래 키로 선택하고 Enter 또는 더블클릭으로 이동하며, Esc로 닫습니다. 검색 결과는 최대 200개까지 표시하므로 큰 목록에서는 검색어를 추가해 주세요.
Alt+G 또는 F12는 정의 후보를 찾습니다. 여러 위치가 있으면 선택 창을 표시하며, 찾지 못하면 Visual Studio의 기본 정의 탐색을 호출합니다.
초기 인덱싱 중에는 파일·심볼 목록이 아직 완성되지 않을 수 있습니다. 상태 표시줄과 도구 → CodeAssist: Status에서 진행 상황을 확인하실 수 있습니다.
자동완성
식별자를 입력하거나 Ctrl+Space를 누르면 문맥에 맞는 후보를 표시합니다. 선택한 후보는 Tab 또는 Enter로 확정합니다. 목록을 다시 만들 때 기존 선택 항목의 문자열과 설명을 대조하고, 남아 있는 경우 선택을 복원합니다. 제거된 항목을 그대로 확정하지 않습니다.
현재 파일의 일반 지역 변수는 해당 블록에서만 제안합니다. 멤버 자동완성은 지역 변수 타입을 먼저 확인하고 소유 클래스·상속 타입으로 조회합니다. 서로 다른 반환 타입의 오버로드가 충돌하면 하나를 임의로 선택하지 않고 타입 해석을 미확정으로 유지합니다.
복잡한 템플릿, 함수 매개변수, 조건부 컴파일과 일반 C++ 전체 의미 분석은 완전하게 처리하지 않습니다. 후보가 충분해지면 Visual Studio IntelliSense를 사용합니다.
참조 후보
Shift+Alt+F 또는 Shift+F12의 결과는 CodeAssist References 출력 창에 파일·줄·열과 함께 표시됩니다. 문자열, 문자 리터럴, raw 문자열, 줄·블록 주석 안의 같은 이름은 제외합니다.
일반적인 함수 내부 지역 선언을 식별한 경우 해당 파일·블록의 선언과 사용만 검색합니다. 다른 블록에서 같은 이름을 선언하거나 object.Member처럼 멤버 접근을 하는 경우 이를 같은 지역 변수로 취급하지 않습니다. 현재 파일은 저장하지 않은 내용도 반영합니다.
지역 선언을 확실하게 연결하지 못하면 전체 인덱싱 파일에서 어휘 후보를 검색합니다. 이 결과는 컴파일러 수준의 정밀 참조가 아니므로 자동으로 전체 이름 변경에 사용하지 않습니다. Shift+Alt+R 이름 변경은 아래 컴파일러 구성에 따라 CodeAssist 미리보기 또는 Visual Studio Rename을 호출합니다.
Tools → CodeAssist: Reparse Current File은 현재 편집기 내용의 어휘 심볼을 즉시 재분석하도록 예약합니다. 저장하지 않은 내용도 사용합니다. 프로젝트 전체 또는 clangd background index의 강제 재생성 명령은 아닙니다.
컴파일 구성이 있는 경우 clangd의 정의·참조·완성·이름 변경을 사용할 수 있습니다. compile_commands.json/compile_flags.txt를 읽으며, LLVM이 다른 위치에 있으면 CODEASSIST_CLANGD에 실행 파일 경로를 지정합니다. CODEASSIST_USE_CLANGD=1은 구성 파일 없이 명시 활성화하는 시험 경로이며 실제 UE 설정을 대신하지 않습니다. 이름 변경은 새 이름과 파일별 미리보기를 거쳐 편집기에 적용하고 자동 저장하지 않습니다. 구성하지 않은 경우 기존 VS Rename을 사용합니다.
참조는 도킹 결과 창에서도 볼 수 있습니다. 도구 → CodeAssist: Reference Results / Clone Reference Results로 이전 결과를 다시 보거나 스냅샷을 별도 창에 보존합니다. 항목을 더블 클릭해 이동합니다.
별도 작업자
기본값은 최대 2개의 병렬 작업을 사용하는 프로세스 내부 인덱싱입니다. 별도 프로세스가 필요한 경우 Visual Studio를 종료한 뒤, CODEASSIST_USE_INDEX_WORKER=1 환경 변수를 설정한 환경에서 Visual Studio를 시작해 주세요.
작업자 시작·응답·결과 읽기에 실패하면 내부 인덱싱으로 돌아갑니다. 취소 시 작업자를 종료하고 임시 결과를 정리합니다. 상태 창에 최근 처리 시간, 작업자 사용 여부와 fallback 원인이 표시됩니다. 이번 합성 프로젝트 측정에서는 별도 작업자가 더 느려 기본 활성화하지 않았습니다.
이름 변경 후 설치
현재 제품명·솔루션·네임스페이스·출력 패키지는 CodeAssist입니다. VSIX 식별자도 변경되어 기존 설치와 별개로 인식될 수 있으므로, 이전 확장을 제거한 뒤 CodeAssist.vsix를 설치합니다. 환경변수 접두사는 CODEASSIST_, 사용자 스니펫 폴더는 .codeassist로 변경되었습니다. 기존 설정을 사용하던 경우 새 이름으로 옮겨야 합니다.
브랜딩 변경 과정에서 분석 문서의 프로젝트 표기도 현재 이름으로 통일했습니다. 과거 실행 기록의 표기 변경은 새 브랜드로 모든 UI를 다시 실행했다는 의미가 아닙니다. 이름 변경 후 전체 Release 빌드, 73개 테스트, 패키지 바이너리 6개·키 등록 24개 및 HTML 문서·링크 101개를 검증했습니다.
도구 → CodeAssist: Sort Selected Lines에서 선택한 줄을 정렬합니다. 마지막 부분 선택 줄도 포함합니다. 방향·대소문자 옵션을 선택할 수 있습니다. VA 옵션 전체 및 실제 UI 동등성은 아직 미확인입니다.
사용자 TPL의 $Name=value$는 입력 기본값을 지정하며 반복 $Name$에도 같은 값을 사용합니다. %NAME%은 환경 변수로 먼저 치환합니다. $Name_Upper$, $Name_Lower$, $Name_Pascal$, $Name_Camel$ 수정자를 지원합니다. 입력 창은 최대 8개 필드이며 인라인 입력은 아직 지원하지 않습니다.