Your Five Favourites Features For 4.0
What would change your java programmer's life, and how can IDEA make it
happen?
With 1110 features requests currently open/submitted in the tracker, the
voting system won't do any good at hinting IDEA people about what we
wish/need.
What does your wish list look like. No, what are the 5 first items on
your wish list?
Don't think too much, don't search : what do you miss today?
(Keep the lists short : no need the replicate the features tracker!)
Alain Ravet
Please sign in to leave a comment.
The GUI builder is getting much attention, isn't it? Many people would love it, many people would hate it. I probably wouldn't use it since my current focus is server side programming. However, I admit that a GUI builder would be nice.
One thing though: IntelliJ IDEA is an inovative tool, so this GUI builder should be done right. No JBuilder clone. The one thing I hate about swing programming is the humongous amount of code necessary to do it right.
There are solutions, however. The one I liked most was JGB[1]. The nice thing about JGB is that the interface definition is out of your code, so it doesn't clutter it. So, my #2 feature for IDEA 4.0 would be a GUI builder BASED ON JGB or something similar (ie, extern interface definition). IDEA wouldn't generate Java code that builds your GUI, just the XML file that defines your interface. The code is still yours to write. That would be a killa.
By the way, the #1 feature is generics support :)
http://jgb.sourceforge.net
Well Vincent,
I do not have the time to read the full document you have me and your
explanations do not help, if you do not have a clue, what is AOP and
what is it useful for.
Do you (or anybody else) have a small, explained example? Thanks in
advance.
Tom
For my needs, IDEA is pretty complete. I have some issues with the inspector and EJB code, but that's OK, I guess.
One thing that Netbeans has over IDEA is the number of class templates available. In IDEA, there are about, what, six available? In Netbeans you have a whole lot more. The New template is a cascading menu which I've often found useful.
AOP enables you to add/modify the behaviour of many classes/methods in 1
go/action.
Example :
(taken from http://aspectj.org/doc/dist/progguide/ch01s03.html)
Count the number of calls to setX(.), setY(.), setXY(.),..
aspect SetsCounting {
int rotateCount = 0;
int setCount = 0;
before(): call(void Point.set*(int)) {
setCount++;
}
}
The classical example is logging/tracing all method calls in a set of
classes. Aspect allow you to do that without changing a single line in
the watched methods/classes.
It's like changing the color of a whole line (1D), or surface (2D), in 1
action, when previously all you could don was colouring 1 point (0D).
That's what I call the "new", or "extra" dimension.
Alain Ravet
Things that could help, especially for real big projects:
Profiling tool
Macros (as in MS Visual Studio).
Project templates - like wizards in VS which are customizable
Some integration of ant and IDEA project files - automatic and manual builds should always have the same settings.
Improved speed and GUI responsiveness if possible.
GUI builder can be a separate commercial plugin.
Things I won't want:
AspectJ integration. Let's face it, AspectJ will not be used for most commercial products for quite a while - at least a year. Many people may be enthusiastic about it, but in most cases the risk of adopting a new technology quite outweights possible benefits. And in the case of AspectJ even the benefits are not so clear.
Chernyshenko Dmitry wrote:
(Real story, not for the faint of heart)
There is this project I know about ...
The current Project Manager/self-proclaimed Architect - he took the
"Learn Java In 2 weeks" Sun class- is so afraid of the technology that
he requires EVERY method written for HIS project, , at ANY call depth,
to be enclosed in a try/catch, that logs to log4j in case of a problem.
There are litteraly hundreds of methods written this way.
AOP would allow to (re)move all this crap from the - real - code to an
aspect, while keeping the external behaviour.
Alain Ravet
different classpath settings:
for example: compile with JDK 1.3, run with 1.4
(or vice versa)
I would just kick his ass ;)
1- Move files (class, jsp, xml) beetwen Idea projects
2- EJB generator (Session, Entity...) and generate testing dummy program
3- Customizable toolbars
4- EJB code inspector depeding on type of EJB
5- Compile diferent class to diferent output directory.
Have you tried creating and adding your own? 3.0 has that. you could copy the templates from Netbeans too if you want :)
6- Patterns integration (singleton, factory, etc...)
Any contributions are welcome. We'd be glad to include some useful
file/class templates contributed by users.
--
Valentin Kipiatkov
JetBrains, Inc
http://www.intellij.com
"Develop with pleasure!"
"Laurent Duperval" <jiveadmin@jetbrains.com> wrote in message
news:3923118.1038574230137.JavaMail.jrun@is.intellij.net...
inspector and EJB code, but that's OK, I guess.
>
available. In IDEA, there are about, what, six available? In Netbeans you
have a whole lot more. The New template is a cascading menu which I've often
found useful.
+1
I'll stay with the crowd for four (and count me among the anti-gui-builders):
- responsiveness/performance
- mid-weight profiling
- generics support
- macros/scripting
More interesting to me would be rich XML/XSLT/X?? support. What I mean by this is DTD/XSD driven code completion, documentation-display (similar to javadoc in java code), refactoring, and well-thought-out live-template support (ie: classes with context-knowledge).
This would represent a new niche in the appdev/xml arena, aimed at code-minded developers with data needs (isn't that all of us?) who generally prefer text editors for our xml needs but get stuck continuously cross-ref'ing the (generally weak and non-proscriptive) documentation on the xml schema while using validators to make sure we didn't drop a </desc> tag or forgot some namespace decl. The existing xml tools make the gui-editors look good :(
If IntelliJ could bring the same insight to XML editing as they have to java code (I'm a BBEdit/VI convert), they'll justify the bucks for the upgrade ;)
mike
+1 CTRL-K.
Yes, I do miss it so much, too. Usually the standard code completion does what you want, but when you want to complete, say a word in a String or a javadoc comment nothing beats good ol' CTRL-K. :)
.jonas
1-4 Massive XDoclet/EJBDoclet support.
We are building a massive J2EE system using XDoclet. It is probably one of the smarter things I have ever used. I do think people here know of it and that I do not have to dwelve into it much further.
Extensive XDoclet support (which could be done in many ways and with many appearences) would, in my opinion, totally crush the opposition's offerings. What you get from Oracle JDeveloper or Weblogic Studio etc is the seamless integration from coding to deployment with that particular appserver (hopefully, at least ;)).
XDoclet basically gives you the cross-platform abilities, but it would be nice with an IDE that recognizes the XDoclet-beans and handles this information nicely.
I know that there is a plugin available for this, but I have not yet looked into it (shame on me). What do you guys think of it and EJBDoclet IDE-integration in general?
If JetBrains would put one dedicated programmer (maybe too much to ask?) on just the EJBDoclet integration and also participating to the EJBDoclet code I think J2EE cross-appserver-vendor development and deployment would be greatly simplified. I do think it is better to focus on such a successful project than doing yet another proprietary EJB module which never works (exaggeration) anyway or at least not when appserver XXX1.3.2.1.2.2.1.1.x is released introducing wild new features for the dd:s etc. With xdoclet I have always been able to reconfigure things so that they work.
This is my number one to four request. ;)
5 CTRL-K ? la NetBeans complete-any-text-whatever.
Regards,
Jonas
Hi,
Here's my short list:
1. AspectJ support
2. HotSwap
3. Package dependency visualization
4. Visual representations of the code (different views for the call
hierarchies - like sequence diagrams - could be a start)
5. JSTL support
All the best,
Andrei
AspectJ can be really useful in several development activities:
diagnostics/debugging, testing. It is especially useful in java because it
allows to remove all development-only artifacts from production code (a la
#ifdef in C/C++).
1) debugging: adding logging that won't be in the production code
2) testing: since you can change the structure of class hierarchy, intercept
calls to return rigged test data it makes unit tests and especially legacy
code (code that do not have test and is usually not easily testable) unit
testing a lot easier. If you are doing mock testing with easymock or mockry
or any of the mock generators, you should look at AspectJ. Look at
http://www.xprogramming.com/xpmag/virtualMockObjects.htm and
http://www-106.ibm.com/developerworks/java/library/j-aspectj2/?loc=j,
But in the end it is a chicken and egg problem: if IDEs do not support it,
it won't take off. If it won't take off, IDEs won't support it. However it
is just a question of WHEN but AOP WILL be the next OO of programming. If
you do not believe this take a look at this
http://www.ccs.neu.edu/research/demeter/aop/publicity/mit-tech-review.html.
As far as I can tell from their response and their track record, JetBrains
recognizes the importance of AOP and will, as usual, amazes us with their
solution (I am sure they like the pressure ;)
Jacques
"Chernyshenko Dmitry" <dima432@newmail.ru> wrote in message
news:5861088.1038577986115.JavaMail.jrun@is.intellij.net...
>
builds should always have the same settings.
>
>
commercial products for quite a while - at least a year. Many people may be
enthusiastic about it, but in most cases the risk of adopting a new
technology quite outweights possible benefits. And in the case of AspectJ
even the benefits are not so clear.
>
>
my top 5:
1. Graphical dependency views (UML style?) at least package based (i.e. all
the difficult code analysis background is present)
2. Tighter javadoc checking (can be an extra tool like in Netbeans if not
possible otherwise, i.e. I have netbeans installed only for this)
3. HotSwap
4. Netbeans Ctrl-L/k support would be nice
5. A GUI builder from IntelliJ would be cool, but if possible use a
resource-based approach (xml or whatever) , not a code generator.
Ah yes, and something like WorkspacesPlugin would be a good built-in feature
for 4, also.
Ciao
...Jochen
1. Multiple Source-Code View (i.e Split-View, Three-Way-View, Four-Way-View)
Textpad currently does this.
2. CVS improvements
-able to navigate the source-tree to see what incoming/outgoing files, etc.
Take a look at Eclipse's CVS integration
3. Member orders refactoring feature.
-able to specify that, just like the way they are inserted... fields, constructors, methods, innner classes
4. Type refactoring
-i.e. change the type of a field from Integer to String.
5. Type and Instance Variable Coloring
-i.e. UserType userType = new UserType()
I want the first UserType to be in a different colour.
It does this for native types right now... but not Classes
and it just has ALL keywords highlighted as "bold blue" right now, it should classify the different types of keywords so that they can be changed in colors.
ie. private double myDouble = 12345
private and double should be in different color
App/Web Support improvements:
6. Built-in console view + debugging.
Any messages that web server output should be re-routed to the built-in console view.
Allow double-clicking on the exception's method to open declaration for easy debugging.
i.e at com.example.CachedThread.run(ThreadPool.java:137)
double-clicking on run() method will open CachedThread's class and go to run() method
Sorry if this has already been implemented with Tomcat's plug-in as I have yet to try integrating Tomcat with IDEA.
"Thomas Singer" <idea@regnis.de> wrote in message
news:3de73c34.7777483@news.intellij.net...
ResEdit, Resourcerer and Interface Builder are three that I can think of
that are used every single day for GUI creation on the Mac. In fact, I'd be
very surprised if you could name a single Mac application that was written
without using a GUI builder.
Erik
1. Edit 2 files at once (full MDI support a la Visual Studio would be nice)
2. Better emulation of the auto-selection logic in Visual Studio. (Find should default to the selected text, even if it's not in the clipboard.)
3. Faster, with a smaller memory footprint.
4. HTML support - code completion, error checking
5. Velocity support.
Must in version 3.1:
- AspectJ Integration
- tab to autoindent like emacs or better support for emacs / idea development (emacs aware edit mode)
4.0:
- better cvs visualization
- more refactorings
- code editing in diff view
I'm not sure what you mean by "better CVS visualisation", but it's given me
a thought: integration with more modern version control systems like
Subversion, could be a great thing. Subversion provides direct support for
moving and renaming of files, which would be very helpful for keeping track
of refactorings. I think this is what the ClearCase plugin is trying to do
(I don't use ClearCase, so I haven't been following it);it'd be great to see
this sort of thing for others VCSs as well.
Vil.
--
__
o| . / \|o. _ _ ._ _ ._ _ |
\/ ||\/(_|| (|/||| |(/_(_)| |(/_o| |(/_ |_
/ \__
http://website.lineone.net/~vilya
"Juhana Riihim?ki" <jiveadmin@jetbrains.com> wrote in message
news:7266299.1038657417276.JavaMail.jrun@is.intellij.net...
development (emacs aware edit mode)
>
>
An mks plugin / support would be good. I have already submitted a request to them to create one but have not recieved much of a response. They have one written in java for jbuilder so it would be a simple port.
One thing it reminds me of is how lucky we are that jetbrains actually listens to us and cares about features we want. Just a reminder for people who say "I HAVE TO HAVE THIS IN THE NEXT RELEASE"
"Ken Freeman" <ken.freeman@appiq.com> wrote in message
news:4915262.1038633106848.JavaMail.jrun@is.intellij.net...
nice)
>
should default to the selected text, even if it's not in the clipboard.)
>
>
>
"Ken Freeman" <ken.freeman@appiq.com> wrote in message
news:4915262.1038633106848.JavaMail.jrun@is.intellij.net...
clipboard.)
IDEA does that already (just select some text and press Ctrl+F).
You can even save some steps by using "Find Word at Caret" (Ctrl-F3).
-Thomas
1) Generics support (with sintax coloring)
2) Support for C# and .NET
3) Jithon integration
1) Improved CVS support
2) Profiling support
3) Subversion integration
Little note on Find Word at Caret:
As it says it is Find Word at Caret, which is different than Find using the
selection by default. Better yet have a Find Selection that does use the
selection if it exists or take the current word if not.
The problem with Find Word at Caret is that in XML files where the use of
dot notation is common, Ctrl-F3 will only select part of the xml "word" and
to me it becomes counter intuitive (that is my 2 cents obviously).
But in the end these kind of commands can be easily done by a plugin. No
need for JetBrains people to waste their time on this. In time somebody
(maybe me) will take on the task of doing it. Maybe we should register a
project either with Mike or at sourceforge so we can have a common plugin to
put all these miscellaneous commands -> UpDownLine,... What do you think?
Jacques
"Thomas Vollmer" <thomas.vollmer@itt.com> wrote in message
news:asaqgm$h4f$1@is.intellij.net...
>
>
>
>
>