VSCodeでJava開発時に予測変換(import補完)ができない

今回はVSCodeでJavaのコーディングをする際にimpoortの自動補完が機能しなかった(他にも、StringなどのJavaの基本となる型部分も認識されていなかったので、JDKが認識されていない様子。)のでメモ。

Javaだけど、他の言語でも補完が効かなくなる原因はおそらく同じ。

Javaの開発では、拡張機能『Extension Pack for Java』が必要となるので、これはインストールされている前提とする。

VSCode内でエラーが起きていないか確認

VSCodeで何かしら機能がうまく動かない場合は、VSCodeの設定で何らかのエラーが発生している可能性が高い。

以下のキャプチャのように、VSCodeのフッター部分を見ると、VSCodeでのタスクの実行状況が確認できる。

vscode-footer

ここでは、例えば以下のような情報が確認できる。

  • Gitとの接続状況はどうか
  • ビルド状況はどうか
  • 開いているファイルの言語や改行コードは何か

非常に気づきづらいが、このフッター部分に大切なポイントが詰め込まれており、まずはここで何らかのエラーが出力されていないかを確認することが、たいていの問題を解決する糸口となる。

VSCodeにJavaプロジェクトが認識されていない場合

上手く設定がされていれば、 VScodeを開くと、拡張機能などの初期設定に加え、プロジェクトのビルドが始まる。

Javaのビルドは5分くらいかかるので、 VScodeを起動してしばらくはここが目まぐるしく更新される。

最終的にJavaのビルドが終わると、Java : Ready と表示される。

このフッター部分が動いていない、もしくは1分足らずで動かなくなる場合は、 JDKの設定がうまくいっていない可能性が高い。

JDKの設定がうまくいっていない場合は、右下に、以下のようなポップアップが表示されるので、このようなメッセージが出てきたら内容をよく確認して対処する。

Invalid runtime for JavaSE-11: The path (C:\Program Files\Java\jdk-11) does not point to a JDK.

JDKのパスが合っていない?

JDKの設定

JDKの設定がうまくいっていない場合は、以下の手順でVSCodeにJDKを認識させる

VSCode>設定> 検索窓に 『installed JDKs』と入力

『Java > Configuration: Runtimes』エリアの『setting.json で編集』リンクをクリック

setting.jsonが開くので、java.configuration.runtimesの箇所を編集する。 バージョンはご自身の環境に併せて修正。

"java.configuration.runtimes": [
  {
    "name": "JavaSE-11",
    "path": "C:\\Program Files\\Java\\jdk-11.0.21",
    "default": true
  }
]

Javaのバージョンがわからない場合は、Windowsであれば上記のpathにあるはず。無ければダウンロードが必要。

nameはJavaのバージョンにあわせて、VSCode指定の記述がある。 いずれも、VScode上でプロパティにカーソルを合わせると注意事項がポップアップするので参考にすると良い。

これでも解消しなければ、JDK自体が問題ないかを疑う。oracleのHP等からあらためて取得しなおす。(僕はここまでやってやっと解消した)

コメント

タイトルとURLをコピーしました