[VS CODE + JAVA] 이클립스에서 VS CODE로 자바 개발환경 옮기기

    서론

    SSAFY 2학기에 돌입하며 프로젝트를 위한 노트북을 지급받았고(무려 삼성 오디세이!) 개발환경을 설정 중에 있었다. SSAFY 1학기 과정에선 이클립스에 zulu-8, STS로 자바 개발을 하고 있었는데 불만이 굉장히 많았다.

    1. 너무나도 무거운 이클립스
      너무너무너무너무너무 무겁고 불안정한 이클립스는 더 이상 쓰기가 싫었다. Java에 처음 입문했을 때만 하더라도 사고과정이 이클립스의 구동 속도를 따라가지 못해서 느린 속도는 큰 문제가 되지 않았지만 머리가 굵어져서 어느정도 일반적인 코딩은 빠르게 진행할 수 있는 지금은 너무너무 불편했다.
      탭 갯수가 조금만 늘어나도, 프로젝트가 조금만 늘어나도 쓰기가 불편했다.
    2. 너무 구린 UI
      너무 구리다. 더 할 말이 없다.
      2020년대에 쓰기엔 너무 고전적이다.
    3. 이해를 할 수 없는 단축키 설정
      덕분에 마우스 사용 빈도가 늘어났다. 가급적이면 키보드에서 손을 떼고 싶지 않았다.
    4. 빈약한 마켓플레이스

    지금껏 써봤던 IDE 중 최악이 아닐까... 생각하면서 마침 새로 개발환경을 구축하는 와중에 VS Code로 옮겨볼까 하는 생각이 들었다. 이 개똥같은 IDE에 더 물들어서 도망가기 어려워 지기 전에...
    그래도 이클립스에서 편했던 getter/setter, constructor, toString 등 클래스에서 자주 사용하는 메서드 자동생성이나, 디버깅도 잘 썼기 때문에 이런 기능들이 문제없이 동작해야만 했다.

    구성하고자 하는 개발환경

    • OpenJDK
    • WSL2 Ubuntu 20.04
    • VS Code Latest

    VS Code, WSL 설정은 생략

    우분투에 OpenJDK 설치하기

    sudo apt-get install openjdk-11-jdk
    sudo apt-get install openjdk-X-jdk // 본인이 직접 사용할 버젼을 X에 채우면 된다.

    VS Code에서 사용하는 플러그인에서 11버젼 이상을 요구하는 것이 있어서 8버젼 이하를 사용하고자 하는 경우에는 반드시 11버젼 이상도 같이 설치를 해 주어야 한다.

    openjdk를 설치하면서 나오는 로그들을 살펴보면

    ..
    update-alternatives: using /usr/lib/jvm/java-11-openjdk-amd64/bin/javadoc to provide /usr/bin/javadoc (javadoc) in auto mode
    update-alternatives: using /usr/lib/jvm/java-11-openjdk-amd64/bin/javap to provide /usr/bin/javap (javap) in auto mode
    update-alternatives: using /usr/lib/jvm/java-11-openjdk-amd64/bin/jcmd to provide /usr/bin/jcmd (jcmd) in auto mode
    update-alternatives: using /usr/lib/jvm/java-11-openjdk-amd64/bin/jdb to provide /usr/bin/jdb (jdb) in auto mode
    update-alternatives: using /usr/lib/jvm/java-11-openjdk-amd64/bin/jdeprscan to provide /usr/bin/jdeprscan (jdeprscan) in auto mode
    update-alternatives: using /usr/lib/jvm/java-11-openjdk-amd64/bin/jdeps to provide /usr/bin/jdeps (jdeps) in auto mode
    update-alternatives: using /usr/lib/jvm/java-11-openjdk-amd64/bin/jfr to provide /usr/bin/jfr (jfr) in auto mode
    update-alternatives: using /usr/lib/jvm/java-11-openjdk-amd64/bin/jimage to provide /usr/bin/jimage (jimage) in auto mode
    update-alternatives: using /usr/lib/jvm/java-11-openjdk-amd64/bin/jinfo to provide /usr/bin/jinfo (jinfo) in auto mode
    ..

    와 같이 나오는데, /usr/lib/jvm/java-11-openjdk-amd64/에 해당하는 부분이 설치 경로이다.

    본인이 사용하는 Shell의 설정 파일에 다음을 추가해준다. 만약 Shell이 뭔지 모른다면 ./bashrc에 넣으면 된다.
    나는 zsh를 사용하므로 ~/.zshrc에 다음 내용을 추가해 주었다.

    export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 // 설치 경로를 넣어주자!
    export PATH="$PATH:$JAVA_HOME/bin”

    java -version을 쳤을 때 다음과 같이 나온다면 설치가 정상적으로 끝났다.

    VS Code와 WSL 연동하기

    VS Code Remote Development Extension 설치 이후
    code {WSL 내 연동하길 바라는 폴더} 명령어를 입력하면 알아서 VS Code가 켜진다.

    VS Code Extension 설치하기

    • Java Extension Pack
    • Java Code Generators
    • Spring Boot Extension Pack(Spring Boot 개발을 할 경우에만 설치)
    • TabNine 혹은 Kite, Visual Studio IntellliCode와 같은 머신러닝 기반 자동완성(추천, 필수X)

    단축키 설정하기

    F1 > Open Keyboard Shortcuts
    이클립스와 같이 소스코드 실행은 Ctrl+F11로 설정했다. F11에 디버깅을 지정하고 싶지만 다른 기능이 지정되어 있어서 일단은 보류해두었다.

    Java 코드 실행에 단축키 지정하기

    아무 코드나 작성하고 단축키가 잘 작동하는 모습을 확인하자.

    문제없이 작동하는 것 같다.

     

    댓글