Kotlin은 JVM 기반의 현대적인 프로그래밍 언어로, 여러 플랫폼에서 사용되고 있습니다. 특히 Android 개발에서 그 인기가 급증하면서 많은 개발자들이 Kotlin을 배우고 있습니다. 그러나, 코드 편집기와의 호환성 문제나 언어 서버 지원 부족으로 인해 개발자들이 어려움을 겪고 있습니다. 이런 문제를 해결하기 위해 Kotlin Language Server인 kotlin-lsp 프로젝트가 주목받고 있습니다. 이번 포스팅에서는 이 프로젝트의 주요 기능과 설치 방법, 기본 사용법에 대해 자세히 알아보겠습니다.

Kotlin Language Server (kotlin-lsp)란?

kotlin-lsp는 Kotlin 언어를 위한 Language Server로, Visual Studio Code와의 통합을 통해 개발자가 보다 효율적으로 Kotlin 코드를 작성할 수 있도록 도와주는 도구입니다. 이 서버는 JetBrains의 IntelliJ IDEA를 기반으로 하며, 최신 Kotlin 버전에 대한 지원과 함께 다양한 언어 기능을 제공합니다. 이 프로젝트는 현재 알파 상태에 있으며, 앞으로의 업데이트를 통해 기능 완성과 안정성을 더욱 높일 계획입니다.

주요 기능 및 특징

kotlin-lsp는 다음과 같은 다양한 기능을 제공합니다:
  • 최신 Kotlin 버전 지원: Kotlin의 최신 버전을 지원하여 최신 기능을 사용할 수 있습니다.
  • IntelliJ 기반의 코드 완성: IntelliJ IDEA에서 제공하는 강력한 코드 완성 기능을 불러와 코드 작성 시에 도움을 줍니다.
  • 진단 및 빠른 수정 제안: Kotlin 및 kotlinx 라이브러리에 대한 오류 진단과 자동 수정 기능을 제공합니다.
  • 빌드 시스템 지원: Gradle, Maven, 실험적인 AGP(Android Gradle Plugin) 지원.
  • 구문 강조: 코드의 의미에 따라 다양한 색상으로 하이라이팅을 제공합니다.
  • 코드 정리: 불필요한 import 제거 및 코드 포맷팅 기능을 제공합니다.
  • 리팩토링 기능: 코드의 이름 변경과 같은 리팩토링 작업을 지원합니다.
  • 문서 탐색: 코드의 문서화된 내용을 쉽게 탐색할 수 있습니다.
  • 호출 계층: 함수 호출 관계를 시각적으로 확인할 수 있습니다.

설치 방법

VS Code 확장 설치

kotlin-lsp를 Visual Studio Code에서 사용하려면, 아래의 단계에 따라 설치할 수 있습니다:
  1. VS Code Marketplace에서 확장을 설치합니다.
  2. Kotlin 파일을 열면 확장이 자동으로 활성화됩니다.
  3. VSIX 파일 수동 설치

    또는, 수동으로 VSIX 파일을 다운로드하여 설치할 수도 있습니다:

  4. 릴리스 페이지에서 필요한 VSIX 파일을 다운로드합니다.
  5. VS Code에서 Extensions > More Actions > Install from VSIX를 통해 설치합니다.
  6. 또는 VSIX 파일을 Extensions 도구 창으로 드래그 앤 드롭하여 설치할 수 있습니다.
  7. ⚠️ 주의: 이전 버전의 jetbrains.kotlin 확장을 사용 중이라면, 새 버전인 jetbrains.kotlin-server를 설치하는 과정에서 자동으로 이전 버전 제거를 제안받게 됩니다. 이를 수락 후, 창을 다시 로드해야 정상적으로 작동합니다.

    CLI 도구 설치

    Homebrew를 사용하는 경우, CLI 도구를 쉽게 설치할 수 있습니다:

    brew install JetBrains/utils/kotlin-lsp

    수동 설치를 원할 경우:

  8. 릴리스 페이지에서 ZIP 파일을 다운로드합니다.
  9. ZIP 파일을 압축 해제합니다.
  10. 실행 권한을 부여합니다:
  11. chmod +x $KOTLIN_LSP_DIR/kotlin-lsp.sh
  12. $PATH에 심볼릭 링크를 생성합니다:
ln -s $KOTLIN_LSP_DIR/kotlin-lsp.sh $HOME/.local/bin/kotlin-lsp

기본 사용법

설치가 완료되면, Visual Studio Code에서 Kotlin 파일을 열어보세요. 코드 완성, 빠른 수정, 코드 정리 기능 등을 바로 사용할 수 있습니다. 예를 들어, 아래와 같은 Kotlin 코드를 작성해볼 수 있습니다:

fun main() {
    val name = "Kotlin"
    println("Hello, $name!")
}

이 코드를 작성하면, 코드 완성 및 하이라이팅 기능이 자동으로 작동하며, 오류가 있을 경우 IntelliJ IDEA와 유사한 방식으로 진단 정보를 제공합니다.

실무에서의 활용 시나리오

kotlin-lsp는 여러 프로젝트 환경에서 매우 유용하게 활용될 수 있습니다. 예를 들어, Android 앱 개발 시, 코드 작성 중에 발생하는 여러 오류를 즉시 수정할 수 있고, 리팩토링 기능을 통해 코드 구조를 쉽게 개선할 수 있습니다. 또한, 여러 팀원이 함께 작업하는 대규모 프로젝트에서도 일관된 코드 스타일을 유지하는 데 큰 도움이 됩니다.

비슷한 도구와의 비교

Kotlin Language Server 외에도 Java 언어를 위한 LSP 도구인 Eclipse JDT Language Server, Python을 위한 PyLSP 등이 있습니다. 이들 도구와 비교했을 때, kotlin-lsp는 Kotlin 언어에 최적화된 기능을 제공하며 IntelliJ IDEA의 강력한 기능을 바탕으로 하기 때문에, Kotlin 개발자에게 최상의 경험을 제공합니다.

마무리

Kotlin을 사용하여 개발하는 모든 분들께 kotlin-lsp를 적극 추천합니다. 이 도구는 Kotlin을 보다 쉽게 다룰 수 있도록 돕고, 생산성을 높여줄 것입니다. GitHub에서 더 많은 정보와 업데이트를 확인하세요: Kotlin/kotlin-lsp.