ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Visual Studio Code에서 Kotlin 프로그래밍 ( Windows / Ubuntu )
    개발 환경/Kotlin 2018. 7. 1. 19:26

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


    2017. 6. 28 - 최초 작성

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




    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. http://www.oracle.com/technetwork/java/javase/downloads/ 에서 Java SE 8u171/ 8u172 항목에 있는  JDK DOWNLOAD를 클릭합니다.





    2. Accept License Agreement를 선택하여 라이센스에 동의해야 다운로드가 가능합니다.

    사용하는 윈도우 버전에 따라 x86 또는 x64 용 JDK를 다운로드 받습니다.





    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를 사용합니다.


    webnautes@webnautes-pc:~$ java -version
    openjdk version "1.8.0_171"
    OpenJDK Runtime Environment (build 1.8.0_171-8u171-b11-0ubuntu0.18.04.1-b11)
    OpenJDK 64-Bit Server VM (build 25.171-b11, mixed mode)
    webnautes@webnautes-pc:~$ javac -version
    javac 1.8.0_171




    3. Kotlin 컴파일러 설치

    3.1. Windows

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

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


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

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




    kotlin-compiler-1.2.50.zip를 클릭하면 다운로드가 시작됩니다.





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

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





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


    C:\kotlinc\bin





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

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


    C:\Users\webnautes>kotlinc -version
    info: kotlinc-jvm 1.2.50 (JRE 1.8.0_152-release-1024-b02)




    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. 설치된 코틀린 버전을 확인해봅니다.


    $ kotlinc -version


    webnautes@webnautes-pc:~$ kotlinc -version
    info: kotlinc-jvm 1.2.50 (JRE 1.8.0_171-8u171-b11-0ubuntu0.18.04.1-b11)




    4. Visual Studio Code 설치

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


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

    http://webnautes.tistory.com/1197




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


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



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





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





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




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





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




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





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




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




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




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




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




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


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




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




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





    6. 코틀린 언어 지원 설치

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


    글 작성 시점에서 Kotlin Language 확장이 제공해주는 기능입니다.


    Features


    • Syntax highlighting

    • Code snippets

    • Region code folding



    설치하려면 Ctrl + P를 누르고 ext install kotlin를 입력하고 엔터를 누릅니다.




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




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




    설치한 확장을 적용시키기 위해 다시 로드를 클릭하고




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





    7. 코드 컴파일 및 실행

    Visual Studio Code에서 코드를 컴파일하고 실행하기 위해 보통 다음 2가지 방법을 사용합니다.

    윈도우를 기준으로 화면 캡쳐가 되어 있으며 꼭 필요한 경우에만 우분투 캡처를 따로 넣었습니다.


    • Code Runner 확장 이용

    • Task Runner 이용


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

    Visual Studio Code에서 작성한 코드 파일의 확장자를 인식하여 코드를 컴파일 및 실행시켜 줍니다.



    설치하려면 Ctrl + P를 누르고 ext install code runner를 입력하고 엔터를 누릅니다.





    또는 액티비티 바에서 확장 아이콘을 클릭 후, 입력란에 code runner라고 입력해도 됩니다.





    사이드바에 보이는 code runner 키워드로 검색된 확장에서 Code Runner설치를 클릭합니다.





    이제 추가한 확장을 Visual Studio Code에 반영시키기 위해 다시 로드를 클릭합니다.




    Code Runner에 대한 설정을 하기 위해 메뉴에서 파일 > 기본 설정 > 설정을 선택합니다.

    입력란에  code runner로 검색하여 몇가지 설정들을 사용자 설정으로 복사해왔습니다.





    설정을 다음처럼 모두 true로 수정한 후, Ctrl + S를 눌러서 저장합니다.


    {
       // Whether to clear previous output before each run.
     "code-runner.clearPreviousOutput": true,

     // Whether to use the directory of the file to be executed as the working directory.
     "code-runner.fileDirectoryAsCwd": true,

       // Whether to run code in Integrated Terminal.

       "code-runner.runInTerminal": true,


       // Whether to save all files before running.
       "code-runner.saveAllFilesBeforeRun": true,
    }




    탐색기에서 hello.kt 파일을 선택한 후,  편집기에서 마우스 우클릭하여 Run Code를 선택하거나 단축키 Alt + Ctrl + N을 누릅니다.





    터미널에 다음과 같이 실행 결과를 보여줍니다.





    출력에서 결과를 보고 싶으면 code-runner.runInTerminal 값을 false로 수정하면 됩니다.

     

     // Whether to run code in Integrated Terminal.
       "code-runner.runInTerminal": false,






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

    1. Visual Studio Code의 메뉴에서 작업 > 기본 빌드 작업 구성을 선택합니다.



    2. 템플릿에서 tasks.json 파일 만들기를 선택합니다.





    3. Other 임의의 외부 명령을 실행하는 예를 선택합니다.





    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. 단축키를 설정해줍니다.   메뉴에서 파일 > 기본 설정 > 바로 가기 키를 선택합니다.

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


    대부분의 키조합이 이미 정의되어 있어서 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


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

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

    유튜브 구독하기


    댓글 0

Designed by Tistory.