Of course, this is a lot of work, but much has been done by others, already. The wish list was intended as ideas for those capable and willing to contribute. The value of good tools for any technology cannot be underestimated.
kind regards Andre
Aleks Totic wrote:
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.
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.
- 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
-- Dr. Andre P. Meyer http://home.hccnet.nl/a.meyer/ TNO FEL Command & Control and Simulation, http://www.fel.tno.nl/div2/ Delft Cooperation on Intelligent Systems, http://www.decis.nl/
Zope-Dev maillist - [EMAIL PROTECTED]
** No cross posts or HTML encoding! **
(Related lists - http://mail.zope.org/mailman/listinfo/zope-announce