Eclipse는 클래스 파일의 두 번째 클래스를 자체 파일로 추출할 수 있습니다.

StackOverflow https://stackoverflow.com/questions/98079

  •  01-07-2019
  •  | 
  •  

문제

나는 작업 중인 클래스 내에 내부 클래스를 생성하여 먼저 코드를 리팩터링하는 경우가 많습니다. 작업이 끝나면 전체 내용을 새 클래스 파일로 옮깁니다.이렇게 하면 코드를 새 클래스로 리팩토링하는 것이 매우 쉬워집니다. A) 단일 파일만 다루고 B) 이름에 대한 좋은 아이디어가 나올 때까지 새 파일을 생성하지 않기 때문입니다. 하나 이상의 클래스로).

Eclipse가 최종 작업에 도움을 줄 수 있는 방법이 있나요?클래스를 원하는 패키지가 무엇인지 알려줄 수 있어야 하며, 클래스 이름에서 파일 이름을 알아내고 패키지에서 디렉터리를 알아낼 수 있어야 합니다.

이것은 사소한 리팩토링처럼 보이고 정말 명백하지만 키 입력/제스처/무엇이든 이를 실현할 수 있는 방법을 알 수 없습니다.드래그, 메뉴, 상황에 맞는 메뉴를 시도하고 키보드 단축키를 통해 탐색해 보았습니다.

이거 아는 사람 있어?

[편집] 이들은 이미 내부 클래스가 아닌 이 파일의 "최상위" 클래스이며 "이동"은 나를 위해 새 클래스를 생성하려는 것 같지 않습니다.이것은 제가 일반적으로 하는 어려운 방법입니다. 나가서, 빈 클래스를 만들고, 돌아와서 이동하는 것입니다.한 단계로 모든 작업을 수행하고 싶습니다.

도움이 되었습니까?

해결책

이전에 잘못된 답변을 드려 죄송합니다.다시 확인해 보니 원하는 대로 되지 않았습니다.그래도 3.4에서 다시 해결책을 찾았습니다.

클래스를 강조 표시하고 복사 CTRL-C를 수행하거나 CTRL-X를 잘라내고 클래스를 삽입할 패키지를 클릭한 다음 붙여넣기(CTRL-V)를 수행합니다.Eclipse는 자동으로 클래스를 생성합니다.

회원 유형을 최상위 수준으로 변환하는 것이 제대로 작동하지 않습니다.이렇게 하면 외부 클래스의 필드가 생성되고 외부 클래스를 매개변수로 사용하는 생성자가 생성됩니다.

다른 팁

Eclipse 3.6에서는 다음을 수행할 수 있습니다.리팩터링 -> 유형을 새 파일로 이동

소스 코드에서 클래스 이름을 마우스 오른쪽 버튼으로 클릭하고 리팩터링 -> 멤버 유형을 최상위 수준으로 변환을 선택합니다.하지만 패키지를 선택할 수는 없습니다.

IntelliJ IDEA/Android Studio의 경우:리팩터링 -> 이동 -> 내부 클래스 MyInnerClass를 상위 레벨로 이동

2가지 리팩토링으로 수행할 수 있습니다.

  1. 회원 유형을 최상위 수준으로 변환

  2. 이동하다

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top