반응형


Windows와 Ubuntu 환경에 설치된 Visual Studio Code에서 Kotlin을 컴파일하고 실행시키는 방법에 대해 설명합니다. 


2017. 6. 28 - 최초 작성

2018. 7.  1 - 현재 배포중인 코들린에 맞추어 확인  및 Task Runner 설정을 버전 2.0으로 수정 

2020. 4. 10 - 현재 배포중인 코틀린과 비주얼 스튜디오 코드에 맞추어 수정




1. Kotlin


2. JDK 설치

    2.1. Windows

    2.2. Ubuntu


3. Kotlin 컴파일러 설치

    3.1. Windows

    3.2. Ubuntu


4. Visual Studio Code 설치

    4.1. Windows

    4.2. Ubuntu


5. 첫번째 코틀린 프로그램 작성


6. 코틀린 문법 강조(Syntax highlighter)


7. 코드 컴파일 및 실행

    7.1. Code Runner 확장을 사용하여 컴파일 및 실행하기

    7.2. Task Runner를 사용하여 컴파일 및 실행하기


8. 참고





1. Kotlin

Google I/O 2017에서 Google은 Kotlin이 Android 앱 개발을 공식적으로 지원하는 언어 중 하나가 되었다고 발표했습니다.


Android Studio 3.0부터는 번들로 제공되기 때문에 별도의 플러그인 설치 없이 바로 사용이 가능해집니다.

Kotlin은 Android Studio의 기반이된 IntelliJ를 개발한 회사인 JetBrains에서 만들었습니다.


Kotlin은 정적 타입 프로그래밍 언어(Statically typed programming language)로,  JVM(Java Virtual Machine)에서 실행됩니다.


자바에서 볼 수 있는 개체 지향 프로그래밍 언어의 특징과 자바 스트립트에서 볼 수 있는 함수 프로그래밍 언어의 특징을 모두 포함하고 있습니다.


Java와 유사한 점이 있지만 장점도 많이 갖추고 있어서 자바와 똑같은 코드를 작성해도 코틀린이 더 간결하게 작성됩니다. 


하나의 프로젝트에서 Java 코드와 Kotlin 코드를 같이 사용할 수 있습니다. 

Kotlin은 Java와 100% 호환되기 때문에 Java의 클래스나 메소드를 호출하거나 일부분만 Java 코드로 작성하는 것이 가능합니다.

반대로 Java 코드에서 Kotlin 코드를 호출할 수도 있습니다. 


Kotlin으로 작성한 코드를 컴파일하여 자바스크립트 코드로 변환할 수 있습니다.

또한 자바스트립트 코드를 Kotlin 코드에서 호출한다든가,  Kotlin 코드를 자바 스크립트 코드에서 호출하는게 가능합니다.




2. JDK 설치

2.1. Windows

2.1.1.  Android Studio에 포함된 JRE 사용

1. Android Studio에 포함된 JRE의 java.exe와 javac.exe를 명령 프롬프트에서 실행할 수 있도록 PATH를 추가해야 합니다.


윈도우키 + R를 누른 후,  sysdm.cpl을 입력하여  제어판시스템 속성을 실행시킵니다.





2. 고급 에서 환경 변수를 클릭합니다.





3. 시스템 변수 항목들 중 Path를 선택하고 편집을 클릭합니다.





4. 변수 값 끝에 ;C:\Program Files\Android\Android Studio\jre\bin를 입력하고 확인을 클릭합니다. 




다음처럼 보인다면 새로 만들기를 클릭하고 




 C:\Program Files\Android\Android Studio\jre\bin를 입력한 후, 확인 버튼을 클릭합니다.

 




5. 확인을 클릭하여 환경 변수 창을 닫습니다.





6. Path 설정이 제대로 되었는지 확인해보기 위해 윈도우키 + R을 누르고 cmd +  엔터를 입력하여 명령 프롬프트를 실행합니다.




java.exe와 javac가 실행되는지 다음처럼 테스트해봅니다.  OpenJDK라고 표시됩니다. 


C:\Users\webnautes>javac -version

javac 1.8.0_152-release


C:\Users\webnautes>java -version

openjdk version "1.8.0_152-release"

OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)

OpenJDK 64-Bit Server VM (build 25.152-b02, mixed mode)




2.1.2. Oracle JAVA를 사용하는 경우


1. https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html 에서 사용하는 윈도우 플랫폼에 따라서 JDK 설치 파일을 클릭합니다. 





2. I reviewed and accept 옆에 있는 체크박스를 클릭하면 아래쪽에 초록색 버튼이 활성화 되면서 다운로드할 수 있게 됩니다.  초록색 버튼을 클릭합니다.  



로그인 창이 보이게 됩니다.  예전과 다르게 이제는 오라클 계정이 있어야 다운로드가 가능합니다. 





3. 다운로드 받은 파일을 실행하여 옵션 변경없이 설치를 진행합니다.





4. PATH에 JDK 경로를 추가해줘야 합니다. 

윈도우키+ R 을 눌러 sysdm.cpl 를 입력하여 시스템 속성을 실행시킵니다.





5. 고급 탭의 환경 변수를 선택합니다.





6. 시스템 변수 항목에 있는 새로 만들기를 클릭한 후..





7. 변수이름으로 JAVA_HOME 을 입력하고 변수 값으로 JDK가 설치된 경로를 입력합니다. 



C:\Program Files\Java\아래에 있는  jdk 폴더의 경로를 적으면 됩니다.





시스템 변수 항목에서 Path변수를 선택한 후, 편집을 클릭합니다.






새로만들기를 클릭하고  맨 뒤에 ;%JAVA_HOME%\bin을 입력하고 확인을 클릭합니다.





최근 업데이트된 윈도우 버전의 경우 다음처럼 보입니다.

새로 만들기를 클릭하고.




 %JAVA_HOME%\bin을 입력하고 확인 버튼을 클릭합니다.





7. 확인을 눌러 환경 변수 창을 닫은 후 윈도우+R을 누르고 cmd를 입력하여 명령 프롬프트를 실행합니다.


java를 실행했을 때 에러없다면 설정이 제대로 된 것입니다.




2.2. Ubuntu

디폴트로 설치되어 있는 OpenJDK를 사용합니다.




3. Kotlin 컴파일러 설치

3.1. Windows

1. 아래 링크에서  커맨드 라인용 kotlin 컴파일러를 다운로드 받을 수 있습니다.

https://kotlinlang.org/docs/tutorials/command-line.html


Downloading the compiler 항목에 있는  GitHub Releases를 클릭합니다.  

글 작성 시점에서 최신 릴리즈 버전은 1.3.71입니다. 





아래로 스크롤 하여 kotlin-compiler-1.3.71.zip를 클릭하면 다운로드가 시작됩니다. 





2. 압축을 풀어서 적당한곳으로 옮겨둡니다.  

본 포스팅에서는 kotlinc 폴더를 C:\에 복사두고 진행합니다.





3. JDK 설치에서 했던 방식으로 시스템 변수 Path에  kotlinc의 bin 폴더를 추가해줍니다.


C:\kotlinc\bin





4. 경로가 제대로 지정되었는지 확인하기 위해 kotlinc를 명령 프롬프트에서  실행시켜 봅니다.

다음 화면처럼 코틀린 버전과 JRE 버전이 출력되어야 합니다.




3.2. Ubuntu

1. 코틀린 홈페이지에서 권장한 방법 중 하나인 SDKMAN!을 사용한 설치를 진행합니다. 


$ curl -s https://get.sdkman.io | bash



다음과 같은 에러가 발생하면


webnautes@webnautes-pc:~$ curl -s https://get.sdkman.io | bash

Command 'curl' not found, but can be installed with:



 curl 패키지를 설치하고 다시 진행합니다.


$ sudo apt install curl
$ curl -s https://get.sdkman.io | bash




2. 설치된 sdk를 현재 터미널에서 바로 사용하려면 다음 명령을 사용해야 합니다.  


$ source "/home/webnautes/.sdkman/bin/sdkman-init.sh"




3. sdk를 사용하여 kotlin을 설치합니다. 


$ sdk install kotlin




4. 설치된 코틀린 버전을 확인해봅니다.


webnautes@webnautes-pc:~$ kotlinc -version
info: kotlinc-jvm 1.3.71 (JRE 11.0.6+10-post-Ubuntu-1ubuntu118.04.1)




4. Visual Studio Code 설치

다음 포스팅을 참고하여 진행하세요. 


Visual Studio Code 설치하는 방법( Windows / Ubuntu )

http://webnautes.tistory.com/1197 




5. 첫번째 코틀린 프로그램 작성


Hello, World!를 출력하는 프로그램 코드를 작성해보겠습니다. 여기서부터는 윈도우와 우분투에서 똑같이 진행하면 됩니다.



1. 왼쪽에 위치한 액티비티 바에서 탐색기 아이콘을 클릭하거나, 단축키 Ctrl + Shift + E를 누릅니다.





2. 사이드바에 열린 탐색기에서 Open Folder 또는 폴더 열기를 클릭합니다.





3.  윈도우의 경우에는 왼쪽 위에 보이는 새 폴더를 클릭하여 kotlinProjects 폴더를 생성합니다.

생성된 kotlinProjects 폴더를 선택하고 폴더 선택 버튼을 클릭합니다.




우분투의 경우에는 로그인 사용자 폴더로 이동한 후  오른쪽 위에 보이는  폴더 만들기 아이콘을 클릭하여 kotlinProjects 이름의 폴더를 생성합니다. 




생성된 폴더로 이동한 후 확인 버튼을 클릭합니다.





4. 탐색기에 KOTLINPROJECTS 폴더가 추가되었습니다.





생성된 폴더를 클릭하면 보이는 새 폴더 또는 New Folder 아이콘을 클릭합니다.





helloworld를 입력하고 엔터를 눌러서 helloworld 폴더를 생성합니다.





helloworld  폴더를 선택하면 보이는 새 파일 또는 New File 아이콘을 클릭합니다.





hello.kt를 입력하고 엔터를 눌러서  파일을 생성합니다. 편집기 영역에 hello.kt 파일이  열립니다.





hello.kt 파일에 다음 코드를 입력합니다.


fun main(args:Array<String>){
    println("Hello, World!")
}




입력 후, 탭에 표시된 파일이름 옆에 하얀색 동그라미가 표시됩니다.




Ctrl + S를 눌러 저장하면 하얀색 곱하기 표시로 변합니다.





6. 코틀린 언어 지원 설치

Kotlin Language 확장을 설치해주면 코틀린 언어를 Visual Studio에서  작성된 코드를 보기 좋게 색깔로 문법강조(Syntax highlighter)를 해줍니다.



오른쪽 아래에 아래와 같은 메시지가 보인다면 Search Marketplace를 클릭하세요. 




또는 왼쪽 바에서  확장 아이콘을 클릭 후, 입력란에 kotlin을 입력해도 됩니다. 





사이드바에 보이는 검색된 확장에서 Kotlin Language설치 또는 Install를 클릭합니다.





코틀린 문법에 맞추어 색깔로 문법 강조가 됩니다. 




7. 코드 컴파일 및 실행

1. Visual Studio Code의 메뉴에서 터미널 > 기본 빌드 작업 구성 또는  Terminal > Configure Default Build Task를  선택합니다.




2.  템플릿에서 tasks.json 파일 만들기 또는 Create tasks.json file from template 를 선택합니다.





3. Other 임의의 외부 명령을 실행하는 예 또는 Other Example to run an arbitrary external command를  선택합니다.





4. 탐색기에 tasks.json 파일이 추가되고 편집기에서 해당 파일이 열립니다.





5. tasks.json 내용을 다음으로 교체하고 Ctrl + S를 눌러서 저장합니다.


{
    "version": "2.0.0",
    "runner": "terminal",
    "type": "shell",
    "echoCommand": true,
    "presentation" : { "reveal": "always" },
    "tasks": [
        //컴파일
        {
            "label": "saveNcompile",
            "command": "kotlinc",
            "args": [

                "${file}",

                "-include-runtime",
                "-d",
                "${fileDirname}/${fileBasenameNoExtension}.jar"
            ],
            "group": "build",

            //컴파일시 에러를 편집기에 반영
            //참고:   https://code.visualstudio.com/docs/editor/tasks#_defining-a-problem-matcher

            "problemMatcher": {

                "fileLocation": [
                    "relative",
                    "${workspaceRoot}"
                ],

                "pattern": {
                    // The regular expression.
                    //helloworld\hello.kt:2:5: error: unresolved reference: printl

                    "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
                    "file": 1,
                    "line": 2,
                    "column": 3,
                    "severity": 4,
                    "message": 5
                }

            }

        },

        // 바이너리 실행
        {
            "label": "execute",
            "command": "java",
            "group": "test",
            "args": [
              "-jar", "${fileDirname}/${fileBasenameNoExtension}.jar"
            ]

        }

    ]

}




6. 단축키를 설정해줍니다.   메뉴에서 파일 > 기본 설정 > 바로 가기 키 또는 File > Preferences > Keyboard Shortcuts를 선택합니다. 

이미 설정되어 있는 단축키 목록을 보여줍니다. 


대부분의 키조합이 이미 정의되어 있어서 keybindings.json을 수정해야 합니다. 빨간색 사각형 부분을 클릭합니다. 





7. 다음처럼 입력하고 Ctrl + S를 눌러서 저장합니다. 기본값을 무시하고 현재 입력한 값이 우선 적용됩니다.

(단 우분투의 경우 데스크톱 환경의 단축키가 우선입니다.)


// 키 바인딩을 이 파일에 넣어서 기본값을 덮어씁니다.
[
    //컴파일
    { "key": "ctrl+alt+c", "command": "workbench.action.tasks.build" },
   
    //실행
    { "key": "ctrl+alt+r", "command": "workbench.action.tasks.test" }
]




8. 탐색기에서 hello.kt를 선택하고 Ctrl +Alt + C를 누르면 보이는 항목에서 saveNcompile을 선택합니다.





편집 중이던 모든 파일 저장되고 앞에서 선택한 설정에 따라 터미널 또는 출력 창에 컴파일 진행결과가 보입니다.

문제없이 컴파일이 진행되어다면 왼쪽 탐색기에 컴파일 결과물인 hello.jar 파일이 보입니다. 





Ctrl  + Alt + R을 누르면 보이는 execute를 선택합니다.




실행 결과가 터미널 또는 출력창에 보여집니다.





8. 참고


[1] https://kotlinlang.org/docs/tutorials/command-line.html


[2] https://code.visualstudio.com/docs/editor/tasks#vscode


[3] http://webnautes.tistory.com/1158 

반응형

포스트 작성시에는 문제 없었지만 이후 문제가 생길 수 있습니다.
댓글로 알려주시면 빠른 시일내에 답변을 드리겠습니다.

여러분의 응원으로 좋은 컨텐츠가 만들어집니다.
지금 본 내용이 도움이 되었다면 유튜브 구독 부탁드립니다. 감사합니다 : )

유튜브 구독하기


제가 쓴 책도 한번 검토해보세요.

+ Recent posts