LoginSignup
8
15

More than 5 years have passed since last update.

Visual Studio CodeでJava

Posted at

会社が休みだったので、最近ずっと進化し続けているVisual Stuido Code(以下VSCode)でJavaの環境を整えてみた。
プラットフォームはUbuntu18.04。Gradleも使ってみる。

VSCodeインストール

公式からダウンロードしてもいいが、UbuntuならばUbuntu Makeが使えるので、これで入れてもいい。今だとバージョン1.28.2がインストールされた。

umake ide visual-studio-code
umake --version
> 16.11.1

Java Extension Packプラグイン

プラグイン検索に"java"って入力するとたくさん出てくるが、「Java Extension Pack」を入れると以下のプラグインがまとめて入っているらしいので、これを入れることにする。

  • Language Support for Java™ by Red Hat
  • Debugger for Java
  • Java Test Runner
  • Maven Project Explorer

再読み込みのために再起動すれば完了。

Javaの準備

最新はJava11だけど今回は元々入っていたJava8で代用。
インストール手順は、ググればいくらでもヒットするのでここでは割愛。
$JAVA_HOMEくらいは確認しておく。

echo $JAVA_HOME
> /usr/lib/jvm/java-8-oracle

Gradleの準備

公式には現在最新は4.10.2と書いてあるが、aptでインストールされた3.4.1を使った。

apt install gradle

プロジェクトディレクトリ生成

gradleがあれば簡単に作れるので全てお任せした。
--type java-applicationを指定するのがポイント。

mkdir project_name_dir
cd project_name_dir
gradle init --type java-application
tree
.
├── build.gradle
├── gradle
│   └── wrapper
│       ├── gradle-wrapper.jar
│       └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── settings.gradle
└── src
    ├── main
    │   └── java
    │       └── App.java
    └── test
    └── java
        └── AppTest.java

ちなみに、build.gradleの中身はこんな感じ(コメント行は削除)

build.gradle
apply plugin: 'java'
apply plugin: 'application'
repositories {
    jcenter()
}
dependencies {
    compile 'com.google.guava:guava:20.0'
    testCompile 'junit:junit:4.12'
}
mainClassName = 'App'

動作確認

gradleを使って一通り使いそうなタスクを実行してみる。
雛形のままなので全部問題なく動くはず。

gradle build
gradle run
gradle check
gradle clean

VSCodeの設定

作成したプロジェクトディレクトリを選択して作業する。

JAVA_HOMEの設定

settings.jsonの"java.home"に$JAVA_HOMEの値を設定する。
直接ファイルを編集してもいいし、GUIで設定してもいい。

grep java.home ~/.config/Code/User/settings.json
> "java.home": "/usr/lib/jvm/java-8-oracle"

タスクの設定

.vscode/tasks.jsonにgradleコマンドを実行するように設定する。

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build",
            "type": "shell",
            "command": "./gradlew build"
        },
        {
            "label": "run",
            "type": "shell",
            "command": "./gradlew run",
            "group": {
                "kind": "build",
                "isDefault": true
            }
        },
        {
            "label": "clean",
            "type": "shell",
            "command": "./gradlew clean"
        },
        {
            "label": "check",
            "type": "shell",
            "command": "./gradlew check"
        }
    ]
}

タスクの実行

F1キー → "run task" → tasks.jsonに設定したタスクを選択。
デフォルトタスクrunを実行するときはCtrl + Shift + Bでいい。
ブレークポイントを設定していると、その場所で止まってくれるので特に意識せずデバッグできた。

所感

ちょっと触っただけなのでまだなんとも言えないが、

  • パッケージ名などディレクトリ名まで含めたリファクタリングはできなかった
  • コードジャンプなどのショートカットキーがVisual Studioに似ている(eclipseユーザは戸惑うかも)
  • ドキュメンテーションコメントアウトの補完をもう少し頑張って欲しい

今後の成長に期待したい。

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