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 )