오픈 소스에 기여하기 (VSCode + Spring Boot + Kotlin) - 1

Kyu0·2023년 4월 19일
0

0.도입 ✍🏻

Kotlin 언어 기반의 Spring Boot 프로젝트를 개발하면서 VSCode에서는 아직 지원이 안된다는 사실에 정말 안타까웠습니다...(VSCode가 IntelliJ에 비해 너무나도 가볍기 때문에 ㅠ)

그래서 해당 기능을 지원할 수 있도록 오픈 소스에 기여하면 어떨까하는 생각이 들었고 제가 감당하기 힘든 작업일 수도 있지만 그래도 꾸준히 공부해나가면 목표를 성취했을 때 큰 기쁨이 있지 않을까하여...

비정기적으로 문제 해결 과정에 대해 포스트를 게시하려고 합니다.

앞으로 Spring Boot라고 언급하는 부분들은 기반 언어를 따로 표기하지 않는 이상 Kotlin 언어 기반의 Spring Boot라고 생각하고 읽어주시면 감사드리겠습니다.


1. 문제 파악 🤔

No main class is found.

Spring Boot를 실행했을 때 출력되는 메시지입니다. 말 그대로 메인 클래스를 찾기 못해 오류가 발생하는 것인데요, 찾아보니 이미 관련된 원격 저장소에 Issue로 등록되어 있는 부분이고 무려 2018년부터 해당 부분에 관한 논의가 이루어지고 있었습니다.

참고 사이트

요약하자면, 해당 문제의 발생 원인은 Spring Boot 관련 Extension들이 Java 언어 기반 프로젝트에만 지원이 가능하다는 점이었습니다.


2. 목표

위의 제시된 해결 방안에서 제가 꼽은 키포인트는 다음과 같습니다.

  1. Kotlin Language Server 플러그인에서 구현된 Kotlin 파서를 이용하면 수월할 것이다.
  2. 프로젝트 정보를 Language Server에 전달할 수 있어야 한다.
  3. 전달하는 프로젝트 정보는 기존에 사용하는 VSCode Java Language Server와 호환되어야 한다.
  4. 확실히 개발 가능하지만 사소한 작업은 아니다.(...)

이를 달성하기 위해서는 다음과 같은 작은 목표들을 달성해야할 것으로 생각됩니다.

  1. Java 언어 기반 Spring Boot 프로젝트 실행 과정에 대해 파악해야 한다.
  2. Kotlin Language Server 동작 과정에 대해 파악해야 한다.
  3. 기존과 같은 형식으로 Spring Boot 프로젝트 정보를 전달해줘야 한다.

3. 마무리 👏🏻

짧은 기간 내에 해결될 것이라고는 생각하지 않지만 과연 기여해낼 수 있을 것인지 궁금하네요.

다음 게시글에서는 진전이 있는 내용으로 찾아뵙겠습니다.

참고자료 정리
Spring Boot Dashboard : https://github.com/microsoft/vscode-spring-boot-dashboard
Spring Boot STS4 : https://github.com/spring-projects/sts4
VSCode Kotlin : https://github.com/fwcd/vscode-kotlin
Issue 1 : https://github.com/microsoft/vscode-spring-boot-dashboard/issues/63
Issue 2 : https://github.com/spring-projects/sts4/issues/163

profile
개발자

0개의 댓글