Switching from Emacs to PyDev…
I gotta admit I was wrong…
I recently tried out Pydev and
Pydev extensions on Eclipse 3.2 for my
Python and Zope
developments. Wouah !
I’ve been using these plugins for couple of weeks and I already can’t
switch to emacs anymore. I wouldn’t have believed It could have ever
happened. I’ve been using emacs for years and somehow refused to try
out any IDE for Python because I thought it wasn’t as crucial for
Python development as for other languages such as Java, C#, C++
etc….
I love this feeling. I mean when you find out a tool and are
wondering
how you’ve been living without it for so long that you can’t go back
to
the old one :) I’m in this case with emacs. I simply can’t
anymore. (Well, I could but you see what I mean)
Pydev really brings a lot. I was surprised by the progresses made
by
Fabio on the Pydev front and especially what Pydev extensions bring
related to code completion.
I let you check out the screencasts
to get a quick overview if you
don’t have time to install and play with it (or you are not
convinced)
For Zope development there are some things I’m missing that require
some command lines beside Pydev. (Or these are maybe some things I
didn’t find since I’m relatively new in Pydev development)
- Support for zope.interface
This is a bit annoying since pydev doesn’t
recognize
zope.interface and thus shows errors on
those classes. I might
even dream about a full integration checking
the Python classes
implementing interfaces such as in Java. And
yeah, I’m still
dreaming about builtin Python interfaces but
eh wait … Python
guys don’t want that…I need to stop
dreaming…
- Support for doctests
Pydev doesn’t support doctests. Although,
you can run external
commands from Eclipse. I’m using them to
specify a zope.testing
based tests.py as external command and I get
back the result in
the eclipse console. It would be a plus if
it could directly run
them from the Eclipse as doctests as the
other Pyunit tests.
- Python specific package browser
Here, I’m especially talking about the
refactoring. Move and
rename you can find in the Java package
manager. So that you can
rename module names and don’t worry about
changing the references
in other Python projects in the workspace.
Or still move modules
with the same behavior. It really does ease
the refactoring in
Java.
- Zope server plugin
- Debugger integrated with Zope
To sump up, Pydev and Pydev extensions rock. It’s really promising
and
it addresses a huge lack related to Python development.
Please don’t tell me about other Python specific IDEs since this is
not what integrators are expecting. They already do have Eclipse on
theirs boxes all over the place so they just want a new Eclipse
plugin. (and they are right) Another industry reality. I guess IDE
war is over … as well.
I guess Éric is going to like this post ;)
(Post originally written by Julien Anguenot on the old Nuxeo blogs.)