본문 바로가기
공부/Spring

[InteliiJ] 인텔리제이 단축키

by 웅대 2023. 1. 10.
728x90
반응형

main 함수 실행 : Ctrl + Shift + F10

 

테스트 생성 : Ctrl + Shift + T

특정 클래스에 대한 테스트 코드를 만들고 싶을 때 ctrl + shift + T 단축키를 입력하면 테스트를 바로 생성할 수 있다.

generate 단축키 : Alt + Insert

 

generate 단축키를 사용하면 생성자, getter, setter, toString등등 쉽게 만들 수 있다.

 

다음과 같은 Person 클래스에서  Alt+Insert 단축키를 사용해보자.

public class Person {
    private String name;
    private int age;
}

이렇게 원하는 것을 선택할 수 있다. 한 번 Constructor를 선택해보자.

원하는 것을 선택하고 OK를 눌러준다.

public class Person {
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    private String name;
    private int age;
}

 

빠르게 생성자가 생성되었다. 같은 방법으로 getter와 setter도 설정할 수 있다.

 

Alt + Insert -> Getter and Setter -> 원하는 멤버 변수를 선택 -> OK

 

public class Person {
    private String name;
    private int age;
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }


    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

interface 구현체 생성 : Ctrl + O

public class LogInterceptor implements HandlerInterceptor {

}

위 클래스는 HandlerInterceptor의 구현체이다.

반드시 구현해야 하는 메소드들이 존재하는데 Ctrl + O 단축키를 누르면 구현해야 하는 메소드들이 나온다.

 

상수 분리: Ctrl + Alt + C

@Slf4j
public class LogInterceptor implements HandlerInterceptor {
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        String requestURI = request.getRequestURI();
        String uuid = UUID.randomUUID().toString();
        request.setAttribute("logId", uuid);
        
    }

    @Override
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
        HandlerInterceptor.super.postHandle(request, response, handler, modelAndView);
    }

    @Override
    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
        HandlerInterceptor.super.afterCompletion(request, response, handler, ex);
    }
}

request.setAttribute의 첫 번째 값을 상수로 분리하고 싶다면 해당 값을 클릭하 Ctrl +  Alt + C 단축키를 누르면 된다.

@Slf4j
public class LogInterceptor implements HandlerInterceptor {
    public static final String LOG_ID = "logId";

    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        String requestURI = request.getRequestURI();
        String uuid = UUID.randomUUID().toString();
        request.setAttribute(LOG_ID, uuid);
        
    }

    @Override
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
        HandlerInterceptor.super.postHandle(request, response, handler, modelAndView);
    }

    @Override
    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
        HandlerInterceptor.super.afterCompletion(request, response, handler, ex);
    }
}

 

변수 이름 한 번에 바꾸기 : shift + F6

클래스의 멤버 변수를 사용하는 여러 메소드들이 있다고 하자. 그런데 갑자기 변수 이름을 변경해야 한다면 상당히  번거로운 일일 것이다.

 

위의 Person 클래스에서 name이라는 멤버 변수를 userName으로 바꾸고 싶다면 name을 클릭하고 shift + F6 단축키를 입력하면 된다.

 

모두 선택된 모습을 볼 수 있고 여기서 변경을 한다면 모두 바뀌게 된다.

 

this.name = name에서 메소드의 인자로 받은 name은 선택되지 않는 것으로 보아 단순히 같은 이름을 모두 선택하는 것이 아니다.

같은 파일 내부 이름 한 번에 바꾸기 : Ctrl + R

같은 파일 내부에 존재하는 이름을 모두 찾고 바꿀 이름을 입력한다.

 

replace로 원하는 것만 변경할 수도 있고 replace All로 모든 이름을 변경할 수도 있다.

 

같은 폴더 내부 이름 한 번에 바꾸기 : Ctrl + Shift + R

원하는 폴더를 선택하고 Ctrl + Shift+ R 단축키를 누르면 해당 폴더 내부의 모든 파일에 대해서 이름을 찾고 변경할 수 있다.

자동 변수 할당 : Ctrl + Alt + V

 

이제 person이라는 이름의 Person 인스턴스를 생성한다면 아래와 같은 코드일 것이다.

Person person = new Person("chulsoo", 3);

 

이것도 new Person("chulsoo",3); 이 문장만 입력하고 ctrl + Alt + v 단축키를 누르면 바로 생성할 수 있다.

ctrl + Alt + v 입력

보다시피 이름을 자동으로 만들어주고 선택되어있기 때문에 변경을 원하면 바로 변경하면 된다.

 

특정 값을 반환하는 함수를 사용할 때도 사용 가능하다.

 

메소드 분리 : Ctrl + Alt + m

메소드를 계속 이어붙이다 보면 너무 길어질 때가 있다. 이럴 때는 선택해서 ctrl + Alt + m 단축키를 누르면 메소드를 따로 분리할 수 있다.

ctrl + Alt + m 입력

이것도 기본적으로 메소드 이름이 선택되어있으므로 바로 변경하면된다.

 


public void static main 함수 생성 : psvm

 

 

 

반복문 생성 : iter

 

배열을 생성하고 iter을 입력하면 자동으로 반복문을 생성해준다.

 

변수 자동 출력 : soutv

자동으로 변수 이름과 값을 출력하는 코드를 생성해준다.

 

메소드 자동 출력 : soutm

현재 동작중인 메소드에 대한 정보를 출력하는 코드를 생성해준다.

728x90
반응형

댓글