vscode-java icon indicating copy to clipboard operation
vscode-java copied to clipboard

Aspectj compilation support

Open piotrblasiak opened this issue 5 years ago • 5 comments

Is this something that exists, and/or is planned?

piotrblasiak avatar Jun 21 '19 17:06 piotrblasiak

AspectJ support is critical for at least some of us that work on AspectJ projects, including folks that use Spring Roo to generate projects.

At first glance it looks like proper AspectJ support is an upstream problem that needs to be solved by the JDT team. But looking deeper it looks like that may not be the case.

The relationship between the JDT, AspectJ, the AJDT, and the Eclipse IDE is deliberately separate. Or at least that's what's mentioned in the FAQ here:

https://www.eclipse.org/aspectj/doc/next/faq.html#q:eclipseetc

3. What are the relationships between AspectJ, JDT, Eclipse, AJDT, and IDE support generally?

Eclipse is a software platform.

JDT is an eclipse project to support Java development. JDT has a Java compiler.

AspectJ 1.1 is built on Eclipse/JDT's Java compiler but is distributed standalone and can run standalone. With the AspectJ distribution, you can compile and run AspectJ programs and use the AspectJ structure browser.

AJDT is an eclipse project to integrate AspectJ into Eclipse/JDT so you can use Eclipse to develop AspectJ programs. AJDT aims to support the full Eclipse experience - searching, compiler-error tasks, etc. AJDT will use the AspectJ Development Environment (AJDE) API's for creating IDE integrations, as well as hooking in to the model underlying the Java compiler.

Similarly, Sourceforge has projects integrating AspectJ into other development environments using the AJDE API's: AspectJ for Emacs, AspectJ for JBuilder, and AspectJ for NetBeans.

This is the right level of separation/integration. AspectJ is available standalone, leverages an existing open-source compliant Java compiler, and supports external projects doing IDE integrations in Eclipse, Emacs, JBuilder, and NetBeans through a common API, AJDE.

Further up in the FAQ there's a question that's probably more relevant here.

https://www.eclipse.org/aspectj/doc/next/faq.html#q:idesupportplans

3. What plans are there to support my IDE?

The AspectJ team directly provided components for JBuilder, Forte, and Emacs and supported the open-source AspectJ plugin project at http://eclipse.org/ajdt which uses the AJDE API support for IDE's. Supporting new IDE's is a matter of building on the AJDE API's, mostly likely adopting one of the existing open-source IDE extensions as a design template. Here are the IDE's where we know people have expressed interest, so interested developer may want to join with others in their developer communities to build the integration.

I'm not familiar enough yet with VS Code extension conventions but given these facts it seems like using AJDT to implement AngularJS support within vscode-java would be the way to go.

fivesixzero avatar Oct 04 '19 21:10 fivesixzero

+1

raulvaldoleiros avatar Nov 25 '19 12:11 raulvaldoleiros

+1

GoKlaus avatar Jun 24 '22 05:06 GoKlaus

+1

ozkanpakdil avatar Oct 09 '22 19:10 ozkanpakdil

+1, AspectJ is a very practical tool and we really need this functionality. Please consider adding support for it🥲.

BTW it's been nearly a year...

cylixlee avatar Jan 02 '24 15:01 cylixlee