Nice wishlist. About 3-4 man years worth of coding, 2 min is my guess.

My goal is not quite so ambitious. I wanted to learn Eclipse well. I was always jelaous of Emacs guys that could whip up a mode for their favorite lanuguage. Implementing a Python IDE sounded like a good starter project. By IDE, I mean something with a debugger.

In the next release (by the end of next month) I'll have some hyperlinking (function/classdefs withing the same file, and on imports), maybe some code completion (that's up to Dana), and a decent debugger (multithreaded).

After that, I am not sure. My goal for pydev is for it to be good enough for small-size projects, and we'll almost be there. The larger projects requirements (unit tests/UML editor/module awareness) are not that exciting as a hobby.

Aleks

Andre Meyer wrote:

So, I give it a try and submit a "wish list" for an ideal IDE for Python/Zope.

Maybe some words about the IDEs I have been working with, so you can track where the features I wish to have come from: I used CodeWarrior, NetBeans, jEdit for both Java and Python/Zope, Boa Constructor and Eclipse with several plugins (like Omondo UML plugin, TruStudio and PyDev).

And here comes the list of features:

- Syntax coloring (standard everywhere) for python and zpt/xml/html/css code.

- Commenting/uncommenting code (any hope Python will ever offer multi-line comments?).

- Auto-completion for python and zpt/xml/html/css, incl. parameter editing. One should be able to specify the path to modules: for example I have a Python installation and a Zope installation with Python offering different modules.

- Show declaration: jump to definition of classes/instances elsewhere in the code using a context menu.

- Refactoring: actions, such as renaming a class, method or module and modify all references in the rest of the code; move classes and methods up or down in the class hierarchy. Eclipse supports this for Java and it saves a LOT of time,

- Unit tests with reporting.

- Folding: show/hide parts of the source code (like in jEdit).

- Split windows.

- Project management.

- CVS/Subversion integration.

- Search/replace, incl. regex in open files, project,

- Compare and edit files/folders (diff, meld).

- Drag&drop editing.

- Multi-threaded debugging.

- Outline: display classes, methods, attributes of a source file.

- Class/method popup.

- Bookmarks.

- Class browser: multi-part window for browsing and editing classes and their methods and attributes. Similar to the NeXTstep file browser and the Java Browser perspective in Eclipse.

- UML editor (incl. code generation and reverse engineering). Eclipse has several UML plugins and offers a language-independent modelling framework (EMF) that supports code generation. This could be adapted for Python.

- Design patterns, templates: not found anywhere, yet, but might be an interesting feature, especially for Zope development, where we have a lot of recipes that need to be applied often.

- Pydoc integration: show the docs simultaneously with the code.

- ZPT debugging, sensible error messages.

- ZODB inspection: give insight into what is actually stored in the ZODB.

- Ftp, WebDav

- Launching/restarting Zope locally and remotely.

- Python and Jython support.

- Live error tracking (while typing).

- Task management.

- Calling trees: who calls whom and who is called by whom?


Well, there is certainly more, but this is a start... ;-)


One could start from Eclipse/PyDev (http://pydev.sourceforge.net/) and add features. Does anybody (Martin) have concrete plans to do this?

Also look at http://www.python.org/cgi-bin/moinmoin/EclipsePythonIntegration 5 for more ideas.

kind regards and success
Andre



_______________________________________________
Zope-Dev maillist - [EMAIL PROTECTED]
http://mail.zope.org/mailman/listinfo/zope-dev
** No cross posts or HTML encoding! **
(Related lists - http://mail.zope.org/mailman/listinfo/zope-announce
http://mail.zope.org/mailman/listinfo/zope )

Reply via email to