IntelliJ는 수입을 조직합니다


254

IntelliJ에는 Eclipse의 기능과 유사한 구성 가져 오기 기능이 있습니까? 내가 가진 것은 가져 오기가 누락 된 여러 클래스가있는 Java 파일입니다. 예:

package com.test;
public class Foo {
    public Map map;
    public JTable table;
}

Eclipse에서 Organize Imports를 사용할 수 있으며 자동으로 java.util.Map및을 모두 가져옵니다 javax.swing.JTable. IntelliJ에서 각 클래스로 개별적으로 이동하여 선택하고 Alt-Enter를 누릅니다. 가져 오기 최적화 기능이 있지만 기존 가져 오기를 정렬하고 확장하기 만하면됩니다.

IntelliJ 10.5를 사용하고 있습니다.


17
여전히 이클립스의 Ctrl + Shift + O에 대한 대안을 찾을 수 없습니다
appbootup

16
Ctrl + Alt + O를 사용해 보셨습니까? 고유 한 가져 오기를 자동으로 추가하고 Alt + Enter를 눌러 유사한 가져 오기 중에서 선택하라는 메시지를 표시합니다. 참고로, 나는 IntelliJ 12를 사용하고 있습니다.
divesh premdeep

6
Ctrl + Alt + O를 제외하고는 결정할 수없는 가져 오기를 반환하지 않습니다 ... 예를 들어, 선택할 수있는 여러 가져 오기가있는 경우 (선택하지 않는 가져 오기를 선택하려고합니다) 키보드에서 제안하는 문자 기호가 있으면 "사용하지 않은 가져 오기를 찾을 수 없습니다"라고 표시됩니다.
Azurespot

답변:


356

Ctrl+ Alt+ O( Code → Optimize Imports ... )는 Windows / Linux 및 macOS 키맵에서 모두 찾고 있습니다.

"최적화"라고 표시되어 있지만 그렇게 구성하면 다음과 같이됩니다.

  • 기존 수입품 정리
  • 불필요한 수입품 제거
  • 새로운 필수 수입품 추가
  • 모호하지 않은 수입품을 즉석에서 추가하십시오

Dave의 설명에 따라 " 설정 → 편집기 → 일반 → 자동 가져 오기 " 에서 자동 가져 오기 설정을 조정할 수 있습니다 .

" 설정 → 편집기 → 코드 스타일 → Java → 가져 오기 " 에서 가져 오기가 자동으로 정렬되는 방식을 수정할 수도 있습니다.


14
혼란으로 인해 일시적인 다운 보트가 계속 발생합니다. 나는이 방법을 설명하는 내 대답을 업데이 트했습니다 않는 원래의 질문을 만족시킨다.
Ryan Stewart

4
종속성의 패키지 이름이 변경되면 작동하지 않습니다. 여전히 모호하지 않더라도 영향을받는 각 클래스에 대해 ClassName 적중 Alt + Enter 및 Enter를 클릭해야합니다.
Superole

7
Mac에서는 CTRL + ALT + O입니다 (적어도 Android Studio 1.0에서는)
jlapoutre

9
"모호하지 않은 가져 오기 추가"옵션이 기본적으로 선택되어 있지 않다는 것은 상당히 어리석은 일입니다. 이 클래스를 클래스별로 혼자 만드는 것을 누가 선호합니까?
toni07

3
해야합니까 Settings → Editor → General → Auto Import?
Steve Pitchers 2016 년

100

에서 "Settings -> Editor -> General -> Auto Import"자동 수입에 대한 몇 가지 옵션이 있습니다. 분명한 수입품 만 자동으로 추가 될 수 있습니다. 이것은 옵션 중 하나입니다.


이 답변에 충분한 투표를하지 못했습니다. 예, @ ryan-stewart의 답변은 OP의 질문에 완전히 답합니다. 그러나이 답변은 OP가 요청하지 않은 질문에 대한 해결책을 제공합니다.
Jonathan Landrum

7
지금Setting > Editor -> General > Auto Import
운이 좋은

수표 추가classes
Andrea Bergonzo

패키지 / 폴더 / 프로젝트 레벨에서 작동하지 않습니까? 프로젝트, src, java에서 'ctrl + alt + o'를 수행하고 mvn clean test를 수행했습니다 ... 나는 최근 리 팩터에 대해 여전히 '기호를 찾을 수 없습니다'.
올드 스님

@ old-monk 편집기가 알고있는 것과 작동합니다. 리 팩터의 무언가가 깨졌을 가능성이 있지만 말할 수는 없습니다.
Dave Newton

44

간단하고 짧은 솔루션이 나를 위해 일했습니다.

File-> Settings-> Editor-> Auto Import-> Java(왼쪽 패널)로 이동하여 다음을 수행하십시오. " Add unambigious imports on the fly"및 " Optimize imports on the fly" 확인란을 선택하십시오.

이것을 참조하십시오.

여기에 이미지 설명을 입력하십시오


패키지 / 폴더 / 프로젝트 레벨에서 작동하지 않습니까? 프로젝트, src, java에서 'ctrl + alt + o'를 수행하고 mvn clean test를 수행했습니다 ... 나는 최근 리 팩터에 대해 여전히 '기호를 찾을 수 없습니다'.
올드 스님

44

@ dave-newton과 @ ryan-stewart가 이전 답변에서 지적한 Optimize Importsand 외에도 다음으로 Auto Import이동하십시오.

  • 아이디어 <= 13 : File menu > Settings > Code Style > Java > Imports
  • 아이디어> = 14 : File menu > Settings > Editor > Code Style > Java > Imports(@ mathias-bader에게 힌트를 주셔서 감사합니다!) 설정 대화 상자

여기에서 그룹화 및 주문 또는 가져 오기, " Class count to use import with '*'"등을 미세 조정할 수 있습니다 .

참고 :
IDEA 13부터 IDEA "시작 페이지"에서 프로젝트 기본 설정을 구성 할 수 있습니다 Configure > Project defaults > Settings > .... 그런 다음 모든 새 프로젝트에는 기본 설정이 있습니다. 여기에 이미지 설명을 입력하십시오


7
IntelliJ IDEA 14부터는 아래에서 확인할 수 있습니다Settings > Editor > Code Style > Java > Imports
Mathias Bader

@ 마티아스 - 베이더 덕분에 "설정"페이지 변화를 지적
t0r0X

1
스크린 샷을위한 명성! 그것을 사랑하십시오. 비주얼은 1,000 단어의 가치가 있습니다!
atom88

42

2015 년 7 월-IntelliJ는 단일 기능으로 가져 오기 자동 해결을 지원하지 않는다는 결론을 내 렸습니다. "가져 오기 구성"은 사용하지 않는 가져 오기만 제거하고 가져 오지 않은 유형은 해결하지 않습니다. Control-Space는 가져 오지 않은 단일 유형을 해결합니다. 모든 유형의 가져 오기를 해결하는 단일 조치가 없습니다.


11
이것은 나의 경험이었다. 실망.
ayahuasca

1
이것도 나를 트립했다. 아래 @rohit의 솔루션을 참조하십시오. 파일-> 설정-> 편집기-> 일반-> 자동 가져 오기-> Java로 강조 표시 한 세 가지 옵션을 모두 확인하십시오. 이것은 나를 위해 일했습니다.
Carl Rossman

1
이 답변은 매우 정확하지 않으므로 허용되는 답변입니다. stackoverflow.com/a/8609200/839646을 참조하십시오 .
Ryan Stewart

1
@RyanStewart Eclipse와 같은 방식으로 모호한 수입을 해결하지 못합니다. Eclipse는 모호한 경우 프롬프트를 표시하고 IntelliJ는 무시합니다.
Steve Kuo

9

가져 오기를 구성하려는 파일 로 이동 하거나 전체 패키지를 클릭하거나 CTRL + ALT + O를 누르는 것보다 프로젝트를 클릭하십시오.


1
이 답변은 이미 존재합니다 . 당신은 수있는 그 대답에 주석으로 추가 정보 ( "당신은 전체 패키지를 클릭하거나 Ctrl 키 + ALT + O 이상의 프로젝트를 클릭 할 수 있습니다")을 추가하는 것을 고려
자크 Lysobey

9

IntelliJ 14에서 자동 가져 오기 설정 경로가 변경되었습니다. 경로는

IntelliJ IDEA-> 환경 설정-> 편집기-> 일반-> 자동 가져 오기

그런 다음 위의 안내에 따라 모호하지 않은 가져 오기 추가를 클릭하십시오.

왜 이것이 기본적으로 설정되지 않았는지 상상할 수 없습니다.



2

마우스를 누락 된보기 위로 이동하고 창에서 키를 누르십시오. ALT + ENTER


2

ALT + ENTER는 일식 습관과는 거리가 멀었습니다 .IDEA에서 마우스 오버가 작동하지 않아 setting>IDESetting>Keymap>Show intention actions and quick-fixes마우스 왼쪽 클릭으로 변경하여 마우스 오버를 지원하지 않았습니다! 그러나 마우스 왼쪽 클릭은 OK이며 내 의도에 가장 가깝습니다.


2

마지막 으로이 좌절 문제에 대한 해결 방법을 만들었습니다. 나는 해결 방법에 완전히 만족하지 않지만 아무것도 아닌 것보다 낫습니다.

기본적으로 소스 코드를 붙여넣고 명확한 가져 오기가 수정 된 후 F2다음 컴파일러 오류를 강조 표시하려면 누르십시오 . 현재 오류가 수입 누락 오류 인 경우를 눌러 Alt+Enter다음 Enter선택합니다 Import다음 올바른 가져 오기를 선택, 옵션을 선택합니다. 그런 다음 F2다시 누르십시오 .


1

해당 플러그인은 파일 저장시 "가져 오기 구성"작업을 자동으로 수행합니다. https://github.com/dubreuia/intellij-plugin-save-actions .

설치하려면 : "파일> 설정> 플러그인> 리포지토리 찾아보기 ...> '작업 저장'검색> 카테고리 '코드 도구'". 그런 다음 "가져 오기 구성"저장 조치를 활성화하십시오.


하나의 도구에서 누락 된 기능을 판단하는 것은 신중한 판단으로 간주되지 않을 수 있습니다. 플러그인이 작동하지 않으면 주저하지 말고 github.com/dubreuia/intellij-plugin-save-actions/issues 버그를 채우 십시오 .
Alexandre DuBreuil 2016 년

5
당신은 옳습니다. 정상적인 상황에서는 신중한 판단이 아닙니다. 그러나 그것은 궁극적 인 도구에서 놀랍게도 누락 된 기본 기능에 대한 좌절입니다. 나는 성공하지 않고 간단하고 필수적인 기능을 작동시키기 위해 2 시간의 고통을 겪었다. 그리고 기본적으로 내장 기능이 아니기 때문에 (이클립스가 얼마나 우아하게 작동하는지와 같이) 플러그인을 실제로 작성해야했습니다! 그것은 최첨단 기술과 가장 복잡한 점보 제트기를 건축하는 것과 같지만 에어컨이없는 대신 각 승객에게 종이 팬이 제공됩니다! 이클립스에서 1 초 걸렸습니다.
DhafirNz 2016 년

1
실제로이 플러그인을 사용하면 IntelliJ의 문제점과 약점이 강조되었습니다. 이 플러그인은 모든 자동 저장시 IntelliJ를 가로 채서 사용할 수없고 느리기 때문에이 플러그인을 비활성화해야했습니다. 입력 할 때마다 모든 저장 작업을 수행하려고하기 때문입니다. 어떻게 든 자동 저장을 끌 수 있다면이 플러그인은 매우 유용 할 것입니다.
DhafirNz

0

가져 오기가 하나만 누락 된 경우 (클래스 이름에 빨간색 밑줄이 있음) 마우스를 클릭하여 마우스를 가져 가면 파란색 제안 된 가져 오기 명령문이 나타납니다. 당신이 명중하면, Alt + Enter를 이 시점에서, 가져 오기는 파일에 포함되며 빨간색 밑줄이 사라집니다.


이것이 다중 플랫폼 기능인지 확인하십시오.
Zach Lysobey

0

도움말로 이동-> 조치 찾기 (이 작업에 대한 단축 컷은 Cntl + Shift + A 임) 및 최적화 가져 오기 유형 (이 작업에 대한 단축 컷은 Cntl + Alt + O 임)

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