Windows에 설치된 Visual Studio Code에서 Kotlin을 컴파일하고 실행시키는 방법에 대해 설명합니다.
2017. 6. 28 - 최초 작성
2018. 07. 01
2020. 04. 10
2021. 04. 08
컴파일 관련해서 이슈가 있었는데 이제서야 수정했습니다.
확인해보니 공식 홈페이지에서 최근 배포된 코틀린 컴파일러에 변화가 있습니다.
빌드된 코틀린은 자바 가상머신 없이 실행 되지만 코틀린 컴파일러가 실행되려면 JRE가 필요합니다.
안드로이드 스튜디오에 포함된 JRE는 가상머신을 아직 사용하는 듯하지만.. 글은 공식 홈페이지에서 다운로드 할 수있는 코틀린 컴파일러를 기준으로 작성했습니다.
0. JRE 준비 1. Kotlin 컴파일러 설치 2. Visual Studio Code 설치 3. 첫번째 코틀린 프로그램 작성 4. 코틀린 문법 강조(Syntax highlighter) 5. 코드 컴파일 및 실행 6. 참고 |
0. JRE 준비
0.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) |
0.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를 실행했을 때 에러없다면 설정이 제대로 된 것입니다.
1. Kotlin 컴파일러 설치
1. 아래 링크에서 커맨드 라인용 kotlin 컴파일러를 다운로드 받을 수 있습니다.
https://kotlinlang.org/docs/tutorials/command-line.html
아래 스크린샷처럼 GitHub Releases를 클릭합니다.
글 작성 시점에 최신 버전은 1.4.32입니다.
아래로 스크롤 하여 kotlin-native-windows-1.4.32.zip를 클릭하면 다운로드가 시작됩니다.
2. 압축을 풀어서 적당한곳으로 옮겨둡니다.
본 포스팅에서는 kotlinc 폴더를 C:\에 복사두고 진행합니다.
3. JDK 설치에서 했던 방식으로 시스템 변수 Path에 kotlinc의 bin 폴더를 추가해줍니다.
C:\kotlinc\bin |
4. 경로가 제대로 지정되었는지 확인하기 위해 kotlinc를 명령 프롬프트에서 실행시켜 봅니다.
다음 화면처럼 코틀린 버전이 출력되어야 합니다.
2. Visual Studio Code 설치
다음 포스팅을 참고하여 진행하세요.
Visual Studio Code 설치하는 방법( Windows / Ubuntu ) https://webnautes.tistory.com/1841 |
3. 첫번째 코틀린 프로그램 작성
Hello, World!를 출력하는 프로그램 코드를 작성해보겠습니다. 여기서부터는 윈도우와 우분투에서 똑같이 진행하면 됩니다.
1. 왼쪽에 위치한 액티비티 바에서 탐색기 아이콘을 클릭하거나, 단축키 Ctrl + Shift + E를 누릅니다.
2. 사이드바에 열린 탐색기에서 Open Folder 또는 폴더 열기를 클릭합니다.
3. 윈도우의 경우에는 왼쪽 위에 보이는 새 폴더를 클릭하여 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를 눌러 저장하면 하얀색 곱하기 표시로 변합니다.
4. 코틀린 언어 지원 설치
Kotlin Language 확장을 설치해주면 코틀린 언어를 Visual Studio에서 작성된 코드를 보기 좋게 색깔로 문법강조(Syntax highlighter)를 해줍니다.
오른쪽 아래에 아래와 같은 메시지가 보인다면 Search Marketplace를 클릭하세요.
또는 왼쪽 바에서 확장 아이콘을 클릭 후, 입력란에 kotlin을 입력해도 됩니다.
사이드바에 보이는 검색된 확장에서 Kotlin Language의 설치 또는 Install를 클릭합니다.
코틀린 문법에 맞추어 색깔로 문법 강조가 됩니다.
5. 코드 컴파일 및 실행
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}", "-o", "${fileDirname}/${fileBasenameNoExtension}" ], "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 } } }, // 바이너리 실행(Windows) { "label": "execute", "command": "cmd", "group": "test", "args": [ "/C", "${fileDirname}\\${fileBasenameNoExtension}" ] } ] } |
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.exe 파일이 보입니다.
처음 컴파일시에는 아래 로그처럼 추가로 다운로드되어 설치되는 파일이 있습니다. 이후에는 컴파일만 진행됩니다.
Executing task: kotlinc D:\work\code\kotlinProjects\helloworld\hello.kt -o D:\work\code\kotlinProjects\helloworld/hello <
Downloading native dependencies (LLVM, sysroot etc). This is a one-time action performed only on the first run of the compiler.
Downloading dependency: https://download.jetbrains.com/kotlin/native/msys2-mingw-w64-x86_64-clang-llvm-lld-compiler_rt-8.0.1.zip (900.5 MiB/900.5 MiB). Done.
Extracting dependency: C:\Users\webnautes\.konan\cache\msys2-mingw-w64-x86_64-clang-llvm-lld-compiler_rt-8.0.1.zip into C:\Users\webnautes\.konan\dependencies
helloworld\hello.kt:1:10: warning: parameter 'args' is never used
fun main(args:Array<String>){
Ctrl + Alt + R을 누르면 보이는 execute를 선택합니다.
실행 결과가 터미널 또는 출력창에 보여집니다.
6. 참고
[1] https://kotlinlang.org/docs/tutorials/command-line.html
[2] https://code.visualstudio.com/docs/editor/tasks#vscode
[3] http://webnautes.tistory.com/1158
시간날때마다 틈틈이 이것저것 해보며 블로그에 글을 남깁니다.
블로그의 문서는 종종 최신 버전으로 업데이트됩니다.
여유 시간이 날때 진행하는 거라 언제 진행될지는 알 수 없습니다.
영화,책, 생각등을 올리는 블로그도 운영하고 있습니다.
https://freewriting2024.tistory.com
제가 쓴 책도 한번 검토해보세요 ^^
그렇게 천천히 걸으면서도 그렇게 빨리 앞으로 나갈 수 있다는 건.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!