Eclipse 프로젝트에서 메소드 호출 찾기


83

myMethod () 메서드를 포함하는 클래스 X가 있습니다. 이 myMethod ()가 호출되는 현재 작업 공간의 모든 프로젝트에서 위치를 찾고 싶습니다. myMethod ()에는 여러 클래스가 있으므로 검색 기능을 사용할 수 없으며 정적이 아닙니다. 따라서 프로젝트를 수동으로 탐색하지 않고는 불가능한이 클래스의 개체 이름을 알아야합니다.

Eclipse에 이에 대한 해결책이 있습니까?


답변:


115

X.java의 메소드로 이동하고 컨텍스트 메뉴에서 Open Call Hierarchy를 선택하십시오.


11
나는 이것을 몰랐다. CTRL-G바로 가기 를 사용 하고 있었는데 문제의 메서드가 같은 클래스의 다른 메서드에서 호출되지 않기 때문에 작동하지 않았습니다. 이것이 왜 그런지 아이디어가 있습니까? ...신경 쓰지 마! CTRL-SHIFT-G참조 CTRL-G찾기, 선언 찾기입니다! : S
Xonatron

4
여기 내 이클립스 (화성) 바로 가기는 Ctrl + Alt + H :)입니다
thekucays은

Ctrl + Shift + G, ctrl + Alt + H 등 내가 찾을 수있는 모든 것을 시도했지만 모두 "자원이 Java 프로젝트의 빌드 경로에 없습니다"라는 메시지가 표시됩니다. 따라서 작동하지 않습니다. 누군가가 트리에서 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 상황에 맞는 메뉴에서 "경로 빌드"를 선택하도록 제안했지만이 내용이 보이지 않습니다. 나는 일식 광자에 있습니다. 감사합니다
Pixel

51

선택 mymethod()하고 ctrl+ alt+를 누릅니다 h.

메서드에 대한 자세한 정보를 보려면 특정 개체 또는 메서드를 선택하고 마우스 오른쪽 단추를 클릭하여 사용할 수 있습니다. " OpenCallHierarchy " ( Ctrl+ Alt+ H)를 볼 수 있습니다 . 특정 .java 파일에 선언 된 데이터 유형 및 메소드를보기 위해 " 빠른 개요 "( Ctrl+ O) 와 같이 작업을 더 쉽게 만드는 많은 도구가 있습니다 .

이것에 대해 더 알고 싶다면 이클립스 참조를 참조하십시오.


3
... 호출 계층이 열립니다.
Xonatron

나는 내가 찾을 수있는 모든 것을 시도했다. Ctrl + Shift + G, ctrl + Alt + H, Ctrl + O 그리고 더 많은 것을 시도했지만 모두 나에게 "자원이 자바 프로젝트의 빌드 경로에 있지 않다"를 보여준다. 따라서 작동하지 않습니다. 누군가가 트리에서 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 상황에 맞는 메뉴에서 "경로 빌드"를 선택하도록 제안했지만이 내용이 보이지 않습니다. 나는 일식 광자에 있습니다. 감사합니다
Pixel

10

특정 방법을 검색 할 수도 있습니다. 예를 들어 isEmpty()문자열 클래스의 메소드 를 검색 하려면 검색-> Java-> 유형 java.lang.String.isEmpty()을 선택하고 '검색 대상'옵션에서 Method를 사용해야 합니다 .

그런 다음 필요한 범위를 선택할 수 있습니다.


9

메서드 이름으로 커서를 이동합니다. 마우스 오른쪽 버튼을 클릭하고 팝업 메뉴에서 참조> 프로젝트 또는 참조> 작업 공간을 선택합니다.


5
select method > right click > References > Workspace/Project (your preferred context ) 

또는

(Ctrl+Shift+G) 

그러면이 메서드를 사용하는 클래스 및 메서드의 계층 구조가 포함 된 검색보기가 표시됩니다.


3

메서드를 마우스 오른쪽 버튼으로 클릭하고 호출 계층 구조 열기를 클릭합니다.

이클립스 우클릭 호출 계층


Ctrl + Shift + G, ctrl + Alt + H와 같이 찾을 수있는 모든 것을 시도했지만 모두 "자원이 Java 프로젝트의 빌드 경로에 없습니다"라는 메시지가 표시됩니다. 따라서 작동하지 않습니다. 누군가가 트리에서 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 상황에 맞는 메뉴에서 "경로 빌드"를 선택하도록 제안했지만이 내용이 보이지 않습니다. 나는 일식 광자에 있습니다. 감사합니다
pixel

@pixel- "mvn 새로 설치"를 수행하십시오. 그런 다음 다시 시도하십시오. 프로젝트가 제대로 빌드되지 않았기 때문에 발생할 수 있습니다.
Manjeet
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.