Monday, November 05, 2007

Pydev 1.3.10 released

This release did take a bit more than usual, mostly because the JDT integration proved more difficult than I had expected, and also, a bit too much was planned for a single release (I guess that at least a lesson was learned here)...

The JDT integration isn't totally finished: it's missing referencing a Java project from a Pydev project. There are some things that I still don't know how to treat correctly: Forum message (registration required)...

On the good side, some long awaited feature were added to this release:
- eggs/zips and symlinks are supported!
- JDT is used for code-completions / find definition (Extensions) for jars.
- Code-folding is available for elements such as while, if, etc.

Enjoy!

Sunday, October 21, 2007

JDT Integration, zips and symlinks in Pydev

Right now I'm working on the pydev/JDT integration, so that pydev is able to provide a better code-completion for those working with jython.

I've just checked-in some code that is able to use JDT to gather completions for the jars defined in the jython interpreter. This fixes some things in the current integration, but it still can't do code-completion for project references (so, if you're working on a jython project that only depends on jars, that wouldn't be a problem, but if that's needed, there's still some work to do in that area).

Other areas worked recently (which should be available on a new release):
- Zip files are now supported in pydev.
- Symlinks are supported in the system pythonpath (but not in the project itself).

This release is taking a bit longer than usual, mostly because those changes are in some core areas, which makes them a bit more difficult, as lots of code depends on it -- good thing all the tests are still running ;-)

Also, a good approach to integrate JDT when it comes to java projects referenced from jython projects is something that's proving a bit more difficult than initially thought -- so, the next release will probably not have it... still, it's planned to be available soon after that.

Saturday, September 01, 2007

Debugging Eclipse

Right now it appears that Eclipse sporadically does not shut down correctly for me: some times it is loosing my view configurations (they are not saved as they should be) and a process keeps running in the background.

Also, I can't seem to reproduce it reliably: it just happens in my production environment after running Eclipse for quite some time... usually after 1 or 2 days open.

So, I've been looking for a way to debug the Eclipse shutdown to see if there's something odd there, and the best way I was able to find is starting Eclipse with some debug flags:

-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n

And later, I can attach a debugger to that running instance (in my case, I'll start another Eclipse process and debug it using the 'remote java application' configuration in the run dialog).

The downside is that it is a bit slower to run Eclipse (but just a bit) and I'm not sure if using those options will make the vm unstable or not, but at least I'll be able to debug things in a production environment!

Or maybe there's a better way to do it?

Some useful references I found about it:

JDB
JPDA
Eclipse remote debugging
Getting runtime info (as a snapshot) on a vm

Tuesday, August 14, 2007

Planning for the next release

Ok, the next release is taking some more time than usual, but that's because I'll be out next week, and I don't want to make a release before I come back -- making a release and not being able to support it the week after is usually not good -- and also, the current release is pretty stable...

Ok, there are some bugs, but the most annoying already have descriptions on how to fix them with the current release:
- Jython debugger halting: link to sourceforge bug
- Not being able to configure interpreter: link to sourceforge bug

So, the next release is targeted to the end of this month. It will focus a lot on those little details -- that can usually make programming much more enjoyable -- and some bug-fixes (as usual).

Wednesday, July 18, 2007

Pydev 1.3.7 and 1.3.8

Well, I didn't blog about 1.3.7 before -- and now 1.3.8 is already out ;-)

Both releases are pretty much focused on bug-fixing, solving some issues regarding the integration with Eclipse 3.3 and java 1.6.

Other noteworthy things are:

The code-completion engine uses some more heuristics for type inference (together with some other approaches -- which are pretty much the same thing). So, the following is now considered:
- Python: assert isinstance(xxx, Class)
- PyProtocols: adapt(obj, Class)
- Zope: assert Interface.implementedBy(obj)

And the Pydev Extensions Code-Analysis now detects mixing of tabs/spaces.