IDE & Apps/IntelliJ Idea

깃털보다 가벼운 IntelliJ Idea 팁

Figo Kim 2016. 4. 29. 15:25
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

오늘은 Intellij Idea의 몇가지 자동 완성 기능에 대해서 소개를 해볼까 합니다.


아마 비슷한 기능을 이미 많은 IDE에서 지원하고 있다고 생각하기에 제목을 "깃털보다 가벼운" 이라고 정했습니다.


1. new instance 자동 완성


솔직히 이 기능을 얼마나 유용할 지 여부에 대해서는 의구심이 들기는 합니다. 개인적으로 인스턴스 생성이 필요할 경우, 보통 선언부(declare)를 먼저 하기 때문에 그런 생각이 듭니다. 


우선 아래 그림과 같이 new 키워드로 객체를 생성합니다.그리고 나서 해당 라인에서 


그리고 나서 맥 기준 (option + enter)를 치면 아래와 같이 introduce local variable이라고 일종의 알림이 나타납니다.


그 상태에서 엔터를 치면 자동으로 선언부가 완성이 됩니다. 물론 변수명은 camel case 기준으로 생성을 해줍니다. 

또한 기본 Class명에 대한 camel case 변수명 이외에도 다른 변수명을 제안하기도 하구요, 빨간색 border가 존재하는한 원하는 변수명으로도 변경이 가능합니다.




2. Class 생성

이번에는 존재하지 않는 클래스에 대한 인스턴스를 생성할 때 지원되는 기능입니다.


위 그림에서 보듯이 OptionDate2라는 클래스는 존재하지 않습니다.

이때 빨간색으로 표기된 곳에서 ⌥+Enter를 누르면 아래와 같이 메뉴가 나타납니다.

해당 메뉴에서 일단 첫번째 메뉴인 Create class 'OptionDate2'를 선택하면


위와 같이 어느 패키지에 해당 클래스를 생성할지를 물어봅니다.

생성된 클래스는 아래와 같이 어떤 함수도 포함하지 않고 있습니다.



3. 변수명 자동완성

이 기능은 위 1번 기능과 어느정도 반대기능이라고 볼 수 있을 듯 싶은데요


위 처럼 특정 클래스와 연관된 변수를 선언할 경우, 변수 타입 선언 후 Ctrl + Space를 누르면 자동완성 형태로 변수명을 제안합니다. (참고로 맥 환경에서는 Ctrl+space키 조합은 Spot Light에 대한 키맵입니다. 필자는 Mac의 spot light 에 대한 키맵을 변경하였습니다.)

1번 사항과 마찬가지고 우선순위 변수명은 관련 클래스명에 대한 camel case 형태로 제안을 합니다.

변수명을 선택 후, 계속 Ctrl+enter키를 통해서 자동 완성 기능을 쭉~~욱 사용할 수 있습니다.


4. 메소드 파라미터 자동 조정

코딩을 하다보면 특정 함수에 전달하는 파라미터에 대한 변경이 수시로 발생합니다. 그럴때마다 일일이 해당 함수로 이동해서 파라미터 변경해주고 그러는거는 어찌보면 참 짜증나는 일이죠.

위 그림에서 보면 groupOptionDateList 함수는 hashmap을 파라미터로 받지만, 호출하는 곳에서는 String 변수를 하나 더 사용하고 있습니다.

빨강색 밑줄이 그어진 함수 호출 부분에서 ⌥+Enter키를 누르면, 아래와 같이 취할 수 있는 행위에 대해서 제안을 합니다. 

1. 파마리터를 호출하는 함수에 추가할지 

2. 두개의 파라미터를 받는 함수를 새로 생성할 지

3. 호출부분에서 불필요한 파라미터를 제거할지,,


첫번째 옵션을 선택하면 아래와 같은 팝업이 나오고 해당 함수에 대해서 변경 상세 사항을 확인할 수 있습니다.


Refactor 버튼을 누르면 아래와 같이 해당 함수의 두번째 파라미터로 String타입의 test변수명이 추가된 것을 확인할 수 있습니다.


그럼 이만 ~~!!

다음에는 깃털보다는 조금 무거운 팁으로 ~~!!!