Feedback on enterprise application development is needed!
Hi All,
We really need your feedback on all aspects of enterprise application
development in IDEA. This includes (but not limits to) development with
J2EE platform, various J2EE-related frameworks (Strungs, Hibernate,
Spring, etc.), web services and so on.
We would like to here every idea/problem/annoyance you can think of. You
can even just post links to JIRA issues, if there any, which are most
relevant for you. If you can say just "I wish you had..." it's also ok
for us.
In order to make all you wishes/discussions more categorized I'm posting
additional sub-topics for this message with narrower scope. Please post
all your ideas into them. (The discussion of this post should be
obviously done right beneath of it).
While we can't promise to implement every feature/idea you'll mention,
we will read and analyze every post. Let's shape the future IDEA version
together!
请先登录再写评论。
+
- This one might be crazy: whenever my code is in a compilable state, compile it and run my tests (or at least my unit tests). Or maybe when I'm editing a class that has a unit test, run the unit test any time the class' syntax is valid.+
"Continuous testing". Controversial, but probably very valuable. There's already a semi-experimental Eclipse plugin that does this.
+
- Let me ctrl-click on a test method or test class to run it+
Ctrl-Shift-F10 does this. I can't imagine coding without it. Also, it's worth mapping Ctrl-Shift-F11 to "Debug selected test".
--Dave Griffith
Totally agree. Given the choice between implementing support for a large number of technologies and supporting a few technologies really well I'd go for the latter. Quality trumps quantity in my book. 5.0 is showing signs of growing quantity but declining quality.
Give the community the right tools and support for working with individual technologies and hopefully it will all just work out.
+1
and finally filter out the sun.*-garbage in editor
http://www.jetbrains.net/jira/browse/IDEA-1524
I'm afraid jetbrains will have to provide both quality and quantity if they want IDEA to survive. The awful state of a lot of idea plugins is the best indicator of the fact that they can't only rely on plugin writers (and it seems obvious, to me: I'm not inclined to write a plugin for a software that I must pay for, and which asks me upgrade fees at every new release).
This is something I definately want. I don't use any JSP, EJB, Struts or Hibernate, but this is useful for everybody.
Bas
The feature was there already (not working by mistake).
Robert F. Beeger wrote:
--
Best regards,
Maxim Mossienko
IntelliJ Labs / JetBrains Inc.
http://www.intellij.com
"Develop with pleasure!"
Cool, really cool -- but how was that done? Is that specifically wired to Hibernate DTD? Is there some sort of wild guess, like "if a XML element includes a class name, children of that element may be properties of that class"? Or, better yet, is there a pluggable API so we can implement something like this for tons of other frameworks?
Via references, via references, dear Marcus.
Hibernate DTD reference
("http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd") is used
as identifier for Hibernate file.
Marcus Brito wrote:
>>http://www.jetbrains.net/jira/browse/IDEADEV-2638
>>Looking for you tring it out in 5.0.3 EAP.
--
Best regards,
Maxim Mossienko
IntelliJ Labs / JetBrains Inc.
http://www.intellij.com
"Develop with pleasure!"
My question exactly Maxim :) So this is something specific for Hibernate, not some sort of generic class/property wild guess. I wonder if there's a new OpenAPI for this.
That's somewhat sad, I have to say. A generic property-to-tag mapping solution would have neatly covered Spring as well, and probably a bunch of lesser configure-Java-in-XML products.
--Dave Griffith
Hello Maxim,
MM> This is in IDEA 5 (fully working in 5.0.2 :)
Not to take this off topic, but where??? Example please?
MM>
MM> Robert F. Beeger wrote:
MM>
>> I think it would be great if IDEA had some support for Spring.
>>
>> When I specify a bean for example and then specify a property for
>> that bean, IDEA could look up what setters are available and propose
>> them to me when I CTRL-Space inside the name attribute - along with
>> the quick doc of the setter. When I now try to specify a value for
>> that property, IDEA could also help with autocompletion and error
>> markers in places wherer beans are used that don't implement the
>> interface needed for the property. That would be a huge help. I
>> personally don't need fancy graphs of my beans. I need an editor that
>> is aware of the semantics of my Spring configurations.
>>
5.0.2 is not released yet :). Try next EAP
Robert Sfeir wrote:
>>> I think it would be great if IDEA had some support for Spring.
>>>
>>> When I specify a bean for example and then specify a property for
>>> that bean, IDEA could look up what setters are available and propose
>>> them to me when I CTRL-Space inside the name attribute - along with
>>> the quick doc of the setter. When I now try to specify a value for
>>> that property, IDEA could also help with autocompletion and error
>>> markers in places wherer beans are used that don't implement the
>>> interface needed for the property. That would be a huge help. I
>>> personally don't need fancy graphs of my beans. I need an editor that
>>> is aware of the semantics of my Spring configurations.
>>>
--
Best regards,
Maxim Mossienko
IntelliJ Labs / JetBrains Inc.
http://www.intellij.com
"Develop with pleasure!"
I do not share your concerns.
Hibernate field reference evaluates class reference in its own way. The
same is for Spring, the base reference class MethodPropertyReference is
common (the one is used in property of jsp:getProperty | jsp:setProperty).
Dave Griffith wrote:
--
Best regards,
Maxim Mossienko
IntelliJ Labs / JetBrains Inc.
http://www.intellij.com
"Develop with pleasure!"
> +
Yeah, I use that key combo all the time. I also spend quite a bit of time pair programming with people who are new to IDEA, and it takes them quite a while to figure out all the key combos. I know that you can right-click or choose it from the Run menu, but those are a bit cumbersome too.
God, it works. I'm so happy I could cry. ;)
Method refs from Spring should work only.
Hibernate will be in 5.0.3 EAP.
Davide Baroncelli wrote:
--
Best regards,
Maxim Mossienko
IntelliJ Labs / JetBrains Inc.
http://www.intellij.com
"Develop with pleasure!"
Actually I tried it on an applicationContext.xml. I noticed it correctly completes property names, but does not indicate wrong names in any way. Should we file feature requests? ;)
Yes, please
P.S. Marcus Brito will come to this thread and request to switch the
highlighting OFF :)))
Davide Baroncelli wrote:
--
Best regards,
Maxim Mossienko
IntelliJ Labs / JetBrains Inc.
http://www.intellij.com
"Develop with pleasure!"
I'll need to dig up my old 'tracker' request.
In short, I would like to have a pluggable interface for external processing together with a 'generated' category for source folders.
For wsdl 2 java tasks, I would like to have the wsdl file added to local revision control .
Files residing in 'generated' source directories would not normally be included in even local revision control. They could be moved to conventional source or test source directories - or Idea will offer to move a file/add it to revision control when the user attempts to edit it.
Aw, cute! Does that means I'm building a reputation as a grumpy, cold and gray developer?
My peeve with error highlighting is all about false positives. If IDEA can't be 100% positive that this something is a problem, then it shouldn't mark it as so. Currently, this is a particular problem with HTML/JSP -- the very nature of these pages is too dynamic for IDEA to be sure about what constitutes a problem.
As I understand, the current property completion support in XML files is just an educated guess. There's no guarantee that the attribute values HAVE TO reference a class property. If this is really the case, than I'll stand for my position and say that IDEA shouldn't highlight nonexisting properties.
Hopefully I'm mistaken about this, and IDEA is only offering property completion on places that only property names are really supposed to go; if this is the case, by all means, highlight the erroneous references.
Cheers,
-- Marcus the Gray
The question is do you want to provide your own support
for Stuts, or do you want IDEA users to have any support
for Struts. Do you want to charge more for IDEA? Or do you
want to sell extensions for additional price (this is the
model I suggested to you guys long ago, and still think it
is a valid model)?
Other vendors like Exadel or NitroX, provide sensible
standalone tools and plugins for JSF, Struts, etc. Maybe all
you need is to deliver clean documented plugin API, so they
could implement their tools for IDEA as well?
Anyway, Struts is an old framework. On one hand, it is not
favorable anymore. On the other, there are a lot of Struts
apps that need support and maybe refactoring. I am pretty
much sure that if you create Struts plugin, it won't be used
for new development. Do you need to create a tool merely for
refactoring?
I use Struts myself, but I do not need an IDE to support it.
Just regular JSP support and unit testing (StrutsTestCase
works for me). Well, support for Struts tags would be nice,
but with JSTL I don't think it makes sense now.
There are a lot of ways to work with Struts. What visual
tools usually do is show a flow control from action to JSP
page to another action. Boring.
Would you like to support an event-based programming model that I use for Struts? Here is the link to my Struts library: http://struts.sourceforge.net/strutsdialogs With this approach you would not need cumbersome net of control chain, but instead a table of web resources with input events and resolutions and corresponding pages. ]]>
I am not a big fan of JSF, but it will surely be the
dominant framework.
If you want to be different, I would love to see support
for Wicket. I am now trying Wicket, and it is one pretty
cool framework. And it is made in Europe ;)
Michael.
Wicket: http://wicket.sourceforge.net/
What they think a good thing about it is that page structure
should reflect component structure in Java file. But this
kills me. I am not great in Swing, and Wicket has similar
approach. If an IDE could somehow match structure of my
component tree to structure of my page file, it would be
great.
No, just very dynamic html / jsp coder, resistant for errors :)))
reference a class property. If this is really the case, than I'll stand
for my position and say that IDEA shouldn't highlight nonexisting
properties.
So far IDEA guesses in the same way as Spring IMO works: pick up the
class name from parent tag, and takes the properties from there.
--
Best regards,
Maxim Mossienko
IntelliJ Labs / JetBrains Inc.
http://www.intellij.com
"Develop with pleasure!"
Very dynamic, I like it. Catchy, would sound great as a tagline: Marcus, the very dynamic guy for all your java needs! :) :) :)
That would be great, and IDEA will really be able to mark incorrect references with 0% false positives.... except when BeanFactoryPostProcessors enter the game.
BeanFactoryPostProcessors can completly change the application context, at runtime. This way, seemly invalid references can become valid thanks to a post processor. My suggestions:
1) Take into account the most common post processors, placeholder configurers, and ignore (exclude from validation) property names containing placeholders ($).
2) Provide a way to completly disable reference checking, for the exotic case of a custom post processor that completly changes property declarations. Something like
<!-- noinspection PropertyNameReferenceChecking -->
at the beginning of the file or something like that would rock.
Marcus Brito wrote:
>>So far IDEA guesses in the same way as Spring IMO
>>works: pick up the class name from parent tag, and
>>takes the properties from there.
In Demetra we'll do this but for 5.0.2/5.0.3 NO validation :).
--
Best regards,
Maxim Mossienko
IntelliJ Labs / JetBrains Inc.
http://www.intellij.com
"Develop with pleasure!"
I just don't think it is possible. Java has so many technologies and what is fashionable today is tomorrows legacy.
Looking at the quality of 5.0 there is a definite drop from past releases. Lots of small stuff that's lacking polish and even after several post 5.0 releases I still get stack traces. This is understandable given the complexity of writing software the size of Idea and the pressure to get new features to market but I'd still rather have a tool that does fewer things better.
Back in the Idea 1.0 days there was tons of stuff that Idea didn't do that other IDE's did but the features that it did have were so well done and so well polished they instantly clicked with me. I was perfectly willing to live without those features at the time just so I could work with the cool features it did have.
Hello Glen,
GS> Looking at the quality of 5.0 there is a definite drop from past
GS> releases. Lots of small stuff that's lacking polish and even after
GS> several post 5.0 releases I still get stack traces. This is
GS> understandable given the complexity of writing software the size of
GS> Idea and the pressure to get new features to market but I'd still
GS> rather have a tool that does fewer things better.
One thing to note regarding stacktraces: in all previous versions of IDEA,
the stacktrace reporter was completely disabled in release versions. In 5.0,
it is not. If anything, this should be seen as an improvement of the quality:
we're now confident enough that we won't be overwhelmed by exception reports
so we decided to leave the reporter enabled.
Most of the stacktraces we're getting now come from a very limited number
of problems for which we have no reproducible test cases. We're doing our
best to investigate and fix those problems, but lack of reproduction means
that we cannot do this quickly and reliably.
Also, we're now spending more time than ever on post-release bugfixing and
polishing (5.0.2 / 5.1 releases).
Indeed, the size of the product grows faster than the size of the team working
on it, so it's hard to give every little feature the same amount of polish
as it would get if it were the only feature in the product. The only way
around that is to send us feedback on the features that you consider unpolished
and to tell us how you think they should be improved.
--
Dmitry Jemerov
Software Developer
JetBrains, Inc.
http://www.jetbrains.com
"Develop with pleasure!"
Property editor is definitely unpolished: http://www.jetbrains.net/jira/browse/IDEA-4971
Erik Hanson wrote:
I like that. 8)
Ciao,
Gordon
--
Gordon Tyler (Software Developer)
Quest Software <http://www.quest.com/>
260 King Street East, Toronto, Ontario M5A 4L5, Canada
Voice: (416) 933-5046 | Fax: (416) 933-5001
This is very nice tool. IDEA has lot of these features except some ..
http://www.instantiations.com/codepro/pluspak/default.htm