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

0
177 条评论
Avatar
Permanently deleted user

"Jacques Morel" <jacmorel@yahoo.com> wrote:

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.


Yes, you're right. My last sentence should have said "If you happen to want
to find a word, you can even save some steps...".

Better yet have a Find Selection that does use the
selection if it exists or take the current word if not.


Hm, doesn't IDEA do that already? If I select some text and press Ctrl+F,
the selected text is in the "Text to find" textbox of the Find dialog.
But maybe what you and the OP mean is select some text and then use a
a shortcut key to start searching without a dialog popping up?
Yes, that would be great. IIRC, TextPad does exactly that when "Find Next"
is invoked and some text is selected.

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.


Yes, plugins could certainly accomplish that. Same thing for the
auto-complete
thing from Netbeans (Ctrl-K) that everybody is talking about in thread
"Your Five Favourites Features For 4.0". Should be pretty easy to do.

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?


Sounds good. Count me in.

-Thomas


0
Avatar
Permanently deleted user

if you really what use .net
why dont you use vs studio.net instead?
dont add so urly things(.not&c#) in the lovely IDEA!

0
Avatar
Permanently deleted user

1 aspectj
2 generic before jdk1.5
3 jsp layout
4 layout with sort field/method/innerclass order (by accessibility)
5 gui builder (express in xml) as a plugin

0

Probably because apparently the guys at Microsoft haven't heard anything about refactorings, yet. If you want to rename a class, for example, you have to rename the class and change every reference to it by hand.

I wouldn't vote for C# support in IDEA itself, though. I'd rather like to see a new product 'IDEA for C#' or something like that.

0
Avatar
Permanently deleted user

Aeros Lau wrote:

1 aspectj
2 generic before jdk1.5
3 jsp layout
4 layout with sort field/method/innerclass order (by accessibility)


please VOTE for my old old request:
http://www.intellij.net/tracker/idea/viewSCR?publicId=2513

5 gui builder (express in xml) as a plugin



--
Edoardo Comar
Cape Clear Software
http://www.capeclear.com

Download the New! Beta Release
http://www.capeclear.com/beta

Register for our Technical Webinars - Every Thursday via WebEx
See http://www.capeclear.com/news/webinars/ for details

0
Avatar
Permanently deleted user

If I'm not being presumptious, I'd love for the SmartCopyPlugin stuff I did to be merged into some such common 'Advanced Editor Options' plugin as well.

--Dave Griffith

0
Avatar
Permanently deleted user

if you really what use .net
why dont you use vs studio.net instead?


1) vs.net has a very limited support for refactoring
2) IDEA is much more productive
3) vs.net is a lot more expensive
4) .NET is being ported to other platform (at least in two separated projects, Protable.NET and Mono), and vs.net supports only Windows

dont add so urly things(.not&c#) in the lovely IDEA!


Overall, .NET has a type system and a deploying model (ie., bytecode, assemblies) that is very similar to Java's (and it's no surprise, since the whole .NET initiative builds a lot over Java platform's ideas), so many features of IDEA could, with a reasonable effort, be enabled to work with C#/.NET.

I'm curently a big java fan, but I like some features of the .NET platform, such as the multi-language integration and the fact that is runs natively on Windows.

0
Avatar
Permanently deleted user

My top 5:

- better cvs integration, like Eclipse. I already know some ppl who are
using Eclipse as their cvs client and IDEA as their IDE.
- better navigation arround code and better live feedback system:
- show ~10 first lines of the target method with ctrlshiftb for
example
- Eclipse's 3 pane navigation system is good when you want to get a
bird eye view of the whole project
- make going from test case to the class/method being tested easier
- also, write AbcTest class, press a key and find Abc along all the
methods under test generated.
- I would also like to see IDEA using Jalopy instead of its code
beautifier. Jalopy is far better in this regard and the setup is in a nice
xml file. Even better: provide a pluggable codeformatter api like Eclipse.
- I would also like to see first class support for Checkstyle, or
maybe borrowing some ideas from Checkstyle. So if I define a class field
aDAOVariable IDEA should mark is with the underline error/warning marker
because i've setup Checkstyle to warn about such variable because the team
has decided to prefix all class variables with _ and "DAO" should be "Dao"
instead.
- support for Maven, Ant is already a legacy for me. By Maven support I
mean:
- first class support for Maven goals, etc. Like Ant's support.
- Support for creating project.xml file and also a way to create Maven
POM templates and hosting it under IDEA for all projects
- Support for XDoclet (I've heard that Struts will bundle xdoclet and
encourage its use, so xdoclet is here to stay and will get even more
popular)
- Much better plugin API (this is crucial imho):
- API to work with the AST (like Eclipse's JDT, but prettier)
- API to plug in custom code completion, javadoc completion, etc.

PS: I don't care about AspectJ support. I don't like its syntax. I'm pretty
much sure most of us will switch to Rickard's AOP framework anyway.

Ara.

"Alain Ravet" <alain.ravet.list@wanadoo.be> wrote in message
news:as5dj8$g84$1@is.intellij.net...

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

>


0
Avatar
Permanently deleted user

Top 3 I can think of:

- Hot-swap debugging with class reloading
- Visually (UML) aided code design
- Better performance and stability


PrimX

0
Avatar
Permanently deleted user

Well, I use patterns all the time and don't need anything more - you have file templates,
you have nice code clomletion, excelent refactoring support...

Specifically I would't like IDEA to display the pattern wizards as in TogetjerCC and leave
me with a pile of classes which I'd have to edit manualy anyway..

0
Avatar
Permanently deleted user

so to say it sortly the patten support is more a feature of the programmer and not of the
IDE he's using...

0
Avatar
Permanently deleted user

We really do not want GUI builders or UML. Don't turn IDEA into a Rational or Together. You will not be able to make IDEA a good UML tool without loosing a lot of the things it is good at now. All these UML tools force you to work in a particular way, which IDEA does not.
If people want these then make them plugins so someone else can develop them. So maybe making the Open API better should be a goal along with the PSI api then people can easily develop good plugins.

IDEA should stick to what its good at, a damn good IDE. I have yet to find a good GUI builder. I am currently working on a pure Swing project and IDEA is fine, I wouldn't use anything else. Coding GUIs by hand is not a problem. Some of the screens in the project could not be build in a GUI builder anyway as the makeup of the screen changes at run time.

Things like the refactoing and code inspection save me far more time than things like a gui builder would. Put in more of these like the duplicate code inspections mentioned earlier.

0
Avatar
Permanently deleted user

What are your "Your Five Favourites Features For 4.0"

0

1. Multiple, simultaneous debug sessions
2. Speed
3. AspectJ support
4. GUI builder with reservations:

IF you're just going to build another bean builder like JBuilder, then I would prefer you don't waste time on this. This is a well-understood application which could be implemented by the plugin community.

ELSE if you have ideas for a truly innovative gui builder which brings something new to the table, then I'd love to see it. I'm in the bunch of people who don't currently use Swing builders, but that's only because I never found a particularly good one. There's certainly a place for good builders in this world (see the message below about the MacOS builders), so if you're confident you can to it, I can't wait. If you can do for gui builders what you've already done for IDEs, then I think some (a few) (well, one or two anyway) of the naysayers will come around. Just look at the number of emacs, vi, and jedit users that came around to IDEA.

5. Nothing.

0
Avatar
Permanently deleted user

I totally agree.

"dimiter" <dimiter@blue-edge.bg> wrote in message
news:asff12$kl3$1@is.intellij.net...

Well, I use patterns all the time and don't need anything more - you have

file templates,

you have nice code clomletion, excelent refactoring support...

>

Specifically I would't like IDEA to display the pattern wizards as in

TogetjerCC and leave

me with a pile of classes which I'd have to edit manualy anyway..

>


0
Avatar
Permanently deleted user

"Alain Ravet" <alain.ravet.list@wanadoo.be> wrote in message
news:as5dj8$g84$1@is.intellij.net...

What does your wish list look like. No, what are the 5 first items on
your wish list?


1. Intelligent support for test-first development. I can do TDF now, but
IDEA doesn't help out as much as I think it could.

2. ObjectiveC MacOS X programming support. I know I'm dreaming, but you did
say wish list.

3 - 5. Something new and unexpected that none of us can think of.


0
Avatar
Permanently deleted user

Alain,

1. Intelligent support for test-first development. I can do TDF now, but
IDEA doesn't help out as much as I think it could.


Any ideas?

--
Best regards,
Mike Aizatsky.
-


JetBrains, Inc / IntelliJ Software
http://www.intellij.com
"Develop with pleasure!"


0
Avatar
Permanently deleted user

Listen Intellij, if you ever consider bundling a gui builder in IDEA do it
right, not like JBuilder/WSAD/VS.Net. Base it upon JellySwing
(http://jakarta.apache.org/commons/sandbox/jelly/jellyswing.html).

Ara.

"Dudu Ionut" <ionut.pascaniuc@viper-systems.com> wrote in message
news:asfi36$rck$1@is.intellij.net...

+1 Jonathan
"Jonathan Knight" <jiveadmin@jetbrains.com> wrote in message
news:4517319.1038828709385.JavaMail.jrun@is.intellij.net...

We really do not want GUI builders or UML. Don't turn IDEA into a

Rational

or Together. You will not be able to make IDEA a good UML tool without
loosing a lot of the things it is good at now. All these UML tools force

you

to work in a particular way, which IDEA does not.

If people want these then make them plugins so someone else can develop

them. So maybe making the Open API better should be a goal along with the
PSI api then people can easily develop good plugins.
>

IDEA should stick to what its good at, a damn good IDE. I have yet to

find

a good GUI builder. I am currently working on a pure Swing project and

IDEA

is fine, I wouldn't use anything else. Coding GUIs by hand is not a

problem.

Some of the screens in the project could not be build in a GUI builder
anyway as the makeup of the screen changes at run time.
>

Things like the refactoing and code inspection save me far more time

than

things like a gui builder would. Put in more of these like the duplicate
code inspections mentioned earlier.
>

>
>


0
Avatar
Permanently deleted user

"Mike Aizatsky" <mike@intellij.com> wrote in message
news:asg7ni$9fe$1@is.intellij.net...

1. Intelligent support for test-first development. I can do TDF now, but
IDEA doesn't help out as much as I think it could.

>

Any ideas?


1. The first thing I need to do is get the latest code from the VCS, compile
it, and run the test suite (one-way integration). This could all be done by
pressing one button on the tool bar.

(The JUnit progress bar should be on the tool bar too. When I fire up IDEA,
the JUnit bar should be gray, and it should turn red or green as I run the
tests. After a few minutes, the bar should start fading to gray again so I
know I haven't run the tests in a while.)

2. Now it's time to look at the code and see how my task relates to the rest
of the project. Maybe do some refactoring too. I can't think of any way that
IDEA can help in this any more than it already does. But if I do some
refactoring, I'll need to skip steps 3-6 and go right to step 7.

3. Next I need to describe the task I'm working on; perhaps that could be
the second button on the toolbar. (The task description will be used later
when I check the code in.)

4. Now I need to write a test. Pressing a button on the toolbar could ask me
for the test class name and test method name, and create the class (using a
template I have defined) if it doesn't exist, and create the method (which
contains one line: "fail();").

5. So I've got a test, and now I need to run it, perhaps using a toolbar
button called "run all test methods that have been written/modified since
the integration step". Hopefully it fails (it's a sanity check).

6. Now I change the test to have some real test code and run it again. It
fails again. The JUnit progress bar in the toolbar is red. So I write some
code and run the tests again. I repeat until the tests pass and I think I've
done something useful.

7. Now it's time to integrate again: get the latest code from the VCS,
compile it, and run the test suite (this time it's two-way integration since
I've changed code on my machine). If the test cases pass, the code should be
checked in with the description I entered above.


Hopefully the entire process takes 5 to 20 minutes, and I repeat over and
over throughout the day.

If I screw up somewhere, I'd want to have a button to revert my changes back
to the previous green bar, or if I've really screwed up, back to the
beginning. (Luckily for me, that's only been 5 to 20 minutes ago.)


So I'm envisioning a tool bar that looks like this:



Where:

= update, compile, test
= describe task
= create test
= run tests
= integrate (update, compile, test, check in)
= revert back to last green bar state
= revert back to the original (update, compile, test) state
= JUnit progress bar



Again, I can do all of this stuff now with IDEA, but I'd be developing with
a lot more pleasure if IDEA could simplify it.

And I'm sure I left some things out, or suggested some things that wouldn't
actually be good, but it's just some ideas off the top of my head.


Erik


0
Avatar
Permanently deleted user

Tom,

  • Create new class/interface/file/package from focussed editor window with

single key-press and no mouse movement (this annoys me more than anything
else in IDEA)

Alt2, AltIns. Or use the class in code, press Alt+Enter on red reference.

--
Best regards,
Mike Aizatsky.
-


JetBrains, Inc / IntelliJ Software
http://www.intellij.com
"Develop with pleasure!"


0
Avatar
Permanently deleted user

5- Compile diferent class to diferent output directory.


Doesn't current feature suit you?

--
Best regards,
Mike Aizatsky.
-


JetBrains, Inc / IntelliJ Software
http://www.intellij.com
"Develop with pleasure!"


0
Avatar
Permanently deleted user

Mike,
> Alain..
> Any ideas?

I don't know what Erik meant, but as you are asking me, ...

I really miss :

"Revert code to last working junit test"
http://www.intellij.net/tracker/idea/viewSCR?publicId=3037

"green/red textUI console background if test succeeds/fails"
http://www.intellij.net/tracker/idea/viewSCR?publicId=4310

, and even better, an integrated testRunner (same request as above)


-



further in the TFD direction, ..
when you work TFD, you

-1/ make it fail
-2/ make it work
-3/ make it right

point -3/
is linked to Code Smell detection, my request #3.
What about making it run in the background, in the current class editor?

point -1/ :
always make new tests fail. I've been bitten by forgetting this one more
than once.
If IDEA could only remind me, when it detects a new test method has been
added, and the run afterward didn't fail..


Alain

0
Avatar
Permanently deleted user

Some of the things you mention are possible through Ant.

My intake on that is to integrate with Ant and its capabilities and not
build a compilation engine from scratch (which in our case we simply don't
use), CVS logistics, etc.
Instead, I would expect that what IntelliJ would do is to maintain through
the UI an Ant script for everything that Ant can do. This would save IDEA
people a lot of redundant code and us as developers it would mean that we
don't need to think about what's available here and there.

Amnon
"Erik Hanson" <ehanson@comsys.com> wrote in message
news:asgca9$hrk$1@is.intellij.net...

"Mike Aizatsky" <mike@intellij.com> wrote in message
news:asg7ni$9fe$1@is.intellij.net...

1. Intelligent support for test-first development. I can do TDF now,

but

IDEA doesn't help out as much as I think it could.

>

Any ideas?

>

1. The first thing I need to do is get the latest code from the VCS,

compile

it, and run the test suite (one-way integration). This could all be done

by

pressing one button on the tool bar.

>

(The JUnit progress bar should be on the tool bar too. When I fire up

IDEA,

the JUnit bar should be gray, and it should turn red or green as I run the
tests. After a few minutes, the bar should start fading to gray again so I
know I haven't run the tests in a while.)

>

2. Now it's time to look at the code and see how my task relates to the

rest

of the project. Maybe do some refactoring too. I can't think of any way

that

IDEA can help in this any more than it already does. But if I do some
refactoring, I'll need to skip steps 3-6 and go right to step 7.

>

3. Next I need to describe the task I'm working on; perhaps that could be
the second button on the toolbar. (The task description will be used later
when I check the code in.)

>

4. Now I need to write a test. Pressing a button on the toolbar could ask

me

for the test class name and test method name, and create the class (using

a

template I have defined) if it doesn't exist, and create the method (which
contains one line: "fail();").

>

5. So I've got a test, and now I need to run it, perhaps using a toolbar
button called "run all test methods that have been written/modified since
the integration step". Hopefully it fails (it's a sanity check).

>

6. Now I change the test to have some real test code and run it again. It
fails again. The JUnit progress bar in the toolbar is red. So I write some
code and run the tests again. I repeat until the tests pass and I think

I've

done something useful.

>

7. Now it's time to integrate again: get the latest code from the VCS,
compile it, and run the test suite (this time it's two-way integration

since

I've changed code on my machine). If the test cases pass, the code should

be

checked in with the description I entered above.

>
>

Hopefully the entire process takes 5 to 20 minutes, and I repeat over and
over throughout the day.

>

If I screw up somewhere, I'd want to have a button to revert my changes

back

to the previous green bar, or if I've really screwed up, back to the
beginning. (Luckily for me, that's only been 5 to 20 minutes ago.)

>
>

So I'm envisioning a tool bar that looks like this:

>

>

Where:

>

= update, compile, test
= describe task
= create test
= run tests
= integrate (update, compile, test, check in)
= revert back to last green bar state
= revert back to the original (update, compile, test) state
= JUnit progress bar

>
>
>

Again, I can do all of this stuff now with IDEA, but I'd be developing

with

a lot more pleasure if IDEA could simplify it.

>

And I'm sure I left some things out, or suggested some things that

wouldn't

actually be good, but it's just some ideas off the top of my head.

>
>

Erik

>
>


0
Avatar
Permanently deleted user

Erik Hanson wrote:

> (The JUnit progress bar should be on the tool bar too.
Looks like the integrated JUnit test runner requested by many :
http://www.intellij.net/tracker/idea/viewSCR?publicId=4310

When I fire up IDEA, the JUnit bar should be gray, and it should

> turn red or green as I run the tests.
> After a few minutes, the bar should start fading to gray again so I

know I haven't run the tests in a while.)


I like this idea a lot. I can already see it. Feel like writing a
plugin, Erik?

Alain Ravet

0
Avatar
Permanently deleted user

"Alain Ravet" <alain.ravet.list@wanadoo.be> wrote in message
news:asgh4u$nv3$1@is.intellij.net...

Erik Hanson wrote:

When I fire up IDEA, the JUnit bar should be gray, and it should

> turn red or green as I run the tests.
> After a few minutes, the bar should start fading to gray again so I

know I haven't run the tests in a while.)

>

I like this idea a lot. I can already see it. Feel like writing a
plugin, Erik?


I had been thinking about it, and I'd like to, but I won't have time until
January. And I have to admit that the fading progress bar wasn't my idea
originally, but I don't remember whose IDEA it was.

There was a discussion on the Extreme Programming mailing list
<http://groups.yahoo.com/group/extremeprogramming/> about a year ago about
how an XP-friendly IDE would act. Perhaps some IntelliJ folks would like to
ask for suggestions on that list.


Erik


0
Avatar
Permanently deleted user

1. Full support for new JVM capabilities (e.g. hot swapping of classes).
2. Complete Ant integration (see explanation below).
3. For completness, a GUI builder. Even though we don't use it today, parts
of our organization does Swing and we might as well.
4. I know I'm dreaming, but JavaScript editing would be great (with code
errors etc.), and also debugging (no, I'm not on anything, a guy can dream,
can't he? :)
5. Plugin management (turn on/off, install/uninstall, either from disk or
from the web).

Explanation for 2. Complete Ant integration:
Ant is much more to Java than make was ever for C/C++. It can compile, copy,
delete, knows regular expressions, has inheritance, is expandable, can
create zip, jar and war files, get files from CVS, Visual SourceSafe,
.......
In the numerous messages to this thread I have found features like "better
CVS integration" or "Allow me to get files from CVS, compile and run tests
from a single toolbar button". These are features that are available through
Ant.
In IntelliJ 3 there are new features such as directory exclusion from
compilation. Also very easy with Ant.
I think that IntelliJ should use Ant at its galore, and create an Ant script
file for a project for all Ant features instead of reinventing the wheel and
creating an internal logistics for compilation, CVS integration, and other
features still missing such as packaging. This would not only save
development time for JetBrains, but would benefit developers by providing a
leaner and rounder IDE. For example, Compiling from IntelliJ would simply
call the relevant Ant target. Adding a source directory would add it to the
relevant path in the ant script. At the end of the day, all of us doing
daily/weekly builds through ant wouldn't have to replicate actions in
IntelliJ and an ant script.
We, for one, simply don't touch internal compilation in IntelliJ because of
that. Still, when we add a source directory, for example, we need to do it
in 2 places as IntelliJ won't know the sources if we don't add them to the
tree, and Ant won't compile them if we don't add the new directory in the
ant script.
All that is needed is wrapping Ant capabilities with potent UIs and saving
only IntelliJ specific features in an .iws file (e.g. open files, debugging
entries, etc.), instead of saving the duplicated features.
For anything that won't be supported initially we could still edit the Ant
script.
Moreover, it might even be possible to create automatic UIs (and I don't
mean a cheesy property/value UI like in other places) created dynamically
from the Ant installation itself. The added value would be that a custom
task will automatically be integrated at runtime in the UI.

Amnon

"Alain Ravet" <alain.ravet.list@wanadoo.be> wrote in message
news:as5dj8$g84$1@is.intellij.net...

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

>



0
Avatar
Permanently deleted user

I wasn't aware of Find Word at Caret. I prefer the Visual Studio approach of doing that automatically if there is no selection.

0
Avatar
Permanently deleted user

+1 - love the idea of integrated Tracker

"Mark Lee" <jiveadmin@jetbrains.com> wrote in message
news:3751345.1038499643763.JavaMail.jrun@is.intellij.net...

I would like to see a fully integrated issue tracker like ITN shareable

across a team. I think this has been asked for before and is waiting for
more votes in the tracker.
>

What I don't want to see is a UML editor, GUI editor and so on. I have no

problem with those things being available as optional plugins (even pay-for
plugins).
>

When I upgrade to 4.0, I want to pay for improved performance, more fixed

bugs, and not for features I won't ever use. I want 4.0 to be as slick as
2.6 was.
>

(Sorry if that sounded like a moan, I love IDEA but don't want it to start

creaking)
>

Couldn't make 5 suggestions... sorry.



0
Avatar
Permanently deleted user

+1 for Macros

"Michael Abato" <mrabato@earthlink.net> wrote in message
news:4520605.1038585623262.JavaMail.jrun@is.intellij.net...

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



0
Avatar
Permanently deleted user

+1 for integrating the JUnit bar onto the toolbar or the status bar.

"Erik Hanson" <ehanson@comsys.com> wrote in message
news:asgca9$hrk$1@is.intellij.net...

"Mike Aizatsky" <mike@intellij.com> wrote in message
news:asg7ni$9fe$1@is.intellij.net...

1. Intelligent support for test-first development. I can do TDF now,

but

IDEA doesn't help out as much as I think it could.

>

Any ideas?

>

1. The first thing I need to do is get the latest code from the VCS,

compile

it, and run the test suite (one-way integration). This could all be done

by

pressing one button on the tool bar.

>

(The JUnit progress bar should be on the tool bar too. When I fire up

IDEA,

the JUnit bar should be gray, and it should turn red or green as I run the
tests. After a few minutes, the bar should start fading to gray again so I
know I haven't run the tests in a while.)

>

2. Now it's time to look at the code and see how my task relates to the

rest

of the project. Maybe do some refactoring too. I can't think of any way

that

IDEA can help in this any more than it already does. But if I do some
refactoring, I'll need to skip steps 3-6 and go right to step 7.

>

3. Next I need to describe the task I'm working on; perhaps that could be
the second button on the toolbar. (The task description will be used later
when I check the code in.)

>

4. Now I need to write a test. Pressing a button on the toolbar could ask

me

for the test class name and test method name, and create the class (using

a

template I have defined) if it doesn't exist, and create the method (which
contains one line: "fail();").

>

5. So I've got a test, and now I need to run it, perhaps using a toolbar
button called "run all test methods that have been written/modified since
the integration step". Hopefully it fails (it's a sanity check).

>

6. Now I change the test to have some real test code and run it again. It
fails again. The JUnit progress bar in the toolbar is red. So I write some
code and run the tests again. I repeat until the tests pass and I think

I've

done something useful.

>

7. Now it's time to integrate again: get the latest code from the VCS,
compile it, and run the test suite (this time it's two-way integration

since

I've changed code on my machine). If the test cases pass, the code should

be

checked in with the description I entered above.

>
>

Hopefully the entire process takes 5 to 20 minutes, and I repeat over and
over throughout the day.

>

If I screw up somewhere, I'd want to have a button to revert my changes

back

to the previous green bar, or if I've really screwed up, back to the
beginning. (Luckily for me, that's only been 5 to 20 minutes ago.)

>
>

So I'm envisioning a tool bar that looks like this:

>

>

Where:

>

= update, compile, test
= describe task
= create test
= run tests
= integrate (update, compile, test, check in)
= revert back to last green bar state
= revert back to the original (update, compile, test) state
= JUnit progress bar

>
>
>

Again, I can do all of this stuff now with IDEA, but I'd be developing

with

a lot more pleasure if IDEA could simplify it.

>

And I'm sure I left some things out, or suggested some things that

wouldn't

actually be good, but it's just some ideas off the top of my head.

>
>

Erik

>
>


0

请先登录再写评论。