ソフトウェアエンジニアの雑記

日々思ったことをまとめます

JBangファイルをIntelliJで補完するために、ディレクトリは"src/main/java"配下にする

タイトル=結論なんですけど、JBangをIntelliJで編集するには、src/main/javaに置かないとシンタックスハイライトも補完もされませんでした。また忘れるかもなんで、一応メモです。

技術の紹介

JBangは、Javaスクリプトを簡単に実行できるツールです。従来のJavaプロジェクトのような複雑なセットアップを必要とせず、単一のJavaファイルで依存関係を管理し、即座に実行することができます。

IntelliJ IDEAは強力なJava開発環境ですが、JBangファイルに対して適切なコード補完や構文ハイライトを提供するには、デフォルトでは、特定のディレクトリ構造を使用する必要があります。

1. プロジェクト構造の設定

your-project/
├── src/
│   └── main/
│       └── java/
│           ├── Example.java
│           └── AnotherScript.java
└── README.md

2. JBangファイルの作成

src/main/javaディレクトリ内にJBangファイルを配置します:

///usr/bin/env jbang "$0" "$@" ; exit $?
//DEPS com.fasterxml.jackson.core:jackson-core:2.14.2

import com.fasterxml.jackson.core.JsonFactory;

public class Example {
    public static void main(String[] args) {
        System.out.println("Hello JBang!");
        // IntelliJでここに補完が効きます
    }
}

3. IntelliJでの開き方

  1. IntelliJ IDEAでプロジェクトルートを開く
  2. src/main/javaディレクトリがソースフォルダとして認識される
  3. JBangファイルを編集する際に、完全なコード補完が利用可能

任意のディレクトリに配置する場合

任意のディレクトリ内をJavaプロジェクトとして認識させるのには、下記の操作が必要になります。

  1. IntelliJでプロジェクトを開く
  2. File > Project Structure > Modules
  3. Sourcesタブで任意のディレクトリをSourcesとして指定
work/
├── src/
│   └── main/
│       └── java/   <-- ここをSource指定を行う
│           ├── Example.java
│           └── AnotherScript.java
└── README.md

まとめ

JBangでIntelliJの強力な開発支援機能を活用するには、src/main/javaディレクトリ構造を行うとIntelliJの設定が簡略化できます。IntelliJを使用すると、

など、開発における優れた体験を享受することが可能になります。JBangの手軽さとJavaの堅牢な開発体験があるのはとてもいいので、これからも使っていこうと思います。