Discussion:
Best Plugin Development
Jason Osgood
2013-12-01 19:26:26 UTC
Permalink
Who has experience developing plugins in NetBeans, IntelliJ, AND Eclipse? Is there a comparison of their relative merits (I looked but did not find).

I need to create better IDE tool support for fado and martini. To shorten the edit-compile-debug loop. Both are code generators. Fado compiles SQL to JDBC wrappers. Martini compiles HTML to Java and data models (using aron).

I created a very rudimentary builder plugin for Eclipse for fado. So friggin hard! Confusing docs. My least favorite part is all the XML-based programming of behavior *without a debugger*. I hate black boxes resulting in trial and error. Sure, I could step thru the Eclipse expression evaluator with a debugger, but it was more convoluted than the Spring runtime. (Didn’t know that was possible.)

Since I’ve been buying IntelliJ, I thought to give its plugin dev a whirl first. But that NetBeans + Chrome tool (from previous message) gives me pause. I want some of that cake too.


Cheers, Jason

------------------------------------

Yahoo Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/seajug/

<*> Your email settings:
Individual Email | Traditional

<*> To change settings online go to:
http://groups.yahoo.com/group/seajug/join
(Yahoo! ID required)

<*> To change settings via email:
seajug-digest-***@public.gmane.org
seajug-fullfeatured-***@public.gmane.org

<*> To unsubscribe from this group, send an email to:
seajug-unsubscribe-***@public.gmane.org

<*> Your use of Yahoo Groups is subject to:
http://info.yahoo.com/legal/us/yahoo/utos/terms/
Konstantin Ignatyev
2013-12-01 23:49:31 UTC
Permalink
About a week ago I wanted to improve behavior of "Fluent Interface
Generator" https://code.google.com/p/idea-generate-fluent-interface/ plugin
for IntelliJ and was able to implement fix myself pretty easy
https://code.google.com/p/idea-generate-fluent-interface/issues/detail?id=12

My overall impression of plugin development for IJ is favorable.


However, I suggest considering a plugin for Maven that could generate what
is necessary. Does it really necessary to implement IDE specific UI?
Post by Jason Osgood
Who has experience developing plugins in NetBeans, IntelliJ, AND Eclipse?
Is there a comparison of their relative merits (I looked but did not find).
I need to create better IDE tool support for fado and martini. To shorten
the edit-compile-debug loop. Both are code generators. Fado compiles SQL to
JDBC wrappers. Martini compiles HTML to Java and data models (using aron).
I created a very rudimentary builder plugin for Eclipse for fado. So
friggin hard! Confusing docs. My least favorite part is all the XML-based
programming of behavior *without a debugger*. I hate black boxes resulting
in trial and error. Sure, I could step thru the Eclipse expression
evaluator with a debugger, but it was more convoluted than the Spring
runtime. (Didn’t know that was possible.)
Since I’ve been buying IntelliJ, I thought to give its plugin dev a whirl
first. But that NetBeans + Chrome tool (from previous message) gives me
pause. I want some of that cake too.
Cheers, Jason
------------------------------------
Yahoo Groups Links
--
Konstantin Ignatyev

PS: If this is a typical day on planet Earth, humans will add fifteen
million tons of carbon to the atmosphere, destroy 115 square miles of
tropical rainforest, create seventy-two miles of desert, eliminate between
forty to one hundred species, erode seventy-one million tons of topsoil,
add 2,700 tons of CFCs to the stratosphere, and increase their population
by 263,000

Bowers, C.A. The Culture of Denial: Why the Environmental Movement Needs a
Strategy for Reforming Universities and Public Schools. New York: State
University of New York Press, 1997: (4) (5) (p.206)
Jason Osgood
2013-12-02 15:29:59 UTC
Permalink
Hi Konstantine.
However, I suggest considering a plugin for Maven that could generate what is necessary. Does it really necessary to implement IDE specific UI?
Yes. I’m trying to create a workflow that I can live with.

My near term goal is to have a refactoring environment with code hotswap.

Imagine my db has table People. I create SelectBanana.sql:

SELECT id, fname, lname FROM People;

Which generates classes SelectBanana and SelectBananaResultSet, which are typesafe convenience wrappers for JDBC PreparedStatement and ResultSet.

If I rename SelectBanana.sql to SelectPeople.sql, I want all the references to be updated too. Ditto if I move the query to a new package.

If I rename the result column(s), thusly:

SELECT id, fname AS first, lname AS last FROM People;

Then SelectBananaResultSet’s method .getFname() gets changed to .getFirst(), which should also percolate thru the code base.

The Eclipse plugin I created does the recompile and refresh workspace bits. The functional equivalent of what a Maven plugin could do. I started on the refactoring bits, but decided life is too short.

Ultimately, for SQL, I want a query-centric code environment. The SQL tools I’ve tried are all connection-centric. SquirrelSQL embedded in an IDE, more or less. This is very unsatisfying.

The more I use fado, the more I treat .sql files as loose source code. Not an afterthought. Not a weird middle step. Source code, front and center.

As I said years ago, my original goal was to recreate the Access 2.0 ADO database programming experience. I didn’t fully appreciate or anticipate how SQL -> Java code generation would change my workflow, or how the current tools are not quite aligned with that workflow.


Cheers, Jason

------------------------------------

Yahoo Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/seajug/

<*> Your email settings:
Individual Email | Traditional

<*> To change settings online go to:
http://groups.yahoo.com/group/seajug/join
(Yahoo! ID required)

<*> To change settings via email:
seajug-digest-***@public.gmane.org
seajug-fullfeatured-***@public.gmane.org

<*> To unsubscribe from this group, send an email to:
seajug-unsubscribe-***@public.gmane.org

<*> Your use of Yahoo Groups is subject to:
http://info.yahoo.com/legal/us/yahoo/utos/terms/
Konstantin Ignatyev
2013-12-02 16:58:50 UTC
Permalink
Yes, it looks like you need something deeply integrated with IDE that would
utilize its refactoring capabilities etc. Good luck!
Post by Jason Osgood
Hi Konstantine.
Post by Konstantin Ignatyev
However, I suggest considering a plugin for Maven that could generate
what is necessary. Does it really necessary to implement IDE specific UI?
Yes. I’m trying to create a workflow that I can live with.
My near term goal is to have a refactoring environment with code hotswap.
SELECT id, fname, lname FROM People;
Which generates classes SelectBanana and SelectBananaResultSet, which are
typesafe convenience wrappers for JDBC PreparedStatement and ResultSet.
If I rename SelectBanana.sql to SelectPeople.sql, I want all the
references to be updated too. Ditto if I move the query to a new package.
SELECT id, fname AS first, lname AS last FROM People;
Then SelectBananaResultSet’s method .getFname() gets changed to
.getFirst(), which should also percolate thru the code base.
The Eclipse plugin I created does the recompile and refresh workspace
bits. The functional equivalent of what a Maven plugin could do. I started
on the refactoring bits, but decided life is too short.
Ultimately, for SQL, I want a query-centric code environment. The SQL
tools I’ve tried are all connection-centric. SquirrelSQL embedded in an
IDE, more or less. This is very unsatisfying.
The more I use fado, the more I treat .sql files as loose source code. Not
an afterthought. Not a weird middle step. Source code, front and center.
As I said years ago, my original goal was to recreate the Access 2.0 ADO
database programming experience. I didn’t fully appreciate or anticipate
how SQL -> Java code generation would change my workflow, or how the
current tools are not quite aligned with that workflow.
Cheers, Jason
------------------------------------
Yahoo Groups Links
--
Konstantin Ignatyev

PS: If this is a typical day on planet Earth, humans will add fifteen
million tons of carbon to the atmosphere, destroy 115 square miles of
tropical rainforest, create seventy-two miles of desert, eliminate between
forty to one hundred species, erode seventy-one million tons of topsoil,
add 2,700 tons of CFCs to the stratosphere, and increase their population
by 263,000

Bowers, C.A. The Culture of Denial: Why the Environmental Movement Needs a
Strategy for Reforming Universities and Public Schools. New York: State
University of New York Press, 1997: (4) (5) (p.206)
Loading...