8
4

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でKotlinの競プロ環境構築

Posted at

環境

・OS:Windows10
・エディタ:Visual Studio Code(以下VSCode)

手順

Kotlin環境の構築

VSCode自体はKotlinコードのコンパイル機能を持っていないので、kotlincコマンドはあらかじめインストールしておく必要があります。

  1. こちらからv1.4.21をダウンロード
  2. C:\Program Files直下にkotlincを移動
  3. 環境変数のPathにC:\Program Files\kotlinc\binを追加

プラグインをインストール

Kotlin Languageプラグインをインストールします。
これにより、Kotlinコードのシンタックスハイライトが有効になります。
image.png

Code Runnerプラグインをインストールします。
これにより、ショートカットキーからKotlinコードを実行できるようになります。
image.png

Code Runnerの設定変更

Code Runnerはデフォルトで出力タブに出力してしまうため、
ターミナルに出力して標準入力が行えるようにしたいです。

setteing.jsonに以下を追記します。

// 実行前にログをクリアしてくれる。便利。
"code-runner.clearPreviousOutput": true,
// 本題のターミナルで実行させるための設定。
"code-runner.runInTerminal": true

動作確認

標準入力をそのまま返却する簡単なコードを書いて実行してみます。

test.kt
fun main(args: Array<String>) {
    println(readLine())
}

test.ktを開いた状態でCtrl + Alt + Nで実行。

cd "c:\GitHub\sample-kotlin\" ; if ($?) { kotlinc test.kt -include-runtime -d test.jar } ; if ($?) { java -jar test.jar }
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.intellij.util.ReflectionUtil to method java.util.ResourceBundle.setParent(java.util.ResourceBundle)
WARNING: Please consider reporting this to the maintainers of com.intellij.util.ReflectionUtil
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
Hello World! // 標準入力
Hello World! // 返却される値

うまくできましたね!

あとがき

実行時にWORNING出てくるのが煩わしいので、その辺りの解決法が見つかったらこの記事も追記します。
(有識者の方コメントいただけると非常に助かります。。)

良い競プロライフを!

参考

8
4
0

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
8
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?