2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

VSCode で Kotlinx Coroutines を動かすまでの手順

Last updated at Posted at 2021-09-05

はじめに

気軽に Kotlin のコードを試す環境として3通りの方法を試しましたが、Kotlin Playground はコード補完が効かなかったり実行するためのショートカットが用意されていなかったりで使いづらく、Android Studio はコンソールアプリケーションの構築方法がわからないという欠点があり、現段階では VSCode 上で動かすのが最も簡単です。

ということで、VSCode で Kotlin コードを実行するまでの手順を書いていきます。

環境

$ gradle --version

------------------------------------------------------------
Gradle 7.2
------------------------------------------------------------

Build time:   2021-08-17 09:59:03 UTC
Revision:     a773786b58bb28710e3dc96c4d1a7063628952ad

Kotlin:       1.5.21
Groovy:       3.0.8
Ant:          Apache Ant(TM) version 1.10.9 compiled on September 27 2020
JVM:          16.0.2 (Homebrew 16.0.2+0)
OS:           Mac OS X 11.5.2 x86_64

手順

Hello World! を表示する

まず作業用ディレクトリを作成し、コマンドライン上でそのディレクトリに移動します。
そして以下のコマンドを実行します。

$ gradle init

すると色々と質問されるので、以下のように答えていきます。

$ gradle init

Select type of project to generate:
  1: basic
  2: application
  3: library
  4: Gradle plugin
Enter selection (default: basic) [1..4] 2

Select implementation language:
  1: C++
  2: Groovy
  3: Java
  4: Kotlin
  5: Scala
  6: Swift
Enter selection (default: Java) [1..6] 4

Split functionality across multiple subprojects?:
  1: no - only one application project
  2: yes - application and library projects
Enter selection (default: no - only one application project) [1..2] 1

Select build script DSL:
  1: Groovy
  2: Kotlin
Enter selection (default: Kotlin) [1..2] 1

Project name (default: asdf): 
Source package (default: asdf): 

> Task :init
Get more help with your project: https://docs.gradle.org/7.2/samples/sample_building_kotlin_applications.html

BUILD SUCCESSFUL in 39s
2 actionable tasks: 2 executed

すべての質問に答え終わるとプロジェクトの作成が完了します。gradle run で Kotlin が正しく実行されることを確認します。

$ gradle run

> Task :app:run
Hello World!

BUILD SUCCESSFUL in 812ms
2 actionable tasks: 1 executed, 1 up-to-date

Kotlinx Coroutines ライブラリを追加する

./app/build.gradle を開き、dependencies ブロック内に次の一行を追加します。

// https://github.com/Kotlin/kotlinx.coroutines
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.2'

追加し終わった後、./app/src/main/kotlin/[パッケージ名]/App.kt を開いて次のコードに修正します。

package asdf    // 適切なパッケージ名

import kotlinx.coroutines.*

fun main() {
    runBlocking {
        launch {
            delay(1000)
            println("World")
        }
        println("Hello")
    }
}

再度 gradle run を実行すると次のように出力されます。

$ gradle run

> Task :app:run
Hello
World

BUILD SUCCESSFUL in 1s
2 actionable tasks: 1 executed, 1 up-to-date

画面上は正しく出力されているように見えますが、この出力はすべて一瞬で表示されます。 delay(1000) と書いているにも関わらず、「Hello が出力されてから1秒後に World が出力される」ということが確認できません。

gradle run -q を実行することで上記の動作が確認できます(-q オプションは最低限の出力に留めるオプションですが、今回はこのオプションがうまくいきます)。

$ gradle run -q
Hello
World   # Hello が出力されてから1秒後に出力される

VSCode 拡張機能をインストールする

Kotlin Language をインストールすると、シンタックスハイライトが効きます。コード補完や lint の機能を利用したい場合は Kotlin をインストールします。

まとめ

これで Kotlinx Coroutines のハンズオンが捗るはずです。

2
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?