티스토리 뷰

반응형

Author: 주니용

 

이번 글에서는 인텔리제이 사용자를 위한 생산성을 높이는 방법을 작성해보려 합니다.

이미 다들 아시다시피 IntelliJ IDEA 도구는 개발자의 편의성을 많이 높여주는 'Refactor'과 'Inspection', 'Shortcut' 기능들을 많이 제공해주고 있습니다.

 

잘 모르시겠다구요? 여기를 클릭하시면 이전에 제가 작성한 글에서 인텔리제이의 설치부터 기본 개념까지 작성해두었습니다.


리팩터(Refactor)의 개념은 현재 열려있는 프로젝트에서 해당 소스를 참조하고 있는 모든 영역을 일괄적으로 변경하는 것을 의미합니다. 이런 개념은 코드 내부에서 변수명이나 메소드명을 변경할 때도 유용하지만, 클래스(Class)의 명을 변경하였을 때 이 클래스를 참조하고 있는 다른 클래스에서의 선언부도 변경이 되고, 특정 '.html' 파일을 변경하더라도 다 같이 변경이 된다는 점이 특징입니다. 

 

이름만 변경을 하는 Rename과는 살짝 다른 개념인 것이죠.

예를 한 번 들어보겠습니다.

아래에 클래스에서는 특정 static 변수인 abbo를 사용하고 있었습니다.

그래서 다른 클래스에서도 이 변수명을 사용하고 있었지요.

public class AbboUtil {

    static String abbo = "Hello ABBO!";

}

public class ReferenceClass {

     public static void main(String[] args) {

         callService1();

         System.out.println("abbo is : " + AbboUtil.abbo);

    }

 

    private void callService1() {

         System.out.println("I Want to change this : " + AbboUtil.abbo);

    }

}

기존에 Rename을 사용하면 선언부와 참조하는 부분을 변경하여야 하기 때문에 3번을 변경해야 하지만,

Refactor를 사용하여 abbo의 이름을 변경하면 1번만 변경을 하여도 됩니다. 

이는 개발자가 생산성을 높이는데 효과적이지요.

 

또, AbboUtil 클래스의 명을 변경하는 것도 마찬가지로 Refactor를 사용하면 변경이 가능합니다.

한번 해보세요! 기본 단축키는 Mac & Windows : Shift + F6 으로 알고 있습니다.

Keymap 변경은 File -> Settings -> KeymapMain menu -> Refactor -> Rename을 변경하면 모두 일괄적으로 가능합니다.

 


인스펙션(Inspection)이라는 것은 기존의 코드를 작성하는 것이 컴파일 에러가 나지 않는다는 것은 문제가 없지만, 다른 개발자들이 자주 사용했던 방식 및 Jetbrains 사에서 추천하였던 방식으로 코드를 변경하는 것입니다. 이 방법을 사용하면서 나의 코드 방식을 변경한다던가, 협업 시에 다른 개발자들이 알아보기 쉽도록 코드를 변경하는데 추천하는 방식입니다. 위에서 리팩터링을 적용할 때에도 인스펙션 방식에 맞게 추천해주는 변수명이 제공됩니다. 

 

설정 방법은 File -> Settings 에 Inspect 만 검색을 하여도 출력됩니다.

처음에 확인할 때는 양이 꽤나 많고, 영어로 적혀 있어 낯설게 보일 수도 있지만 이 기능 또한 다른 공간에서 작업을 하셨을 경우 Setting을 Import했을 때 같이 가져올 수 있는 부분이므로 한 번 세팅해두시면 편리하게 사용이 가능합니다.

 

체크를 한 부분은 내가 코드를 작성하면서 '해당 인스펙션 내용을 참조하겠다' 라는 것이 되고 체크해제한 부분은 출력하지 않습니다. 


마지막으로 적용할 부분은 빌드(Build)입니다. 제가 주로 사용하는 빌드는 gradle 방식이며, 기존에 프로젝트를 빌드할 때도 gradle 플랫폼 위에서 작동하고 있었습니다. gradle은 주로 Java와 Class 같이 서버 언어로 주로 사용할 때의 빌드를 적용할 때 자주 사용하였고, HTML / CSS / JavaScript 와 같은 클라이언트 언어는 서버의 빌드를 할 필요가 없었지요. 

 

그래서 Java 소스가 변경이 되고 재기동을 시킬 경우는 빌드가 필요하지만, JavaScript가 변경될 때는 재기동 없이 바로 변경된 사항이 적용되도록 하고 싶습니다. 이렇게 설정할 수 있는 방법이 있습니다.

먼저, Run -> Edit Configuration 으로 들어갑니다.

 

Edit Configuration

이 창을 열었을 경우 On 'Update' action: 이 Do nothing으로 되어 있는 것을 Update classes and resources로 변경합니다. 다음으로 File -> Settings -> Build, Execution, Deployment -> Build Tools -> Gradle 로 들어가게 되면 아래와 같은 창이 출력됩니다. 

여기에서 Build and run usingRun tests using에서 Gradle(default)로 되어 있던 것을 IntelliJ IDEA로 변경합니다.

이 적용이 완료되고 OK를 눌러 창을 닫습니다.

 

프로젝트가 Run이 된 상태에서 File -> Settings -> Keymap 으로 들어간 후, Main menu -> Run -> Update Running Application에 설정된 단축키를 누르면, 빌드가 필요없는 내에 한해서 Resource 업데이트가 진행된 후 프로젝트 재기동 없이 클라이언트 화면에서 변경이 된 것을 확인할 수 있습니다.

 


위에 말씀드린 3개의 기능 뿐만 아니라 개개인별로 정말 다양하게 생산성을 늘릴 수 있는 방법이 있습니다.

Jetbrains 사에서도 지속적으로 IntelliJ IDEA 의 업데이트를 진행 중에 있고, 이 때마다 조금씩 변경되는 부분이 있습니다.

추가적으로 더 발견하게 되면 이 글 외에도 발견할 때마다 차근차근 작성할 예정입니다.

반응형

'Study' 카테고리의 다른 글

개발자와 프레임워크  (0) 2020.06.14
개발자 일상 오픈!!  (0) 2020.06.12
Slack 활용법  (0) 2020.06.03
개발 사이트 모아보기  (0) 2019.12.04
로드 밸런싱과 CDN  (0) 2019.11.13
IntelliJ 알아보기  (1) 2019.09.25
댓글
공지사항