본문 바로가기
IDE/IntelliJ IDEA

인텔리제이 활용5 - Expand Selection, 변수 추출, 인라인

by 가시죠 2021. 1. 18.
반응형

인텔리제이 활용5 - Expand Selection, 변수 추출, 인라인

Expand Selection - 구문에 맞게 선택 범위를 넓힐 수 있는 기능이며, '괄호 안에', '태그 안에', '더블 쿼터 안에', '괄호를 포함해' 등과 같이 프로그램 작성 도중 범위를 선택하는 경우가 많은데, 이 기능을 활용하면 시작위치와 종료 위치를 IDE가 문맥에 따라 정확하게 확인 된다.

단축키 : Ctrl + W (2번)

function whoBigger(args1, args2) {
    if (args1 > args2) {
        return args1
    } else {
        return args2
    }
}

위 if 문 사이에 커서를 두고 Ctrl+W 2번 입력 시 if문 안의 내용이 선택 된다.

범위를 확장하고 싶을 경우 Ctrl+W를 계속 누르면 된다.

반대로 범위를 축소할 경우 Ctrl+Shift+W를 입력

 

변수 추출 (단축키 : Ctrl+Alt+V)

계산식이 선택된 상태에서 Ctrl+Alt+V 입력 시 계산식이 변수로 추출 된다.

function whoBigger(args1, args2) {
    var b = args1 > args2;
    if (b) {
        return args1
    } else {
        return args2
    }
}

args1과 args2를 비교하여 큰 값을 b라는 변수에 담기게 되었다.

특정 계산식이나 값을 이해하기 쉽게 추출하여 변수로 만들때, 이 기능을 잘 활용하면 리팩토링 시 시간을 단축 할 수 있다.

 

인라인 (단축키 : Ctrl+Alt+N)

변수를 추출하는 것과 반대로 변수를 제거해 인라인으로 리팩토링 시 사용.

function whoBigger(args1, args2) {
    var b = args1 > args2;
    if (b) {
        return args1
    } else {
        return args2
    }
}

위 소스에서 커서를 b에 두고 Ctrl+Alt+N 입력 시 아래와 같이 리팩토링 할 지 묻는다.

Refactor 선택 시 변수 b가 사라지고 해당부분이 args1 > args2로 변경된다.

function whoBigger(args1, args2) {
    if (args1 > args2) {
        return args1
    } else {
        return args2
    }
}

 

반응형

댓글