Eclipse에서와 같이 IntelliJ IDEA에서 클래스를 자동으로 가져 오는 방법 (또는 바로 가기)이 있습니까?


123

Eclipse에서 Java로 코딩하는 동안 Ctrl+ Shift+를 누르면 O모든 클래스가 자동으로 자동으로 가져옵니다.
NetBeans에서 이것은 Ctrl+ Shift+ 로 수행됩니다 I.

IntelliJ IDEA에서 이것을 수행하는 방법이 있습니까?

Google, StackOverflow, IntelliJ IDEA 구성 및 공식 IntelliJ 웹 사이트에서 놓칠 수없는 키보드 바로 가기에서 동등한 바로 가기를 검색했습니다.



4
명령 / 키보드 바로 가기를 찾을 때 Ctrl-shift-A (또는 Mac의 경우 Cmd-shift-A)를 입력하고 명령을 검색합니다. 예를 들어 여기에서 "imports"를 입력하면 "가져 오기 최적화"명령과 키보드 단축키가 표시됩니다.
JB Nizet

2
은 "최적화 수입"작품은 클래스를 추가하지 않습니다
bywronski

"설정> 편집기> 일반> 자동 가져 오기"에서 활성화하면 클래스에 대한 자동 가져 오기가 작동합니다.
Andrea Bergonzo

이것은 실제로 인텔 리즈의 가장 큰 실패입니다. 고통입니다. 수입품에서 충돌과 병합이 발생하는 것은 어리석은 일이지만 intellij는 쉽게 해결할 수 없습니다.
bharal

답변:


103

IntelliJ IDEA에는 가져 오기를 추가하는 작업이 없습니다. 오히려 그것은 당신이 입력하는 것과 같은 기능을 가지고 있습니다. 설정> 편집기> 일반> 자동 가져 오기 에서 "즉시 모호하지 않은 가져 오기 추가"를 사용하도록 설정 하면 IntelliJ IDEA는 단축키없이 입력 할 때 추가합니다. 또한 자동 가져 오기에서 제외 할 클래스와 패키지를 추가하여 자주 사용하는 클래스를 만들 수 있습니다.이 클래스는 동일한 이름의 다른 클래스와 명확하게 충돌합니다.

모호한 클래스의 경우 (또는 "즉시 모호하지 않은 가져 오기 추가"옵션을 해제하려는 경우) 클래스의 이름을 입력하기 만하면됩니다 (이름 만 입력해도되며 완전히 한정 할 필요는 없습니다). 코드 완성을 사용하고 원하는 특정 클래스를 선택하십시오.

여기에 이미지 설명 입력

오른쪽에 정규화 된 이름이 있습니다. 내가 원하는 것을 선택하고 Enter 키를 누르면 IDEA가 자동으로 import 문을 추가합니다. 생성자의 이름을 입력하는 경우에도 동일하게 작동합니다. 정적 메서드의 경우 원하는 메서드를 계속 입력 할 수도 있습니다. 다음 스크린 샷에서는 아직 "StringUtils"클래스를 가져 오지 않았습니다.

여기에 이미지 설명 입력

또는 클래스 이름을 입력 한 다음 Alt+ Enter또는 + Enter를 눌러 "의도 작업 및 빠른 수정 표시"를 누른 다음 가져 오기 옵션을 선택합니다.

나는 그것을 사용한 적이 없지만 Eclipse Code Formatter 타사 플러그인이 원하는 것을 할 것이라고 생각 합니다 . "Eclipse 가져 오기 최적화를 에뮬레이트"기능으로 나열합니다. 자세한 내용은 지침 을 참조하십시오. 그러나 결국에는 내장 된 IDEA 기능이 패러다임에 익숙해지면 제대로 작동한다는 것을 알게 될 것입니다. 일반적으로 IDEA는 "의도에 의한 개발"개념을 사용합니다. 따라서 import 문을 추가하기 위해 개발 작업을 중단하는 대신 원하는 클래스 (내 의도)를 입력하면 IDEA가 자동으로 클래스에 대한 import 문을 추가합니다.


7
오래된 파일을 편집 할 때 이렇게하면 훨씬 더 많은 작업이 수행됩니다.
Adam

이것은 나를 위해 작동하지 않습니다. 자동 완성 목록에 나타나는 클래스를 선택한 후 Enter 키를 누르면 IntelliJ가 가져 오지 않습니다. 대신 클래스의 정규화 된 이름을 작성합니다. 이것은 매우 성 가시고 쓸모가 없습니다. 이 문제를 해결하는 방법을 알고 있습니까?
Rodrigo

^이 동작의 이유는 가져 오려는 클래스가 빌드 경로에 없기 때문입니다. 추가되면 Enter 키를 눌러 클래스를 올바르게 가져 왔습니다.
Rodrigo

3
나는 IntelliJ에 대한 그러한 단축키를 찾기를 희망 하면서이 질문에 왔습니다. 문제는 클래스가있는 코드의 큰 부분에 주석을 달면 IntelliJ가 네임 스페이스 가져 오기를 자동으로 제거한다는 것입니다. 이제 내가 가서 코드의 주석 처리를 제거하면 IntelliJ는 동일한 네임 스페이스를 다시 가져 오지 않으며 각 네임 스페이스에 대해 ALT + Enter를 계속하는 것은 상당히 골치 아픈 일입니다. 어떤 해결책이 있습니까?
Rahul Saini

나는 이것에 대해 @RahulSaini와 동의합니다. 단일 활동에 대해 두 개의 별도 키 맵을 가질 이유가 없습니다. 단일 작업을 수행하기 위해 여러 가지 작업을 수행하고 싶지도 않아야합니다. 나는이 시점에서 intellij가 그것에 대해 호전적 일 뿐이며 수입품을 "최적화"하는 것과는 반대로 수입품을 "조직"하지 않을 실제 이유가 없다고 말하고 싶습니다. 이 답변이 기술적으로 정확하더라도 정말 반대 투표하고 싶습니다.
peekay 19

73

한 번에 전부는 아닙니다. 그러나 당신은 누를 수 있습니다

Alt + Enter

사람들은 특정 항목에있을 때만 작동한다고 가정합니다. 그러나 실제로 "다음 누락 유형"에 대해 작동합니다. 따라서 Alt+ 를 계속 누르면 EnterIDEA는 모두 수정 될 때까지 하나씩 수정합니다.


1
나는 당신이 키보드 키 기호를 언급하고 있다고 가정합니다. kbd태그를 사용하여 추가 할 수 있습니다<kbd>Alt</kbd> + <kbd>Enter</kbd>
GuiSim

1
찾을 수없는 클래스로 이동하여 ⌥ + Enter를 누르십시오. 스크롤을 내려서 다행입니다.
Ajak6

1
Alt+Enter더 손가락 친화적 인 조합 으로 다시 매핑하는 방법이 있습니까? IntelliJ IDEA > Preferences > Keymap메뉴를 통해서는 알 수 없었습니다 .
laylaylom 2017 년

1
나는 IDEA보다 쉽게 ​​import 문을 추가하는 Eclipse 방법을 발견했습니다. 난 항상 어디에 입력 Alt 키 전에 마우스 커서를 + Enter를 혼동 얻을
vikramvi

F2 (Next Highlighted Error)와 함께 Alt + Enter는 일반적으로 (너무) 큰 클래스의 경우에도 매우 빠릅니다.
osundblad

10

IntelliJ IDEA가 누락 된 수업을 자동으로 가져 오는 것처럼 보이며 수동으로 Alt+를 Enter눌러 가져올 수 있습니다.


8

Eclipse / Netbeans와 정확히 동일하지는 않지만 최상의 솔루션은 '가져 오기 최적화'설정을 변경하는 것입니다.

아래에 Preferences > Editor > General > Auto Import

세트 Add unambiguous imports on the fly

편집 :이 방법을 사용하면 모호한 가져 오기 있을 때 IntelliJ가 알려줍니다. 그런 다음 Wuaner답변에 설명 된 Alt+ Enter방법 을 사용할 수 있습니다.

거의 항상 가장 적합한 가져 오기가 목록의 맨 위에 있습니다.


1
@ 라자 나도 이유가 확실하지 않습니다. 나는 동료들에게이 방법을 사용하지 않기로 결정했다고 말했을 때 ... 신비 스럽습니다.
comfytoday

지침은 매우 명확합니다. unambiguous클래스 만 자동으로 가져옵니다 . 그리고 저는 3000 개 이상의 수업 프로젝트에서 지난 이틀 동안 그것을 사용하고 있습니다. 매력처럼 작동합니다. 공유해 주셔서 감사합니다.
Raja Anbazhagan

5

한 번에 모두 가져올 수는 없지만 다음 조합을 사용할 수 있습니다.

ALT + Enter -> 의도 작업 및 빠른 수정을 표시합니다.

F2 -> 다음 강조 표시된 오류입니다.


3

또 다른 옵션은 이클립스 바로 가기 키를 사용하여 이클립스처럼 동작하도록 IDEA에 요청하는 것입니다. 모든 이클립스 단축키를 사용할 수 있습니다.이 기능을 활성화하면 를 .

단계는 다음과 같습니다.

1- IDEA가 열린 상태에서 Control +`를 누릅니다 . 다음과 같은 옵션이 나타납니다.

여기에 이미지 설명 입력

2- 키맵을 선택합니다. 다른 팝업이 표시됩니다. 거기에서 Eclipse를 선택하십시오.

여기에 이미지 설명 입력

3- 이제를 누릅니다Ctrl + Shift + O . 완료되었습니다!


나는 시도했다. "가져 오기 구성"이 Eclipse 방식으로 작동하도록 만들지 않습니다.
Florian F

0

control+ option+ L를 사용 하여 패키지를 자동으로 가져오고 Mac에서 사용하지 않는 패키지를 자동으로 제거합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.