JavaScriptを有効にしてください

【Kotlin】DevContainer環境セットアップ

 ·  ☕ 3 分で読めます

【Kotlin】DevContainer環境セットアップ

Kotlinを学ぶ際、ローカル環境を汚さずにサクッと試せるのがVS CodeのDev Containerです。本記事では、Microsoft公式のJavaベースDev ContainerイメージにKotlinコンパイラを組み込み、.kt(コンパイル実行)と.kts(スクリプト実行)の両方をVS Code上の▶️ボタンで動かす手順を、設定ファイルの解説とともにご紹介します。

Kotlinとは

Kotlin公式サイトによると、KotlinはJetBrains社が開発したJVM上で動作する静的型付け言語です。

  • Javaとの相互運用性が高く、簡潔で安全な文法を提供
  • サーバーサイド、Android、マルチプラットフォームで活躍

Dev Container設定ファイル

以下をプロジェクト直下の.devcontainer/devcontainer.jsonとして保存してください。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
// .devcontainer/devcontainer.json
{
  // VS Code上に表示されるコンテナ名
  "name": "Kotlin Dev Container",

  // ベースイメージ:Java 17+Debian Bullseye、Gradleプリインストール版
  "image": "mcr.microsoft.com/devcontainers/java:0-17-bullseye",

  // 追加Feature定義
  "features": {
    // Java Feature:Mavenは不要、Gradleのみ有効化
    "ghcr.io/devcontainers/features/java:1": {
      "version": "none",
      "installMaven": "false",
      "installGradle": "true"
    },
    // Kotlinコンパイラ(kotlinc)をインストール
    "ghcr.io/mikaello/devcontainer-features/kotlinc:1": {}
  },

  // VS Code拡張機能の自動インストール
  "customizations": {
    "vscode": {
      "extensions": [
        "fwcd.kotlin",               // Kotlin言語サポート
        "vscjava.vscode-java-pack",  // Java開発パック
        "vscjava.vscode-gradle"      // Gradleタスク連携
      ]
    }
  },

  // ホストの作業フォルダをコンテナにマウント
  "workspaceMount": "source=${localWorkspaceFolder},target=/workspace,type=bind,consistency=cached",
  "workspaceFolder": "/workspace",

  // コンテナ停止後もファイルを保持
  "shutdownAction": "none"
}

これで .kt,.kts のファイルはエディター上の上部にある▶️ボタンを押すことで実行できます。

使い分けポイント

Kotlinファイルには大きく分けて「コンパイルしてJARを実行する .kt」と「スクリプト実行できる .kts」の2種類があります。用途に応じて使い分けましょう。

用途ファイル拡張子特長
大規模アプリ開発.ktパッケージ管理・IDEフルサポート/デバッグ機能あり
簡易スクリプト実行.kts書いてすぐ実行可能/起動オーバーヘッドが小さい

.kt の使い方と実行例

Hello.kt

1
2
3
fun main() {
    println("Hello, world!")
}

実行コマンド

1
2
kotlinc Hello.kt -include-runtime -d Hello.jar
java -jar Hello.jar
1
Hello, world!
  • ポイントkotlincでJARを生成し、java -jarで起動。
  • 注意:JVM起動オーバーヘッドがあるため、やや時間がかかる。

.kts の使い方と実行例

Hello.kts

println("Hello, world!")

実行コマンド

1
kotlinc -script Hello.kts
1
Hello, world!
  • ポイントkotlinc -scriptで直接実行。
  • メリット:コンパイル不要で起動が高速、スクリプト的な開発に最適。
共有

こぴぺたん
著者
こぴぺたん
Copy & Paste Engineer