What I want in an editor/IDE

Chris Cioffi evenprimes at gmail.com
Wed Jul 21 15:36:30 EDT 2004

I started writing this list because I wanted to have definite points
to base a comparison on and as the starting point of writing something
myself.  After looking around, I think it would be a waste of time to
start writing yet another IDE and so am now thinking in terms of new
features/plug-ins for existing systems.

Right now I mostly use Komodo Personal and it's pretty close to being
what I want.  They don't currently support plug-ins, but maybe in the
future.  I do about 90% of my development on and for Win32.  The rest
is for Linux and usually done in vim through an ssh login.

What Komodo has that I really like:
-Projects - This is the difference between an editor and an IDE for
me.  The ability to define a set of files as being logically related. 
My issue is that Komodo doesn't go nearly far enough.  What I really
want would be an IDE that removed the idea of a 'file' from the

We break up programs into modules/packages for 2 reasons:
1.  Too much complexity in a file
2.  Re-usability

A decent project management system would allow us to define those
relationships and handle the fussy details in the background.

My response to the 'I want control' argument:  I'm most productive
writing code, not doing fiddly file management.

I know this is kind of vague.  I'm still working on the details of
exactly what this should be.  See the code outliner below.


-Simple (one or two key/click) way to run the program I'm editing

-Syntax completion (Kinda...)

What I am still looking for:
-Post run access to the command interpretor.  Basically, after my
program crashes, I'd like to be at a place where I can do a little
digging on variable state, etc.  This might just be my need to learn
more about pdb and start using it.

-Built in, syntax aware, spell checker.  

-Code/class browser, should be doc string aware

-The ability to import/export all settings from another installation.
I work on 2-3 machines and would like to be able to sit down, point at
a config and use that config.  If I point to an Internet based config
it doesn't need to be read/write, just give me "my" options for right
now, thank you very much.

-Sophisticated Python aware syntax highlighting  Beyond just "this is
a string".  I'd like to have highlighting distinguish between doc
strings, normal strings and triple
quoted strings.

-Better command completion, like what ActiveState PythonWin does. For
instance, while it is frequently no possible to know the class/type

-Ability to work through an SSH shell.  I can deal with losing some
debugging capability, although I'd prefer to be able to have the IDE
open it's own remote shell and execute remotely.

-Ability to build extensions in Python would be slick.  

-Built-in UML to code outline builder.  At least a graphical code
structure designer.  (At the object/function/module/package level.)

-GUI designer?  With all the GUI tool kits/langauges this might not be
reasonable except as a plug in...

-Support for version control systems.  This probably needs to be a
plug in kind of thing so it can support CVS, Subversion, et al.

What features do you think make a great coding system?  I'm throwing
this out both for current IDE developers to get ideas from and to see
if I'm the only person not 100% happy with what's currently available.

Still searching for an even prime > 2!

More information about the Python-list mailing list