EDITOR/Intellij

[Intellij] 유용한 단축키와 LiveTemplates, CodeTemplates

개발자가 말대꾸? 2022. 8. 27. 00:31

코딩을 매일같이 하다보면 알게 모르게 단축키에 익숙해지고 마우스로 손이 안올라가더라 (VIM을 사용했다면 어땟을지 궁금하긴함.)

내가 자주 사용하는 단축키를 공유하려고 한다.

Home, End, Pageup, PageDown는 노트북마다 위치가 달라 제외했다.

키 설명

컨트롤 Ctrl
알트 Alt
쉬프트 Shift
Tab


단축키를 설명하면서 가독성을 위해서 영어가 아닌 한글로 글을 작성한다.

인텔리제이 단축키



컨트롤 + 알트 + L


인덴트에 맞게 코드를 정리한다.

do~while과 if~else문에서 유용하고

람다식이나 stream을 다룰 때 편하다.

자주 사용하니 vscode, sublime text 하다하다 메모장에서도 습관적으로 누른다.

알트 + 방향 키


한 파일에 메서드가 많을 때 다음 메서드의 이름부분으로 순간이동한다.

컨트롤러나 서비스코드 작성에 용이하다.

컨트롤 + D


그대로 한줄을 복사한다.

컨트롤 + 방향 키


스크롤을 위 아래로 조정한다.


쉬프트 + 방향키


쉬프트 방향키는 마우스 드래그와 같은 기능을 한다.

코딩할 때 마우스로 손이 갈일이 없다.


더블 쉬프트

쉬프트를 두번 연속으로 입력하면 intellij 내의 모든 파일, 설정을 검색할 수 있다.

쉬프트 + 엔터 · 컨트롤 + 엔터

강제 줄바꿈 기능이다.

hello | world 가운데 |가 현재 입력 위치라고 생각하자.

엔터를 눌렀을 경우
hello
|world

컨트롤 엔터를 눌렀을 경우
hello world
|

이것도 너무 편하게 잘쓰고 있다. 엔터를 눌러도 되는 상황에서도 컨트롤 엔터를 누르게 됨


LiveTemplates 사용법

라이브 템플릿은 단축키를 정의하거나 수정할 수 있는 세팅이다.

psvm + 탭을 누르면 public static void main(String args[])이 나오는 것도 라이브 템플릿의 기능이다.

Setting - Editor - Live Template - 본인이 사용하는 언어

위 순서로 들어오면 단축키 목록이 보인다.

아래는 서블릿에서 요청을 받을 때 매개변수로 들어오는 부분을 단축키로 만들었다.


Template text에 원하는 코드를 입력해주고 abbreviation에 단축키값을 입력하면 된다.

오른쪽 옵션에서 Tab, Shift등 템플릿 실행 키를 세팅할 수 있다.


fori는 for문을 생성해줌.

data는 롬복의 어노테이션을 생성해줌.

CodeTemplates 사용법


자주 사용하는 확장자(.py .java .html등) 파일에서 반복되는 코드가 있다면 사용하는 것이다.

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>#[[$Title$]]#</title>
</head>
<body>
#[[$END$]]#
</body>
</html>


위 처럼 HTML의 File Template를 설정해둘 수 있다. HTML을 만들어 볼까?


HTML 파일을 만들면 위에 설정해뒀던 파일이 나온다.

만약 새로운 JSP파일을 만들 때 자동으로 부트스트랩 CDN을 연결하고 싶다면

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="https://getbootstrap.com/docs/5.0/dist/css/bootstrap.min.css">
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.0-beta1/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>


위 처럼 코드 템플릿을 설정해두면 된다.