Tuesday, August 26, 2014

PyDev 3.7.0, PyDev/PyCharm Debugger merge, Crowdfunding

PyDev 3.7.0 was just released.

There are some interesting things to talk about in this release...

The first is that the PyDev debugger was merged with the fork which was used in PyCharm. The final code for the debugger (and the interactive console) now lives at: https://github.com/fabioz/PyDev.Debugger. This effort was backed-up by Intellij, and from now on, work on the debugger from either front (PyDev or PyCharm) should benefit both -- pull requests are also very welcome :)

With this merge, PyDev users will gain GEvent debugging and breakpoints at Django templates (but note that the breakpoints can only be added through the LiClipse HTML/Django Templates editor), and in the interactive console front (which was also part of this merge), the asynchronous output and console interrupt are new.

This release also changed the default UI for the PyDev editor (and for LiClipse editors too), so, the minimap (which had a bunch of enhancements) is now turned on by default and the scrollbars are hidden by default -- those that prefer the old behavior must change the settings on the minimap preferences to match the old style.

Also noteworthy is that the code-completion for all letter chars is turned on by default (again, users that want the old behavior have to uncheck that setting from the code completion preferences page), and this release also has a bunch of bugfixes.

Now, I haven't talked about the crowdfunding for keeping the support on PyDev and a new profiler UI (https://sw-brainwy.rhcloud.com/support/pydev-2014) after it finished... well, it didn't reach its full goal -- in practice that means the profiler UI will still be done and users which supported it will receive a license to use it, but it won't be open source... all in all, it wasn't that bad either, it got halfway through its target and many people seemed to like the idea -- in the end I'll know if keeping it on even if not having the full target reached was a good idea or not only after it's commercially available (as the idea is that new licenses will be what will cover for its development expenses and will keep it going afterwards).

A note for profiler contributors is that I still haven't released an early-release version, but I'm working on it :)

As for PyDev, the outcome of the funding also means I have fewer resources to support it than I'd like, but given that LiClipse (http://brainwy.github.io/liclipse/) provides a share of its earnings to support PyDev and latecomers can still contribute through http://pydev.org/, I still hope that I won't need to lower its support (which'd mean taking on other projects in the time I currently have for PyDev), and I think it'll still be possible to do the things outlined in the crowdfunding regarding it.




4 comments:

CP said...

Hi Fabio, I'm using Eclise Luna 4.4.0 (build: 20140612-0600) and PyDev version is 3.7.1.201409021729 on Ubuntu 14.04 64bit.
I have a very annoying beahviour now, what happens is that even there are no breakpoint set, it catch exceptions and stops execution on templates whenever it occurs a not existing variable in Django templates, since and this happen many times to refresh a page I need to hit several time F8. How I can I disable these kind of auto-breakpoints?
In another PC I have same version of eclipse, same OS but pydev 3.6 and all is ok, I think that merge you are talking about is causing the problem in Eclipse Luna.

Fabio Zadrozny said...

You can disable those breakpoints by:

1. Open debug perspective

2. Open menu > PyDev > Manage exception breakpoints

3. Edit the related option (suspend on django template render exceptions).

Cheers,

Fabio

CP said...

Thanks Fabio, it worked, for some reasons I was looking in general preferences and project properties and haven't spotted the entry in menu bar!

zhu kane said...

This hint is really helpful for me as well!