IDE & Apps 27

깃털보다 가벼운 IntelliJ(인텔리J)팁 5 - Class & Method Signature변경

오늘은 IntelliJ의 Refactoring 기능에 대해서 얘기해봅시다. 사실 refactoring이라는게 IDE의 기능을 통해서 뚝딱 효과적으로 될 수 없는것이기는 하지만, 그래도 IDE가 제공하는 기본 기능을 통해서 여기저기 왔다갔다 하면서, 그리고 Copy & Paste를 하면서 코드를 수정하는 수고를 많이 덜 수 있다고 보여집니다. 우선 Class Signature에 대한 refactoring을 알아봅시다. IntelliJ에서 Class level의 signature 변경은 일반 Class를 Generic으로 변경하는 작업을 조금이나마 편하게 해준다. 일단 아래와 같은 형태로 두개의 class가 있다고 가정하자. MyClass는 MyClass2를 아래와 같이 참조한다. 이러한 상황에서 MyCla..

깃털보다 가벼운 IntelliJ 팁 4

보통 코딩을 하면서 하는 행위 중 copy & paste가 상당부분 차지한다고 생각합니다. 남의 코드를 복사해서 쓰기 때문이 아니라, 특정 블럭의 위치를 변경해야 한다던지 또는 특정 코드 블럭을 삭제해야 할 때 말이죠.. 그런데, 이런 작업이 자주 있다보니 사실 마우스로 일일이 하는것도 보통 노가다가 아니죠. 이러한 이유 때문에 많은 분들이 키보드를 사용해서 코드 블럭을 선택을 하고, 대부분 shift키를 사용해서 선택하는 경우가 많다고 생각합니다. 오늘은 편집과 관련해서 두가지 팁을 소개할까 합니다.단순히 화면 캡처만으로는 설명이 힘들어서 동영상으로 소개하고자 합니다. 동영상으로 소개하기 이전에 화면상에서 어떤 키가 눌렸는지 보여주는 기능이 IntelliJ에 기본으로 있는데 이에 대한 설정은 아래 설정..

깃털보다 가벼운 Intellij 팁 3

네..오늘도 간단한 팁 하나 정리해보고자 합니다.그런데 오늘 팁은 사실....깃털 만큼 정도로 무거울 듯 싶네요.ㅎㅎㅎ 이번에는 IntelliJ에서는 Live Template이라 불리는 Template 기능 중 하나에 대해서 알아보도록 하죠~참고로 IntelliJ에는 File Template이라는 기능도 있으나, 그건 나중 올릴 예정입니다. Live Template 기능을 쉽게 정의하자면 자주 사용되는 코드를 축약어로 등록해두고 사용하는 것입니다.더불어서 파라미터 기능까지 있어서 Template의 값을 호출 후 동적으로 지정할 수도 있습니다. 우선 기본 Live Template은 Preference --> Editor --> Live Template에서 확인하실 수 있으며,아래 이미지와 같이 상당히 많은..

깃털보다 가벼운 Intellij 팁 2

오늘은 음....이거 참 한글로 풀어 쓰는게 요상하긴 하지만, 나름 풀이해보자면 "구현체 미리보기" 정도로 할 수 있을 듯 싶네요. 깃털보다 가벼운 관계로 오늘은 깃털만큼 짧게 소개하고 끝낼까 합니다. 우선 위와 같은 Controller가 있다고 할 때, 서비스의 getGroupNotificationReceiver 를 호출해서 값을 받아오겠죠. 그런데, getGroupNotificationReceiver 함수를 직접 열어보는 대신에 미리 좀 보고 싶은 경우가 분명 많이 있을 수 있다고 생각이 드네요. 그럴때 저 함수명에 커서를 댄 후, ⌥Space키를 누르면 아래와 같이 해당 함수의 내용을 보여줍니다. 위 상태에서 바로 엔터를 치면 해당 파일을 열고, 바로 해당 함수로 이동을 합니다. 위 기능은 클래스 ..

깃털보다 가벼운 IntelliJ Idea 팁

오늘은 Intellij Idea의 몇가지 자동 완성 기능에 대해서 소개를 해볼까 합니다. 아마 비슷한 기능을 이미 많은 IDE에서 지원하고 있다고 생각하기에 제목을 "깃털보다 가벼운" 이라고 정했습니다. 1. new instance 자동 완성 솔직히 이 기능을 얼마나 유용할 지 여부에 대해서는 의구심이 들기는 합니다. 개인적으로 인스턴스 생성이 필요할 경우, 보통 선언부(declare)를 먼저 하기 때문에 그런 생각이 듭니다. 우선 아래 그림과 같이 new 키워드로 객체를 생성합니다.그리고 나서 해당 라인에서 그리고 나서 맥 기준 (option + enter)를 치면 아래와 같이 introduce local variable이라고 일종의 알림이 나타납니다. 그 상태에서 엔터를 치면 자동으로 선언부가 완성이..

인텔리J 북마크 기능 활용하기

참으로 오래간만에 포스팅을 하는 거 같네요. 오늘을 북마크 기능에 대해서 적어볼 까 합니다. 작업을 하다보면 분명한건 특정 파일의 길이가 다소 길어질 수 있습니다. 어느정도 길어지는거는 문제가 안된다 치더라도,수천라인 이상으로 늘어나버리면 사실 파일 내에서 이동도 상당히 귀찮아집니다. 운이 좋아서 본인이 담당하는 부분의 파일 대부분이 길이가 짧다면 다행이지만, 본인처럼 거의 혼자 지지고 볶고 하는 사람이라면, 파일이 길어지면 길어질수록 뇌비게이션(?)으로 커버하는것도 분명 한계에 다다르게 됩니다. 이럴 때 사용할 수 있는게 바로 북마크 기능이 아닐까 합니다. 기본적으로 인텔리 J에서는 북마크 기능을 제공하고 있습니다. 뭐 사실 노트패드나 기본적인 에디터를 제외하고는 거의 모든 에디터들이 지원하는 기능이기..

Intellij 15 Idea 성능 튜닝

Intellij를 메인으로 쓰기 시작한지 한참 되었고 참으로 맘에 드는 IDE다.. 그런데 간혹 사용하다보면 CPU사용량이 150% 이상으로 올라가고, 되긴되는데 상당히 느려질때가 있다. 당연히 CPU쿨링팬도 열심히 돌아가게 된다. 문제는 이 증상이 작업을 오래할 경우, 특히 심해진다는 점이다. 약간의 구글링을 해보니 내가 격고 있는 증상과 유사한 증상을 겪고 있는 사람이 다수 있고, 이들 대부분은 idea.vmoption 파일에서 Java Heap의 Xms Xmx값을 변경함으로서 해결을 본 듯 했다. 참고로 Mac환경에서의 idea.vmoption파일은 아래의 경로에 있다. /Applications/IntelliJ IDEA 15.app/Contents/bin Idea 14버전 이후에 해당됨. 원래 vm..

0xDBE 1.0 Preview release

드디어 0xDBE 프리뷰 버전이 릴리즈 되었습니다. 정확한 버전은 0xDBE EAP 143.324이며 release note는 아래 링크에서 확인하실 수 있습니다. https://confluence.jetbrains.com/display/DBE/0xDBE+1.0+EAP+143.324+Release+Notes 관련 블로그 내용은 http://blog.jetbrains.com/dbe/2015/10/21/0xdbe-preview/?mail=news&mkt_tok=3RkMMJWWfF9wsRojs6jBZKXonjHpfsX57OspXqa2hIkz2EFye%2BLIHETpodcMRMJrN6%2BTFAwTG5toziV8R7THKs1xzNEQWhDm 입니다. 흥미로운건 0xDBE라는게 아직 정식 제품명이 아니라고 합니다..

IntelliJ Ultimate 14 - JRebel 적용하기

지금까지 참으로 무식하게 코딩을 했다고 스스로 자부할 수 있다(ㅠㅠ) 뭐, 비교적 오랜 개발 공백으로 인해서 어쩔 수 없다고 스스로 핑계를 대 본다. 자바(Spring MVC)로 서버단을 개발하면서 가장 짜증나는 부분 중 하나는 Model객체의 Getter / Setter 를 설정하는 부분이었고, 이는 Lombok을 통해서 해결했다. 관련해서 아래의 글을 참고해주시기 바랍니다.2015/07/08 - [Programming/Java] - Lombok plugin의 편리성 Getter/Setter보다 더 짜증나는게 있으니 그건 바로 코드 변경시마다 redeploy를 해줘야 하는점이다. 물론 기존의 JVM hot swap기능이 있긴 하지만, Method body에서의 변경사항에 대해서만 한정되는거라서, 사실상..