C++ 코드 편집 및 탐색
이 문서는 C/C++ 확장에 특화된 코드 편집 및 탐색 기능에 대한 개요를 제공합니다. Visual Studio Code의 일반적인 편집 및 탐색에 대한 자세한 내용은 기본 편집 및 코드 탐색을 참조하십시오.
C++ 코드 편집
C/C++ 확장에서 제공하는 소스 코드 편집 기능은 코드베이스를 편집, 서식 지정 및 이해하는 데 강력한 도구입니다.
헤더 파일 식별
최상의 편집 환경을 제공하기 위해 C++ 확장은 코드에서 참조된 각 헤더 파일을 찾을 위치를 알아야 합니다. 기본적으로 확장은 현재 소스 디렉터리, 하위 디렉터리 및 일부 플랫폼별 위치를 검색합니다. 참조된 헤더 파일을 찾을 수 없는 경우 #include 지시어 아래에 빨간색 물결선이 표시됩니다.
추가 포함 디렉터리를 지정하려면
- 참조가 없는
#include경로를 선택합니다. - 나타나는 전구 아이콘을 선택하고 **
"includePath" 설정 편집**을 선택하면 C/C++ 확장 설정 편집기가 열립니다. - 포함 경로 섹션에서 추가 포함 디렉터리의 경로를 지정할 수 있습니다.

멤버 목록
멤버 액세스 기호(. 또는 ->)를 입력하면 편집기에 멤버 목록이 표시됩니다. 더 많은 문자를 입력할수록 목록이 실시간으로 필터링됩니다.

코드 서식 지정
Visual Studio Code의 C/C++ 확장은 clang-format 및 vc_format을 사용하여 소스 코드 서식 지정을 지원합니다. 이 두 가지 서식 옵션 모두 확장 프로그램에 포함되어 있으며 clang-format이 기본값입니다.
문서 서식(⇧⌥F (Windows Shift+Alt+F, Linux Ctrl+Shift+I))으로 전체 파일을 서식 지정하거나 오른쪽 클릭 컨텍스트 메뉴에서 **선택 영역 서식**(⌘K ⌘F (Windows, Linux Ctrl+K Ctrl+F))으로 현재 선택 영역만 서식 지정할 수 있습니다. 다음 설정을 사용하여 입력, 저장 및 붙여넣기와 같은 사용자 동작에 따라 서식을 트리거할 수도 있습니다.
editor.formatOnSave- 파일을 저장할 때 서식을 지정합니다.editor.formatOnType- 입력하는 동안 서식을 지정합니다(;문자에 트리거됨).
서식에 대한 자세한 내용은 서식을 참조하십시오.
Clang-format
기본적으로 clang-format 스타일은 file로 설정됩니다. 즉, 작업 영역에서 .clang-format 파일이 발견되면 해당 파일에 지정된 설정이 서식 참조로 사용됩니다. 그렇지 않으면 서식은 C_Cpp.clang_format_fallbackStyle 설정에 지정된 기본 스타일에 따라 결정됩니다.
현재 기본 서식 스타일은 Visual Studio이며, Visual Studio의 기본 코드 서식 지정 도구의 근사치입니다. 다음 설정을 의미합니다.
UseTab: (VS Code current setting)
IndentWidth: (VS Code current setting)
BreakBeforeBraces: Allman
AllowShortIfStatementsOnASingleLine: false
IndentCaseLabels: false
ColumnLimit: 0
확장 프로그램과 함께 제공되는 clang-format 버전과 다른 버전을 사용하려면 C_Cpp.clang_format_path 설정을 clang-format 바이너리가 설치된 경로로 변경하십시오.
예를 들어 Windows 플랫폼에서는 다음을 사용합니다.
"C_Cpp.clang_format_path": "C:\\Program Files (x86)\\LLVM\\bin\\clang-format.exe"
vc_format
기본적으로 서식이 지정되는 코드 근처에서 관련 설정이 있는 .editorconfig 파일이 식별되면 Visual C++ 서식 지정 엔진이 clang-format 대신 사용됩니다. 그렇지 않으면 C_Cpp.formatting 설정으로 이동하여 vc_format으로 설정하여 Visual C++ 서식 지정 엔진을 사용하십시오.
향상된 의미론적 색상 지정
IntelliSense가 활성화된 경우 Visual Studio Code C/C++ 확장은 의미론적 색상 지정을 지원합니다. 클래스, 함수, 변수 등에 대한 색상 설정을 자세히 알아보려면 향상된 색상 지정을 참조하십시오. IntelliSense 구성에 대한 자세한 내용은 IntelliSense 구성을 참조하십시오.
빠른 정보
기호 위로 마우스를 가져가면 정의를 인라인으로 볼 수 있습니다.

Doxygen 주석
Doxygen은 소스 코드에서 문서를 생성하는 도구입니다. 코드에 주석으로 주석을 달면 Doxygen이 이러한 함수에 대한 문서를 생성합니다. doxygen 주석의 경우 /**을 입력하고 Enter를 누르면 doxygen 주석 블록이 생성됩니다. 지원되는 doxygen 태그는 다음과 같습니다. @brief, @tparam, @param, @return, @exception, @deprecated, @note, @attention 및 @pre.
Markdown 주석
기본적으로 C++ 확장은 편집기에서 Markdown의 일부를 표시하는 것을 지원합니다. 이 부분 집합은 _ 및 * 기호를 제외한 모든 Markdown 주석을 지원합니다. 새로운 **Markdown in Comments** 설정을 전환하여 모든 Markdown을 사용하거나, Markdown의 이 부분 집합을 유지하거나, Markdown 지원을 비활성화할 수 있습니다.
소스 코드 탐색
소스 코드 탐색 기능은 코드베이스 이해도를 높이는 데 도움이 될 수 있습니다. 이를 통해 코드에서 기호를 빠르게 검색하고 정의로 이동하거나 해당 참조를 찾을 수 있습니다.
탐색은 로컬 기호 정보 데이터베이스에 저장된 태그 세트에 의해 구동됩니다. C++ 소스 코드 파일이 포함된 폴더가 열릴 때마다 C/C++ 확장은 해당 파일에 정의된 기호의 데이터베이스를 생성합니다. 이 데이터베이스는 파일이 변경될 때마다 업데이트됩니다. 저장하지 않고 문서를 닫으면 데이터베이스가 마지막 저장 상태로 업데이트됩니다.
기호 검색
코드를 더 빠르게 탐색하기 위해 현재 파일 또는 작업 영역에서 기호를 검색할 수 있습니다.
현재 파일에서 기호를 검색하려면 ⇧⌘O (Windows, Linux Ctrl+Shift+O)를 누르고 찾고 있는 기호의 이름을 입력합니다. 일치하는 항목 목록이 나타나며 입력할 때마다 필터링됩니다. 일치하는 항목 목록에서 선택하여 해당 기호의 위치로 이동합니다.

현재 작업 영역에서 기호를 검색하려면 ⌘T (Windows, Linux Ctrl+T)를 누르고 기호의 이름을 입력합니다. 일치하는 항목 목록이 나타납니다. 선택한 항목이 아직 열려 있지 않은 파일에 있는 경우 해당 파일이 열린 후 일치하는 항목의 위치로 이동합니다.

명령 팔레트(⇧⌘P (Windows, Linux Ctrl+Shift+P))를 통해 이러한 명령에 액세스하여 기호를 검색할 수도 있습니다. 빠른 열기(⌘P (Windows, Linux Ctrl+P))를 사용한 다음 @ 명령을 입력하여 현재 파일을 검색하거나 # 명령을 입력하여 현재 작업 영역을 검색합니다. ⇧⌘O (Windows, Linux Ctrl+Shift+O) 및 ⌘T (Windows, Linux Ctrl+T)는 @ 및 # 명령의 바로가기입니다.
호출 계층 구조
호출 계층 구조 보기는 함수에 대한 모든 호출 또는 함수에서 나가는 모든 호출을 보여줍니다. 소스 코드의 함수 간 복잡한 호출 관계를 이해할 수 있습니다.
호출 계층 구조를 보려면 함수를 선택하고 마우스 오른쪽 버튼을 클릭하여 컨텍스트 메뉴를 표시한 다음 **호출 계층 구조 표시**를 선택합니다. 바로 가기 키(Windows에서 Shift+Alt+H)를 사용하거나 **명령 팔레트**(⇧⌘P (Windows, Linux Ctrl+Shift+P))를 호출하고 **호출: 호출 계층 구조 표시** 명령을 실행할 수 있습니다. 이렇게 하면 선택한 함수가 호출한 모든 함수가 사이드바의 호출 트리에 채워집니다.

사이드바 메뉴의 전화기 아이콘을 토글하여 수신 호출로 전환합니다. 수신 호출은 함수가 다른 함수에서 참조될 때마다 표시됩니다. 또한 호출 트리에 이미 표시된 함수를 선택하고 해당 함수를 마우스 오른쪽 버튼으로 클릭하여 사용 가능한 명령을 보고 중첩된 호출을 탐색할 수 있습니다.

피크
Peek 기능은 **Peek 창** 내에 몇 줄의 코드를 표시하므로 현재 위치에서 이동할 필요가 없습니다. 현재 코드에서 이동하지 않고 기호의 컨텍스트를 빠르게 이해하는 데 유용합니다.
**Peek 창**을 열려면 마우스 오른쪽 버튼을 클릭하여 컨텍스트 메뉴로 이동한 다음 **Peek**을 선택합니다. 거기에서 기호의 정의, 선언, 형식 정의 또는 참조를 Peek하도록 선택할 수 있습니다.

Peek 창이 열린 상태에서 표시된 결과 목록을 탐색하여 관심 있는 항목을 찾습니다. 이러한 결과 중 하나의 위치로 이동하려면 결과를 선택하거나 Peek 창의 왼쪽 부분에 표시된 소스 코드에서 두 번 클릭합니다.
정의로 이동
정의로 이동 기능을 사용하여 소스 코드에서 기호가 정의된 위치로 빠르게 이동합니다. 소스 코드에서 기호를 선택한 다음 F12를 누르거나 마우스 오른쪽 버튼을 클릭하고 컨텍스트 메뉴에서 **정의로 이동**을 선택합니다. 기호에 정의가 하나만 있으면 해당 위치로 직접 이동하고, 그렇지 않으면 이전 섹션에 설명된 대로 경쟁 정의가 Peek 창에 표시됩니다.
선택한 기호에 대한 정의를 찾을 수 없는 경우 C/C++ 확장은 자동으로 기호의 선언을 검색합니다.
선언으로 이동
선언으로 이동 기능을 사용하여 소스 코드에서 기호가 선언된 위치로 이동합니다. 이 기능은 **정의로 이동**과 동일하게 작동하지만 선언에 적용됩니다. 소스 코드에서 기호를 선택하고 마우스 오른쪽 버튼을 클릭한 다음 컨텍스트 메뉴에서 **선언으로 이동**을 선택합니다. 이렇게 하면 기호 선언 위치로 이동합니다.
참조로 이동
참조로 이동 기능을 사용하여 소스 코드에서 기호가 얼마나 자주 그리고 어디에서 참조되는지 이해합니다. 소스 코드에서 기호를 선택하고 ⇧F12 (Windows, Linux Shift+F12)를 누르거나 마우스 오른쪽 버튼을 클릭하고 컨텍스트 메뉴에서 **참조로 이동**을 선택합니다. 참조가 발견되면 Peek 창에 표시됩니다.
형식 정의로 이동
형식 정의로 이동 기능을 사용하여 소스 코드에서 형식이 정의된 위치로 이동합니다. 소스 코드에서 형식을 선택하고 마우스 오른쪽 버튼을 클릭하여 컨텍스트 메뉴를 연 다음 **형식 정의로 이동**을 선택합니다.
다음 단계
자세한 내용은 계속 읽어보세요.
- C++ 코드 디버깅
- IntelliSense 구성
- MSVC용 VS Code 구성
- Mingw-w64 및 GCC용 VS Code 구성
- macOS용 VS Code 구성
- VS Code의 기본 편집
- VS Code의 코드 탐색
- VS Code의 작업
다른 질문이 있거나 문제가 발생하는 경우 GitHub에 문제를 제기하십시오. 문제를 진단하는 데 도움이 되도록 확장 프로그램의 로깅 정보를 제공하라는 요청을 받을 수 있습니다. 확장 로그 제공에 대한 도움말은 C/C++ 확장 로깅을 참조하십시오.