私は、本質的に、ユーザーが非常に長い/反復的なコード用のマクロを作成する方法であるプロジェクトを行っています。これにより、これらのマクロをコードに挿入して、読みやすさを向上させ、再利用を促進できます。
プロジェクトは 2 つの領域に分かれています。ユーザーがマクロを作成してファイルに保存する RCP アプリケーションと、ユーザーがマクロを挿入できる Eclipse のプラグインです。
RCP アプリケーションは順調に進んでいますが、Java にコードの一部を見てもらい、コンパイル時に「ああ、そのコードはこれを意味する」と言うところまで来ています。
たとえば、ユーザーはmacro1
コードを表す識別子を使用してマクロを作成できますSystem.out.println("Hello World");
。彼らは、次のfoo
ようなクラスでそれを使用したいと考えています。
class foo{
//lots of java....
macro1
//lots more java
}
ユーザーにクラスを実行してもらいたいのですが、Java がコンパイルされると、そのmacro1
値に置き換えられます。
私はこれをしばらく調べていて、JavaCC を少し読んで、Ants Replace Task を調べましたが、注釈の下のこの文字列を変換する必要があることを Java に通知するカスタム注釈を作成する道を進みたいと思います。特定のテキスト ファイルにある Java コードに置き換えられます。うまくいけば、次のような結果になります:
@ExpandMacro
macro1
私にはそれが可能なように思えますが、私が楽観的すぎるだけなのかどうかはわかりません! :)
また、私の懸念の 1 つは、プラグインとしてどの程度展開できるかということです。カスタム注釈を作成した場合、ユーザーが使用できるようにするにはどうすればよいですか?
アドバイス/洞察は非常に役に立ちます!
編集: Project Lombokも調べましたが、これは非常に興味深く見えます。しかし、lombok プロジェクトに必要なセットアップの量が多いため、デプロイ可能性が心配です。