You asked for some feature suggestions, so here goes.
The ability to send code to the shell for execution. Send current
line, send selection... (high priority)
For a line or selection - what is the great benefit over a simple copy + paste? The only thing I can think of is removing empty lines, which is required whenever pasting into the interpreter. Such an option for IDLE's shell - removing blank lines (and perhaps also prompt characters) from pasted code - would be useful.
Thinking about this some more, there is also an issue with tabs/spaces when copying code between the shell and editor windows. This has recently been mentioned in the new ShowMeDo video on IDLE (in the latest Python For Newbies series). This could be solved by converting tabs/spaces as appropriate upon pasting of code.
The question is how to add this functionality in the least confusing manner. I don't think these things should happen automagically upon a normal paste. Perhaps a separate "paste code" option in the Edit menu?
Use IPython as the shell. (medium priority)
Hmm, this is an interesting suggestion. I've heard the rave about IPython but haven't gotten to using it yet. I'm not sure how easy (or possible) such integration would be, since IPython is textual, and we would need to wrap GUI around it. On the other hand, the developers say it's intended for integration into Python programs.
Also I'm wary about such a step. IDLE is the easy to use and learn because it doesn't pack on tons of complex features. IPython is said to be very feature rich - I'm not sure if we want to use such a complex interpreter, since it could confuse new users.
Tabbed documents. (medium priority)
Work on this is under way.
Projects, so that a group of related files would open at the same
time. (medium priority)
I think we're currently against this - too complicated for new users! I could see this added to IDLE only in addition to its current edit-one-file functionality, and not as the default behavior. I'd really hate to see an IDLE tutorial beginning with "First of
all let's start a project...", since all IDLE tutorials should start
with "Ok, here's the interpreter, let's play around!" :)
Seeing how this would be a difficult feature to implement, I think some more interest in such a feature is required before it's considered. I haven't heard this as a major feature request from most IDLE users.
Code folding. (low priority)
Though I know some IDLEers are against this, I think this is a good idea for an extension.
I'm thinking of making such an extension, based on the Squeezer extension, using Tk text widget tags with the "elide" tag to hide text. The only really tricky part I can think of is integrating this nicely with the search, which would have to be able to search (or not) inside folded code, and show the results. This would seem to require automatic unfolding/refolding of code.
How is this done in other IDEs which support code folding?
Automatic paren/bracket matching. (medium priority)
This is already implemented in the ParenMatch extension - or do you mean something else?
Thanks for the suggestions!