백준 문제를 풀 때 매번 Main함수부터 입출력까지 입력하는 부분이 귀찮아서 자동화했습니다.

이 안에 자주 사용하는 main 도 볼 수 있을것입니다.
저의 경우 다음과 같이 매번 작성하기 때문에 다음과 같이 만들어두었습니다.
${cursor}은 템플릿이 생성되었을 때 커서가 위치할 곳을 정해주는 명령어입니다.
/**
* Author: nowalex322, Kim HyeonJae
*/
import java.io.*;
import java.util.*;
public class Main {
static BufferedReader br;
static BufferedWriter bw;
static StringTokenizer st;
public static void main(String[] args) throws Exception {
new Main().solution();
}
public void solution() throws Exception {
br = new BufferedReader(new InputStreamReader(System.in));
// br = new BufferedReader(new InputStreamReader(new FileInputStream("input.txt")));
bw = new BufferedWriter(new OutputStreamWriter(System.out));
// 여기서부터 문제 풀이 로직을 작성하세요.
${cursor}
// 예시: 입력 받기
// st = new StringTokenizer(br.readLine());
// 예시: 출력하기
// bw.write(result + "\n");
bw.flush();
bw.close();
br.close();
}
}
전 BOJ라는 명령어를 입력하고 ctrl + Enter로 실행합니다.

잘 생성됨을 확인 할 수 있습니다.


저의 경우 다음과 같이 매번 작성하기 때문에 다음과 같이 만들어두었습니다.
$PACKAGE$는 현재 파일이 있는 디렉토리 이름을 패키지명으로 가져옵니다.
$NAME$는 파일 이름에서 .java 확장자를 제외한 이름만 가져옵니다.
$END$는 커서를 이 위치로 마무리 설정합니다.
이러한 변수값은 다음과 같이 Edit Variables...에서 커스텀하였습니다.

변수 설정:
$PACKAGE$: groovyScript("def pkgName = _editor.getVirtualFile().getParent().getName(); return pkgName")
$NAME$: groovyScript("def fileName = _editor.getVirtualFile().getNameWithoutExtension(); return fileName")
package $PACKAGE$;
/**
* Author: nowalex322, Kim HyeonJae
*/
import java.io.*;
import java.util.*;
public class $NAME$ {
static BufferedReader br;
static BufferedWriter bw;
static StringTokenizer st;
public static void main(String[] args) throws Exception {
new $NAME$().solution();
}
public void solution() throws Exception {
br = new BufferedReader(new InputStreamReader(System.in));
//br = new BufferedReader(new InputStreamReader(new FileInputStream("src/main/java/$PACKAGE$/input.txt")));
bw = new BufferedWriter(new OutputStreamWriter(System.out));
$END$
bw.flush();
bw.close();
br.close();
}
}
