2013-04-08 2 views
1

내 코드 (거대한)의 많은 비트에 영향을주는 리팩토링을 수행하고 있으므로 프로젝트 가져 오기를 구성해야하므로 결국 멤버의 정적 가져 오기를 추가 할 수 있습니다. 클래스 ..Eclipse/IntelliJ : 멤버 정적 가져 오기

어떻게하는지 알아 내려고 하루 종일을 보낸 후, 나는 길을 찾을 수 없습니다. IntelliJ 또는 Eclipse에서 작동하지 않습니다.

이클립스에서

내가 여기에서 설명하는 것처럼, 즐겨 찾기 설정을 추가 한 :

Eclipse Optimize Imports to Include Static Imports

을하지만, 그것은 단지 + 이동하지 컨트롤에 컨트롤 + 공간에서 작동 + O (

이클립스 4.2에서는 적어도 라인을 빨간색으로 표시하고 가져 오기를 추가하라는 제안을 제안했지만 "가져 오기 구성"트리거에서는 아무 작업도 수행하지 않습니다.

IntelliJ에서는 패키지와 클래스를 설정에 추가하고 Control + Alt + Space를 수정하지만 "가져 오기 최적화"기능은 다루지 않습니다.

나는 이것을 믿을 수 없다. 아무도이 문제를 처리해야합니까?

답변

0

귀하가 언급 한 질문을 다시 읽으십시오. 누락 된 the answer입니다. Ctrl + shift + M입니다. "가져 오기 구성"및 "가져 오기 추가"명령에는 차이가 있습니다.

+0

추가 수입 (Ctrl + Shift + m)이 구조를 대체합니다. – lqbweb

3

import static을 모두 수행하고 싶지는 않습니다. 클래스에 너무 일반적인 클래스 멤버가 있으면 import static은 코드를 읽을 수 없게 만듭니다. 그 외에도 이름 충돌이있을 수 있습니다 (예 : static getInstance() 메서드를 사용하는 두 클래스가 매우 일반적 일 수 있습니다.)

IntelliJ 13.1.3에서는 Alt-Enter를 누른 다음 정적 가져 오기를 수행 할 수 있습니다 CTR-Space 이전에 Alt-Enter 키를 누르십시오. 정적 멤버에서이 작업을 수행하면 정적 멤버 만 정적으로 가져옵니다. 클래스에서 수행하면 정적으로 모든 것을 가져올 수 있습니다 (예 : import static some.package.SomeClass.*). 이름 충돌이 하지 않는 경우는, 정적 수입의 앞에 클래스를 제거합니다

을 조심 SomeInterface someInstance = getInstance() 같은 일을하고, 어떤 이름 충돌이없는 경우에도 -. getInstance()이 어디에 정적으로 수입 - 귀하의 동료를 얻을 것이다 매우 긴장. 가져 오기가 정적 추가하여 AnyClass.anyMember anyMember 에,하지만 난 이미 anyMember이있는 경우, 그것은 도움이 아무것도하지 않습니다하지 않습니다