{"meta":{"title":"GitHub 코드 탐색","intro":"GitHub에서 직접 코드를 탐색하여 리포지토리의 내부와 리포지토리 간의 관계를 이해할 수 있습니다.","product":"리포지토리","breadcrumbs":[{"href":"/ko/repositories","title":"리포지토리"},{"href":"/ko/repositories/working-with-files","title":"파일 작업"},{"href":"/ko/repositories/working-with-files/using-files","title":"파일 사용"},{"href":"/ko/repositories/working-with-files/using-files/navigating-code-on-github","title":"GitHub 코드 탐색"}],"documentType":"article"},"body":"# GitHub 코드 탐색\n\nGitHub에서 직접 코드를 탐색하여 리포지토리의 내부와 리포지토리 간의 관계를 이해할 수 있습니다.\n\n<!-- If you make changes to this feature, check whether any of the changes affect languages listed in /get-started/learning-about-github/github-language-support. If so, please update the article accordingly. -->\n\n## GitHub의 코드 탐색 방법\n\n코드 탐색을 사용하면 해당 엔터티에 대한 참조에 해당하는 명명된 엔터티의 정의와 엔터티 정의에 해당하는 참조를 표시하고 연결하여 코드를 읽고 탐색하고 이해할 수 있습니다.\n\n![함수가 강조 표시된 파일을 보여 주는 스크린샷 팝업에는 “정의” 및 “참조” 두 탭의 함수에 대한 정보가 있습니다.](/assets/images/help/repository/code-navigation-popover.png)\n\n코드 탐색은 open source [`tree-sitter`](https://github.com/tree-sitter/tree-sitter) 라이브러리를 사용합니다. 다음 언어는 코드 탐색을 지원합니다.\n\n* Bash\n* C\n* C#\n* C++\n* CodeQL\n* Elixir\n* Go\n* JSX\n* Java\n* JavaScript\n* Lua\n* PHP\n* 프로토콜 버퍼\n* Python\n* R\n* Ruby\n* Rust\n* Scala\n* Starlark\n* Swift\n* TypeScript\n\n코드 탐색을 사용하도록 리포지토리에서 아무것도 구성할 필요가 없습니다. 모든 리포지토리에서 지원되는 이러한 언어에 대한 코드 탐색 정보를 자동으로 추출합니다.\n\nGitHub는 오픈 소스 [`tree-sitter`](https://github.com/tree-sitter/tree-sitter) 라이브러리에 기반하여 코드 탐색 방법을 개발했습니다. 이 방법은 리포지토리의 모든 정의와 참조를 검색하여 지정된 이름의 엔터티를 찾습니다.\n\n바로 가기 키를 사용하여 코드 파일 내에서 탐색할 수 있습니다. 자세한 내용은 [단축키](/ko/get-started/accessibility/keyboard-shortcuts#navigating-within-code-files)을(를) 참조하세요.\n\n## 기호 창 사용\n\n이제 기호 창을 사용하여 코드의 함수 또는 클래스와 같은 기호를 빠르게 보고 탐색할 수 있습니다. 단일 파일, 리포지토리의 모든 파일 또는 GitHub의 모든 공용 리포지토리에서 기호를 검색할 수 있습니다.\n\n기호 검색은 코드 검색의 기능입니다. 자세한 내용은 [GitHub Code Search 구문 이해](/ko/search-github/github-code-search/understanding-github-code-search-syntax#symbol-qualifier)을(를) 참조하세요.\n\n1. 리포지토리를 선택한 다음, 기호가 포함된 파일로 이동합니다.\n\n2. 기호 창을 표시하려면 파일 콘텐츠 위에서 <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-code-square\" aria-label=\"The code square icon\" role=\"img\"><path d=\"M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25Zm7.47 3.97a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L10.69 8 9.22 6.53a.75.75 0 0 1 0-1.06ZM6.78 6.53 5.31 8l1.47 1.47a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-2-2a.75.75 0 0 1 0-1.06l2-2a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z\"></path></svg>을(를) 클릭합니다.\n\n   또는 파일에서 적합한 기호를 클릭하여 기호 창을 열 수 있습니다. 클릭 가능한 기호는 커서를 올릴때 노란색으로 강조 표시됩니다.\n\n3. 기호 창 또는 파일 자체 내에서 찾으려는 기호를 클릭합니다.\n\n   * 리포지토리 전체에서 기호를 검색하려면 기호 창에서 **이 리포지토리에서 이 기호 검색**을 클릭합니다. GitHub의 모든 리포지토리에서 기호를 검색하려면 **모든 리포지토리**를 클릭합니다.\n\n4. 기호에 대한 참조 사이를 이동하려면 <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-chevron-down\" aria-label=\"The downwards-facing chevron icon\" role=\"img\"><path d=\"M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z\"></path></svg> 또는 <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-chevron-up\" aria-label=\"The upwards-facing chevron icon\" role=\"img\"><path d=\"M3.22 10.53a.749.749 0 0 1 0-1.06l4.25-4.25a.749.749 0 0 1 1.06 0l4.25 4.25a.749.749 0 1 1-1.06 1.06L8 6.811 4.28 10.53a.749.749 0 0 1-1.06 0Z\"></path></svg>을 클릭합니다.\n\n5. 특정 기호에 대한 참조로 이동하려면 이 파일의 **<svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-chevron-down\" aria-label=\"chevron-down\" role=\"img\"><path d=\"M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z\"></path></svg> 기호 검색 결과**를 클릭하십시오.\n\n6. 특정 기호 검색을 종료하려면 **<svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-arrow-left\" aria-label=\"arrow-left\" role=\"img\"><path d=\"M7.78 12.53a.75.75 0 0 1-1.06 0L2.47 8.28a.75.75 0 0 1 0-1.06l4.25-4.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L4.81 7h7.44a.75.75 0 0 1 0 1.5H4.81l2.97 2.97a.75.75 0 0 1 0 1.06Z\"></path></svg> All Symbols**를 클릭합니다.\n\n## 함수 또는 메서드의 정의로 이동\n\n파일에서 함수 또는 메서드 호출을 클릭하여 동일한 리포지토리 내에서 함수 또는 메서드 정의로 이동할 수 있습니다.\n\n![함수 창의 스크린샷. \"정의\"라는 섹션은 진한 주황색으로 윤곽이 그려져 있습니다.](/assets/images/help/repository/jump-to-definition-tab.png)\n\n## 함수 또는 메서드의 모든 참조 찾기\n\n파일에서 함수 또는 메서드 호출을 클릭하여 동일한 리포지토리 내에서 함수 또는 메서드에 대한 모든 참조를 찾을 수 있습니다.\n\n![함수 창의 스크린샷. \"3 참조\"라는 섹션은 진한 주황색으로 윤곽이 그려져 있습니다.](/assets/images/help/repository/find-all-references-tab.png)\n\n## 코드 탐색 문제 해결\n\n코드 탐색을 사용하도록 설정했지만 함수 및 메서드 정의에 대한 링크가 표시되지 않는 경우:\n\n* 코드 탐색은 활성 분기에 대해서만 작동합니다. 브랜치에 푸시하고 다시 시도하세요.\n* 코드 탐색은 파일이 100,000개 미만인 리포지토리에서만 작동합니다.\n\n## 추가 참고 자료\n\n* [GitHub 코드 검색 정보](/ko/search-github/github-code-search/about-github-code-search)"}