IntelliJ IDEA/단축키

[IntelliJ IDEA] 정리한 단축키 모음

제우제우 2024. 5. 4. 13:09

Extract Method

  • 구간을 Method로 추출하는 방법
  • 단축키 : 구간 드래그 이후 + Ctrl + Alt + M
  • 수동 : 구간 드래그 이후 우클릭 → Refactor → Extract Method
    // 회원 가입
    public Long join (Member member){
        // 같은 이름이 있는 중복 회원 X
        memberRepository.findByName(member.getName())
                        .ifPresent(m -> {
                            throw new IllegalStateException("이미 존재하는 회원입니다");
                        });
        memberRepository.save(member);
        return member.getId();
    }

 

Extract Method 이후

    // 회원 가입
    public Long join (Member member){
        // 같은 이름이 있는 중복 회원 X
        validateDuplicateMember(member);
        memberRepository.save(member);
        return member.getId();
    }

    private void validateDuplicateMember(Member member) {
        memberRepository.findByName(member.getName())
                        .ifPresent(m -> {
                            throw new IllegalStateException("이미 존재하는 회원입니다");
                        });
    }

 


 

테스트 만들기 

  • 원래 테스트 만들기 : test → java → repository 생성 과정 필요
  • 바로 단축키로 쉽게 test 만들기
  • 단축키 : Ctrl + Shift + T

 


반환값이 함수형 인터페이스인 메서드 익명 클래스 → 람다식으로 바꾸기

  private RowMapper<Member> memberRowMapper(){
        return new RowMapper<Member>() {
            @Override
            public Member mapRow(ResultSet rs, int rowNum) throws SQLException {
                Member member = new Member();
                member.setId(rs.getLong("id"));
                member.setName(rs.getString("name"));
                return member;
            }
        };
    }

 

단축키 : Alt + Enter

 

new RowMapper<Member>라고 되어있는 부분을 클릭하고 Alt + Enter를 해야 람다식으로 변환이 가능하다.

 

   private RowMapper<Member> memberRowMapper(){
        return (rs, rowNum) -> {
            Member member = new Member();
            member.setId(rs.getLong("id"));
            member.setName(rs.getString("name"));
            return member;
        };
    }

 


static method import → alt + enter

return 2줄 → 1줄 (inline variable)

 

단축키 : Ctrl + Alt + N

    @Override
    public List<Member> findAll() {
        List<Member> result = em.createQuery("select m from Member m", Member.class).getResultList();
        return result;
    }

 

Ctrl + Alt + N 이후

    @Override
    public List<Member> findAll() {
        return em.createQuery("select m from Member m", Member.class).getResultList();
    }

 


반복문

for each -> for-each문 생성 

iter -> 가장 가까운 배열 or 컬렉션 for-each문으로 생성 (이터레이터 였네!!)
ex)
int [] temp;
for (int i : temp) {
            
}

 


변수 자동 할당

단축키 : Ctrl + Alt + V

EX)
ac.getBean("rateDiscountPolicy", DiscountPolicy.class);

->
DiscountPolicy rateDiscountPolicy = ac.getBean("rateDiscountPolicy", DiscountPolicy.class);

 


 

복사 + 붙여넣기

단축키 : Ctrl + D

EX)
ac.getBean("rateDiscountPolicy", DiscountPolicy.class);

->
ac.getBean("rateDiscountPolicy", DiscountPolicy.class);
ac.getBean("rateDiscountPolicy", DiscountPolicy.class);