Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [aspectj-dev] IntelliJ IDEA 5 open API

That statement comes from my experience building the JBuilder plug-in, which
had open and well documented extensibility APIs.  But when you're trying to
do something like AspectJ, which simply doesn't fit into the extensibility
model, it's way harder to do it without open sources.  But the source is
still not enough because the NetBeans plug-in was way harder to do than the
Eclipse one.  To be easily extensible the IDE also has to be built on its
own extensibility APIs and plug-in model.

I actually really like IDEA because the UI is so elegant and nicely tuned.
I'm also encouraged by their statement that they're now building on their
own open APIs.  And just now noticed that it is possible to get the sources
for non-commercial purposes:
http://www.jetbrains.com/idea/opensource/opensource.html

So there is some promise there.  But Alex, I think you bring up the key
point regarding the @AspectJ approach.  Last time that the IntelliJ guys
tried to add AspectJ I recall them doing it by directly extending their
parser/ast to support the AspectJ declarations, which required too much
disruption and resources, especially with the need to do Java 5 around that
same time.  So they gave up.  Perhaps once @AspectJ has had some user
mileage on it in AJDT we should consider pinging them?  We could also
encourage someone from their user community to do it, but again, without a
genuinely open platform it will likely be too hard to do it without their
support.

Mik

> -----Original Message-----
> From: aspectj-dev-bounces@xxxxxxxxxxx [mailto:aspectj-dev-
> bounces@xxxxxxxxxxx] On Behalf Of Alexandre Vasseur
> Sent: August 16, 2005 1:11 AM
> To: AspectJ developer discussions
> Subject: Re: [aspectj-dev] IntelliJ IDEA 5 open API
> 
> Hi Mik
> 
> I don't know how you back up the statement "nowhere near Eclipse's
> openness". IDEA certainly lacks decent documentation about plugins
> support and API. The v5 though is a great step forward - though most
> of the API was already there for v4.x...
> 
> There has been an AspectJ extension for IDEA v4.x that was done by the
> JetBrains folks - but this one never reached an "official" status. The
> OpenAPI was around as well - under some "try it and tell us what you
> think" umbrella. Perhaps someone will finally volunteer to do one full
> blown AspectJ 5 plugin for IDEA v5.x. From my experience it would be
> really straigthforward to do one that supports @AspectJ (ie no custom
> parser) - though some features are still missing (f.e. custom code
> completion handler in know file types). For the ".aj" parsing, the
> IDEA plugin mechanism requires to write a lexer/parser and I am not
> sure the work that has been done in the AspectJ version of the JDT
> could be reused.
> 
> Alex
>
> On 8/15/05, Mik Kersten <beatmik@xxxxxxx> wrote:
> >
> >
> >
> > Fyi, it looks like support for JSP and JavaScript has made IDEA a bit
> more
> > extensible.  Obviously nowhere near Eclipse's openness, but it's nice
> that
> > they are considering language extensibility.
> >
> >
> >
> > http://www.jetbrains.com/idea/features/newfeatures.html#openapi
> >
> > IntelliJ IDEA 5.0 expands and improves the Open API, making custom
> plugin
> > development easier, faster, and more powerful for developers and
> > third-parties. Many of IntelliJ IDEA's new features are implemented
> using
> > the Open API, which shows just how much is possible with plugins in
> IntelliJ
> > IDEA 5.0.
> >
> > Plugin development support: A new Plugin Module is available, together
> with
> > a Plugin Run/Debug configuration dialog, for easier development,
> running,
> > and debugging of IntelliJ IDEA plugins
> > Language API: Many of IntelliJ IDEA's smart language features are now
> > available to other languages through the new Language API (e.g. the new
> > JavaScript support uses the Language API). A plugin writer can define a
> > lexer/parser, reference resolution algorithm, and custom validators to
> > enable:
> >
> > Find usages
> > Rename refactoring
> > Goto declaration
> > View declaration (Ctrl + Shift + I)
> > Code completion
> > Safe delete
> > On-the-fly errors/warnings annotations plus quickfixes and intention
> actions
> > And much more
> > Dozens of other improvements to open up IntelliJ IDEA's architecture for
> > extension
> >
> > Mik
> >
> >
> >
> > --
> >
> > http://kerstens.org/mik
> >
> >
> > _______________________________________________
> > aspectj-dev mailing list
> > aspectj-dev@xxxxxxxxxxx
> > https://dev.eclipse.org/mailman/listinfo/aspectj-dev
> >
> >
> >
> _______________________________________________
> aspectj-dev mailing list
> aspectj-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/aspectj-dev



Back to the top