「はじめてのKotlin」サポートページ

このページは「はじめてのKotlinプログラミング」(工学社より2017年10月発刊、ISBN978-4-7775-2029-9)のサポートページです。


Visual Studio CodeでKotlinプログラム開発


Visual Studio CodeでKotlinプログラム開発

Kotlinのソースコードは書きやすいですが、コンパイルして実行するコマンドがわりと複雑です。Eclipse、NetBeans 、またKotlinの開発元であるJetBrains社のIDE「InteliJ(無償版あり)」などで「Kotlinプロジェクト」を作成して「実行」ボタンを押せばすぐにコンパイル・実行できます。
しかし、IDEは重いので、本書のような小さなプログラムをたくさん作って動かすには「鉈で豆腐」感が否めません。
そこで、初期設定こそ面倒ですが、ひとたび設定すれば「コード書き、コンパイル、実行」のサイクルが簡単にできるようになる方法として、「Visual Studio Code」の利用法をご紹介します。

[1]Visual Studio Codeのインストール

Visual Studio Code(以下「VSCode」)は以下のURLからダウンロード・インストールしてください。

https://code.visualstudio.com/

インストーラはEXE形式です。ダブルクリックして起動し、初期設定の通りにインストールを進めてください。

[2]Kotlinサポートの拡張機能

VSCodeでKotlinのコード補完、強調表示等をサポートするための「拡張機能」をインストールします。
以下のURL「Visual Studio Marketplace」をブラウザで開きます。

https://marketplace.visualstudio.com/

まず、上部のタブで「Visual Studio Code」を選択します。
 次に、検索欄に「Kotlin」と入力すると、「Kotlin language」という拡張機能が選択されてきます。これを選択します。図1の通りです。

図1 ブラウザ上で拡張機能を選択

選択した拡張機能の詳細画面が開きますので、「Install」をクリックします。

もしVSCodeが開いていなければ、図2のように自動起動するかどうか尋ねられます。図3のようにVSCodeの画面に、この拡張機能をインストールするかどうかのボタンが現れますから「インストール」ボタンを押してください。

図2 ブラウザ上での操作
図3 VSCodeでの操作

これで拡張機能がインストールされました。

[3]VSCodeでフォルダを開く

Kotlinのソースファイルを「kotlin_projects」というフォルダにまとめて置くことにします。
図4のように、「VSCode」のメニューで「ファイル」-「フォルダを開く」を選び、ファイル参照画面からフォルダ「kotlin_project」を選択します。

図4 VSCodeでフォルダを開く

[4]タスクファイルを作成

コンパイル、実行などのコマンドは「tasks.json」という名前のファイルに書きます。
「tasks.json」は新規作成しなければなりません。そのためには、まず図5のように、メニューの「タスク」-「タスクの構成」を選びます。

図5 タスクの構成

図6のように、エディタ上部にリストが現れて、どのような種類のタスクを構成するか選びます。「Others」を選びます。

図6「Others」を選ぶ

図7に示すように、「tasks.json」ファイルが作成され、エディタにその初期の内容が表示されますので、編集していきます。

図7「tasks.json」が作成された

[5]タスクファイルの書き方

Kotlinで行うタスクは二つです。一つはソースファイルをコンパイルしてjarファイルにすること、もう一つはそのjarファイルの実行です。そこで、二つのタスクに名前をつけて区別します。JSON形式で書くとリスト1のような形式になります。

リスト1 二つのタスクをJSON形式で記述する概略
{
    "version": "2.0.0",
    "tasks": [
        {
            "taskName": "kotlinc",
            "command": "kotlinc",
            "args": [コマンドkotlincの引数を文字列として列記],
        },
        {
            "taskName": "execjar",
            "command": "java",
            "args": [jarファイルを実行するための引数を文字列として列記],
         }
    ]
}

なお、この「コマンド」は、VSCode上に図8のように表示される「ターミナル」上のコマンドになります。このターミナルは初期状態では、システム標準のコマンドウィンドウです。Windows10ならPowerShell, Windows7ならコマンドプロンプトです。

図8 タスクは「ターミナル」上のコマンドになる

リスト1で、「version」はこのJSONファイルの仕様のバージョンであって、Kotlinプログラムのバージョンではありません。VSCodeのバージョンによって異なると考えてください。

重要なのはタスクの「args」の内容です。「${file}」 で、今エディタでアクティブになっているファイル名を表すことができます。たとえば、「char1.kt」がアクティブなら${file}の値はchar1.ktと拡張子までつきます。
とすると、「char1.jar」のようにファイル名が同じで拡張子が異なる形を作るためには、拡張子を除いたファイル名が必要です。これは${fileBasenameNoExtension}で与えられます。そこで、コンパイルしてjarファイルを作るための「args」の内容はリスト2のようになります。

リスト2 コンパイルしてjarファイルにするためのargsの内容
["${file}", "-include-runtime", "-d", "${fileBasenameNoExtension}.jar"]

また、jarファイルを実行するための「args」の内容はリスト3のようになります。

リスト3 jarファイルを実行するためのargsの内容
["-jar","${fileBasenameNoExtension}.jar"]
他に、「シェルコマンドとして実行」「結果を常に(ターミナル上に)表示」などのオプションも書くと、リスト4のようになって完成です。保存してください。
リスト4 「tasks.json」の完成
{
    "version": "2.0.0",
    "tasks": [
        {
            "taskName": "kotlinc",
            "type": "shell",
            "command": "kotlinc",
            "args": ["${file}", "-include-runtime", "-d", "${fileBasenameNoExtension}.jar"],
            "presentation": {
                "reveal": "always"
            }
        },
        {
            "taskName": "execjar",
            "command": "java",
            "type": "shell",
            "args": ["-jar","${fileBasenameNoExtension}.jar"],
            "presentation": {
                "reveal": "always"
            }
        }
    ]
}

[6]キーバインドの設定

名前で区別された二つのタスクを、キーバインド(キーボードショートカット)で行う設定をします。

初期のキーバインドとバッティングしないようにするには、「Ctrl+英字キー」を2つ組み合わせるのが適当です。
たとえば、タスク「kotlinc」のキーバインドを「Ctrl+L-CtrlK」、タスク「excecjar」のキーバインドを「Ctrl+J」-「Ctrl+K」にすると、近い場所の組み合わせでかつ対照的なのでわかりやすいのではないでしょうか。

キーバインドを設定するには、メニューから「ファイル」-「基本設定」-「キーボードショートカット」を選びます。

図9 メニューから「キーボードショートカット」を開く

すると、図10のような画面になります。これは既存のキーバインドの変更画面です。今回行うのは全く新規のキーバインドの作成です。そのため、「高度な設定」に相当する「keybindings.json」のリンクをクリックします。

図10 「keybindings.json」をクリック

これで、画面が二つに別れて表示されます。左側はシステム設定の一覧です。右側がユーザー設定で、システム設定に加筆修正したい項目を書きます。そこで、右側をリスト5のように完成させてください。

リスト5 「keybindings.json」の完成
[
    {"key": "ctrl+l ctrl+k", 
    "command":"workbench.action.tasks.runTask",
    "args":"kotlinc"},
        {"key": "ctrl+j ctrl+k", 
    "command":"workbench.action.tasks.runTask",
    "args":"execjar"},
]
図11 「keybindings.json」の完成

[7]実行してみよう

以上のようにタスクとキーバイドを設定すれば、あとはウィンドウをアクティブにしておいて、「Ctrl+L-Ctrl+K」でコンパイルすればそのファイルからjarファイルができます。エラーがなければ、図12のようにコマンド入力可能になります。

図12 「Ctrl+L-Ctrl+K」でコンパイル

図12のようにコンパイルが成功したら、「Ctrl+J-Ctrl+K」で実行できます。結果はターミナル上に表示されます。

図13 「keybindings.json」をクリック

このサイトのトップへ