Intellij IDEA에서 접힌 패키지 체인을 확장하는 방법은 무엇입니까?


127

Intellij IDEA는 중간 패키지가 비어 있으면 자동으로 패키지를 함께 연결합니다. 일반적으로 좋은 기능입니다. 그러나 때로는 새 프로젝트에 대한 새 패키지 구조를 만드는 중일 때 특히 체인이 연결되는 것을 원하지 않습니다. 특정 패키지에 대해이 기능을 비활성화하는 설정을 보았을 수도 있지만 지금 어디에서 찾을 수 없습니다. 그렇다면이 기능을 제어하는 ​​방법을 아는 사람이 있습니까? 대단히 감사합니다.

BTW, 설명이 필요한 경우 패키지 체인이 의미하는 바는 다음과 같습니다. 다음 패키지 구조가 있다고 가정합니다.

$ tree com
com
└── company
    └── project
        └── some
            └── feature

중간 폴더 안에는 실제로 아무것도 없기 때문에 Intellij IDEA는 자동으로 다음과 같이 표시합니다.

com.company.project.some.feature

패키지가 서로 연결된 것처럼 보이는 프로젝트 탐색기에서.


9
아래 답변에 실제 답변이 있지만 최근에 배운 한 가지를 들었습니다. 축소 된 패키지 구조가있는 경우 동일한 루트 네임 스페이스를 가진 새 패키지를 추가하면 intellij는 확장 할 수있을만큼 똑똑합니다. 즉 내가 가지고 com.foo.devshorts.model있고 추가 com.foo.devshorts.controllers하면 확장됩니다 com.foo.devshorts.
— devshorts

3
@devshorts 이것이 제가 물은 중요한 이유 중 하나입니다. 귀하의 예 controllers에서을 만든 후 생성 com.foo.devshorts.model하려면 접두사 controller를 com.foo.devshorts으로 지정해야하는데 이는 성가신 일입니다.
— JBT

그래, 나도 같은 기분이야. 비록 내가 압축 된 패키지를 더 자주 선호하기 때문에 내가 제안한 방식으로 그것을하게되었지만.
— devshorts 2014

6
JBT & @devshorts 압축 패키지보기를 유지하려는 경우 더 쉬운 방법은 탐색 모음 (Alt + Home)을 사용하는 것입니다. 그것을 열고 원하는 부모 패키지 위로 (아래로) 화살표를 누른 다음 새 하위 패키지 (또는 접두사가 붙은 클래스)를 만듭니다. 삭제가 입력하는 것보다 쉽기 때문에 또 다른 유사 해결 방법은 커서를 프로젝트보기의 긴 패키지 (예 : com.foo.devshorts.model)에 놓고 "참조 복사"(Ctrl + Alt + Shift + C, 메뉴 편집> 참조 복사 또는 마우스 오른쪽 버튼 클릭 컨텍스트 메뉴). 그런 다음 패키지를 만들 때 복사 한 패키지를 붙여넣고 필요에 따라 삭제합니다.
— Javaru 2014

답변:


238

프로젝트보기 설정 드롭 다운에서 "빈 중간 패키지 숨기기"를 선택 취소합니다.

빈 중간 패키지 숨기기


11
갱신으로,이 옵션은 이제 숨기기 빈 중간 패키지 이름이있는 것 같다
— 스테판

4
IntelliJ Ultimate 버전 14.1.4. 그것은 (프로젝트 탐험가 메뉴 표시 줄에서 아래쪽 화살표를 작은 톱니 바퀴를 클릭) 도구의 드롭 다운 메뉴에서 "... 컴팩트"여전히
— Pytry

확인 그냥 옵션에 도달하기 위해 스크린 샷에서 읽을 수에 따라
— zoleko steveen

2
해당 메뉴로 이동하려면 추가해야한다고 생각합니다. "프로젝트"상단 표시 줄 (스크린 샷의 왼쪽 상단)을 마우스 오른쪽 버튼으로 클릭합니다.
— Carcigenicate

6
Compact Middle Packagesin Idea Ultimate 2018.02
— J-Alex

17

중간 패키지에서 다른 파일을 만드는 방법에 대한 또 다른 솔루션 :

아래와 같이 창 상단에 확장 된 패키지 계층 구조를 사용합니다. 아래 그림과 같이

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