[Zope-dev] How should an ideal Zope IDE look like?

Andre Meyer a.meyer at hccnet.nl
Sat Apr 24 17:24:03 EDT 2004


It was not my expectation that you would go and implement all of this ;-)

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.
>
> 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
>
>
>
>

-- 
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/




More information about the Zope-Dev mailing list