Visual Studio에서 C++ 코드 탐색Navigate C++ code in Visual Studio

Visual Studio는 코드 베이스를 신속하고 효과적으로 탐색할 수 있는 도구 모음을 제공합니다.Visual Studio provides a suite of tools that you can use to navigate around your codebase quickly and efficiently.

포함된 파일 열기Open an included file

#include 지시문을 마우스 오른쪽 단추로 클릭하고 문서로 이동을 선택합니다.Right-click an #include directive, and select Go To Document. 또는 F12 키를 해당 줄 위의 커서와 함께 선택하여 파일을 엽니다.Or, select F12 with the cursor over that line to open the file.

C++ 문서로 이동 메뉴 옵션C++ Go To Document menu option

헤더/코드 파일 전환Toggle Header/Code File

헤더 파일 및 해당 소스 파일 사이를 전환할 수 있습니다.You can switch between a header file and its corresponding source file. 파일에서 아무 곳이나 마우스 오른쪽 단추로 클릭하고 헤더/코드 파일 전환을 선택합니다.Right-click anywhere in your file and select Toggle Header/Code File. 또는 Ctrl+K, Ctrl+O를 선택할 수 있습니다.Or, you can select Ctrl+K, Ctrl+O.

정의/선언으로 이동Go To Definition/Declaration

편집기를 마우스 오른쪽 단추로 클릭하고 정의로 이동을 선택하거나, F12 키를 선택하여 코드 기호 정의로 이동할 수 있습니다.You can navigate to the definition of a code symbol by right-clicking it in the editor and selecting Go To Definition, or by selecting F12. 마찬가지로 마우스 오른쪽 단추를 클릭하여 상황에 맞는 메뉴를 열거나, Ctrl+F12를 선택하여 선언으로 이동할 수 있습니다.You can navigate to a declaration similarly by right-clicking to open the context menu, or by selecting Ctrl+F12.

C++ 정의로 이동C++ Go To Definition

이동Go To

이동은 사용자가 지정하는 필터에 따라 각각 특정 유형의 결과를 제공하는 탐색 기능 세트를 참조합니다.Go To refers to a set of navigation features that each provide a specific kind of result based on filters you specify.

Ctrl+, 키를 눌러 이동을 열 수 있습니다.You can open Go To with Ctrl+,. 그러면 편집 중인 문서 위에 검색창이 나타납니다.This action creates a search box over the document you're editing.

C++ 이동C++ Go To

이동에는 다음과 같은 검색 필터가 있습니다.Go To includes these search filters:

  • 줄로 이동(Ctrl+G): 현재 문서의 다른 줄로 신속하게 이동합니다.Go To Line (Ctrl+G): Quickly jump to a different line in your current document.
  • 전체로 이동(Ctrl+, ) 또는 (Ctrl+T): 다음 모든 것이 검색 결과에 포함됩니다.Go To All (Ctrl+,) or (Ctrl+T): Search results include everything that follows.
  • 파일로 이동(Ctrl 1, F): 솔루션에서 파일을 검색합니다.Go To File (Ctrl 1, F): Search for files in your solution.
  • 형식으로 이동(Ctrl 1, T): 검색 결과에는 다음이 포함됩니다.Go To Type (Ctrl 1, T): Search results include:
    • 클래스, 구조체 및 열거형Classes, structs, and enums.
    • 인터페이스 및 대리자(관리형 코드에만 해당)Interfaces and delegates (managed code only).
  • 멤버로 이동(Ctrl 1, M): 검색 결과에는 다음이 포함됩니다.Go To Member (Ctrl 1, M): Search results include:
    • 글로벌 변수 및 글로벌 함수Global variables and global functions.
    • 클래스 멤버 변수 및 멤버 함수Class member variables and member functions.
    • 상수Constants.
    • 열거형 항목Enum items.
    • 속성 및 이벤트Properties and events.
  • 기호로 이동(Ctrl 1, S): 검색 결과에는 다음이 포함됩니다.Go To Symbol (Ctrl 1, S): Search results include:
    • 형식으로 이동 및 멤버로 이동의 결과Results from Go To Types and Go To Members.
    • 매크로를 포함한 나머지 모든 C++ 언어 구문All remaining C++ language constructs, which includes macros.

Ctrl+ 키를 눌러 이동을 처음으로 호출하면 전체로 이동이 활성화됩니다(검색 결과에 대한 필터 없음).When you first invoke Go To with Ctrl +, Go To All is activated (no filters on search results). 그런 다음 검색창 옆의 단추를 사용하여 원하는 필터를 선택할 수 있습니다.You then can select the filter you want by using the buttons near the search box. 해당하는 바로 가기 키를 사용하여 특정 필터를 호출할 수 있습니다.You can invoke a specific filter using its corresponding keyboard shortcut. 그러면 해당 필터가 미리 선택된 이동 검색창이 열립니다.Doing so opens the Go To search box with that filter preselected. 모든 바로 가기 키를 구성할 수 있습니다.All keyboard shortcuts are configurable.

텍스트 필터를 적용하려면 필터의 해당 문자 뒤에 공백을 사용하여 검색 쿼리를 시작합니다.To apply a text filter, start your search query with the filter’s corresponding character followed by a space. (줄 이동은 필요에 따라 공백을 생략할 수 있습니다.) 사용 가능한 텍스트 필터는 다음과 같습니다.(Go To Line can optionally omit the space.) These text filters are available:

  • 전체로 이동: (텍스트 필터 없음)Go To All: (no text filter)
  • 줄 번호로 이동: :Go To Line Number: :
  • 파일로 이동: fGo To File: f
  • 형식으로 이동: tGo To Type: t
  • 멤버로 이동: mGo To Member: m
  • 기호로 이동: #Go To Symbol: #

다음 예제는 “f” 필터를 사용하는 파일로 이동 작업의 결과를 보여줍니다.The following example shows results from a Go To Files operation by using the "f" filter:

C++ 이동 메뉴C++ Go To Menu

텍스트 필터 목록을 보려면 ?를 입력하고To see the list of text filters, type a ? 그 뒤에 공백을 넣습니다.followed by a space. 편집 메뉴를 사용하여 이동 명령에 액세스할 수도 있습니다.You also can access the Go To commands with the Edit menu. 편집 메뉴는 이동의 주요 바로 가기 키를 알려주는 또 다른 방법입니다.This is another way to remind yourself of the main Go To keyboard shortcuts.

C++ 이동 메뉴C++ Go To Menu

찾기 또는 파일에서 찾기Find or Find in Files

찾기(Ctrl+F) 또는 파일에서 찾기(Ctrl+Shift+F)를 사용하여 솔루션에서 항목에 대한 텍스트 검색을 실행할 수 있습니다.You can run a text search for anything in your solution with Find (Ctrl+F) or Find in Files (Ctrl+Shift+F).

찾기의 범위를 선택 영역, 현재 문서, 열려 있는 모든 문서, 현재 프로젝트 또는 전체 솔루션으로 지정할 수 있습니다.Find can be scoped to a selection, the current document, all open documents, the current project, or the entire solution. 정규식 및 일반 텍스트를 사용할 수 있습니다.You can use regular expressions and plain text. 또한 IDE에서 모든 일치 항목을 자동으로 강조 표시합니다.It also highlights all matches automatically in the IDE.

C++ 찾기C++ Find

파일에서 찾기찾기의 보다 강력한 버전으로 찾기 결과 창에 결과를 표시합니다.Find in Files is a more powerful version of Find that displays results in the Find Results window. 외부 코드 종속성을 검색하고, 파일 형식으로 필터링하는 등의 작업이 가능합니다.You can search external code dependencies, filter by file types, and more.

C++ 파일에서 찾기C++ Find in Files

파일에서 찾기 결과를 두 창에서 구성할 수 있습니다.You can organize Find in Files results in two windows. 여러 검색 결과를 함께 추가할 수 있습니다.You can append results from multiple searches together. 결과를 선택하여 파일의 해당 위치로 이동합니다.Select a result to go to that location in the file.

C++ 파일에서 찾기C++ Find in Files

자세한 내용은 Visual Studio 설명서의 파일에서 찾기를 참조하세요.For more information, see Find in Files in the Visual Studio documentation.

모든 참조 찾기Find All References

코드 베이스에 사용된 모든 기호를 찾으려면 기호 안에 또는 바로 뒤에 캐럿을 배치하고 마우스 오른쪽 단추로 클릭한 다음, 모든 참조 찾기를 선택합니다.To find all usages of a symbol in your codebase, place the caret in or just after the symbol, right-click, and then select Find All References. 여러 방법으로 결과를 필터링, 정렬 또는 그룹화할 수 있습니다.You can filter, sort, or group results in many different ways. 결과는 증분 방식으로 채워집니다.Results populate incrementally. 시스템 헤더나 다른 라이브러리와는 달리, 솔루션의 내용을 확인할 수 있도록 결과가 읽기 또는 쓰기로 분류됩니다.They're classified as Reads or Writes to help you see what's in your solution as opposed to system headers or other libraries.

C++ 모든 참조 찾기C++ Find all references

다음 범주에 따라 결과를 그룹화합니다.You group results by the following categories:

  • 프로젝트 및 정의Project then Definition
  • 정의만Definition Only
  • 정의 및 프로젝트Definition then Project
  • 정의 및 경로Definition then Path
  • 정의, 프로젝트 및 경로Definition, Project then Path

결과 필터링Filter results

결과를 필터링하려면 마우스 커서를 열 위로 이동한 다음, 표시되는 필터링 아이콘을 선택합니다.To filter results, hover over a column and select the filtering icon that pops up. 보고 싶지 않은 문자열, 주석 참조 등의 항목을 숨기려면 첫 번째 열의 결과를 필터링하면 됩니다.You can filter results from the first column to hide things like string and comment references that you might not want to see.

C++ 모든 참조 찾기 필터C++ Find all references filters

  • 확인된 결과: 실제 코드는 검색 중인 기호를 참조합니다.Confirmed results: Actual code references to the symbol being searched for. 예를 들어 Size라는 멤버 함수를 검색하면 Size를 정의하는 클래스의 범위와 일치하는 모든 Size 참조가 반환됩니다.For example, searching for a member function called Size returns all references to Size that match the scope of the class that defines Size.

  • 확인 취소된 결과: 이 필터는 이름은 일치하지만 검색 중인 기호의 실제 참조가 아닌 기호를 표시하므로 기본적으로 꺼져 있습니다.Disconfirmed results: This filter is off by default because it shows symbols whose name matches but aren't actual references to the symbol you're searching for. 예를 들어 각각 Size 멤버 함수를 정의하는 두 클래스가 있고 Class1의 개체에서 참조의 Size를 선택하면 Class2에서 Size로의 모든 참조는 확인 취소된 것으로 표시됩니다.For example, if you have two classes that each define a member function called Size, and you run a search for Size on a reference from an object of Class1, any references to Size from Class2 appear as disconfirmed.

  • 처리되지 않은 결과: 코드 베이스의 크기가 크면 모든 참조 찾기 작업이 완료되는 데 시간이 걸리므로 결과 목록에 "처리되지 않은" 결과가 표시될 수 있습니다.Unprocessed results: Find All References operations can take time to complete on larger codebases, so the Results list shows "unprocessed" results here. 처리되지 않은 결과는 검색 중인 기호의 이름과 일치하지만, 아직 실제 코드 참조로 확인되지 않았습니다.Unprocessed results match the name of the symbol being searched for but haven't yet been confirmed as actual code references. 이 필터를 켜면 더 빠르게 결과를 얻을 수 있습니다.You can turn on this filter to get faster results. 단, 일부 결과는 실제 참조가 아닐 수 있다는 점에 주의해야 합니다.Just be aware that some results might not be actual references.

결과 정렬Sort results

원하는 열을 선택하여 해당 열을 기준으로 결과를 정렬할 수 있습니다.You can sort results by any column by selecting that column. 열을 다시 선택하여 오름차순/내림차순으로 전환할 수 있습니다.You can swap between ascending or descending order by selecting the column again.

편집기 창 위에 있는 탐색 모음을 사용하여 파일의 형식 정의 또는 형식 멤버로 이동할 수 있습니다.You can navigate to the definition of a type in a file, or to type members, by using the Navigation Bar that's above the editor window.

C++ 탐색 모음C++ Navigation Bar

참고 항목See also