[java] IntelliJ 정적 가져 오기 완료

Eclipse에서 정적 가져 오기 자동 완성 (예 : Math)을위한 클래스 집합을 등록 할 수있었습니다. , Assert. , EasyMock. *

이 기능을 사용하면 ctrl-space assertEquals, pow, createMock 등이 유효한 코드 완성으로 나타날 수 있습니다.

IntelliJ에서 이것을 찾기 위해 고군분투하고 있지만 반드시 존재해야한다고 확신합니다. 누구든지 도울 수 있습니까?

감사!



답변

버전> = 11 :

Settings -> Code Style -> Java -> Imports (tab).

버전 <11

Settings -> Code Style -> Imports

창 중간에는 ” ‘*’와 함께 가져 오기를 사용할 패키지”테이블이 있습니다. 여기에 정규화 된 클래스 이름의 항목을 추가하고 정적 상자를 선택할 수 있습니다. 이제이 클래스의 모든 정적 메서드를 자동 완성에 사용할 수 있습니다.

(내가 시도한 적이 없기 때문에 정적 가져 오기가 패키지 지정과 어떻게 작동하는지 잘 모르겠지만 왜 그렇게하지 않는지 모르겠습니다. 수퍼 패키지를 지정하고 “하위 패키지 포함”옵션을 선택하면 더 흥미 롭다.)


답변

Alt + Enter트릭을 할 것입니다. 처음에는 전체 표현식이 있어야하고 Alt + Enter정적으로 가져 오려는 메소드에 대한 히트 가 있어야합니다.

IntelliJ를 정적으로 가져 오기


답변

IntelliJ 10을 사용하는 경우 다음을 시도하십시오.

assEq<Ctrl-Alt-Space>

결과 팝업 목록에서 제안을 수락하면 기본적으로 ClassName.methodName () 참조 (Alt-Enter 의도를 사용하여 정적 가져 오기로 변환 할 수 있음)가 삽입됩니다.

완성 메뉴에서 “오른쪽”을 선택하고 “정적으로 가져 오기”를 선택하여 완성 목록에서 정적으로 가져온 메서드를 삽입 할 수도 있습니다.

여기에 이미지 설명 입력

클래스 (Assert.assertSame)에서 단일 메서드를 정적으로 가져 오면 해당 클래스의 다른 정적 메서드 (예 : Assert.assertEquals)가 “일반”코드 완성 (Ctrl-Space)에 포함됩니다.


답변

Intellij 12의 경우 <ctrl + spacebar(twice)>. 그런 다음 메서드를 가져 오려면 정적으로 <alt + return>. 그렇지 않으면 엔터를 치면 메서드의 정규화 된 이름이 삽입됩니다.

업데이트 :
가끔 <alt + return>작품을 사용하는 경우 도 있습니다.


답변

OS X에서는 옵션 + 반환을 수행해야합니다.


답변

참조를 한 번 수행 한 다음 클래스 이름 (예 : Math)에 캐럿을 입력하고 alt + enter를 누른 다음 ” ‘java.lang.Math’에 대한 요청시 정적 가져 오기 추가”를 선택합니다. Intellij는

import static java.lang.Math.*;

파일의 맨 위에.


답변

추가 지금은 가능한 라이브 템플릿을 함께 고정 수입 :

옵션에서 정적 가져 오기를 확인해야합니다.

@org.junit.Test
public void should$EXPR$when$CONDITION$() {
    org.junit.Assert.assertThat(null, org.hamcrest.CoreMatchers.is(org.hamcrest.CoreMatchers.nullValue()));
}

여기에 이미지 설명 입력