Python IDE wanted, good, cheap and fast. :)

When editing Python text, I usually use emacs on Linux and XEmacs on Windows. However, I would love a cross-platform Python development environment in the style of Visual Slickedit or similar. It should have code-completion (for the umpteenth time, dabbrev in emacs is NOT code-completion!), it should show calltips (incorporating the relevant docstrings) when I’m instantiating objects or calling functions and it should have some kind of graphical object browser. It’s syntax highlighting and auto-indentation should be at least as good as that of emacs. Emacs has caught numerous programming errors before they even happened due to its auto-indentation.

PythonWin on Windows is not a bad example. However, it’s keybindings are not configurable. I’m still holding out for something which allows me to use emacs keybindings or similar. Moving my hand all the way to the “Home”, “End” and arrow keys really interferes with my typing. In addition, it’s auto-indentation is not as rigid as that of emacs and, of course, it only runs on Windows.

I’ve searched far and wide for such a tool, but I always seem to end up back in the arms of emacs. I’ve also been having evil dreams about hacking real auto-completion and calltips and whatnot into emacs using pymacs, but that will have to happen at some later stage.

If you’re a kickass programmer lying around wondering what open-source wonder to bring us next, please think about making The Kickass Python IDE.

Of course I could just shell out hard-earned cash and buy WingIDE and get it over with. That would unfortunately also mean that I’d have to pay double for at least a Windows and Linux license. If you’re still wondering whether you should buy me my dream laptop, maybe you could bundle WindIDE with it?

Thanks!

One thought on “Python IDE wanted, good, cheap and fast. :)”

  1. Keybindings for PythonWin are configurable – you just have to dig deep and learn how to access the Scintilla control that makes up the text editor. Here’s an example config to get you started:

    [General]
    BasedOn = Default

    [Keys]
    Ctrl+A = HomeKey
    Ctrl+E = EndKey

    [Extensions]
    from pywin.scintilla.scintillacon import *

    def HomeKey(editor_window, event):
    editor_window.edit.SendScintilla(SCI_HOME, 0)
    def EndKey(editor_window, event):
    editor_window.edit.SendScintilla(SCI_LINEEND, 0)

Leave a Reply

Your email address will not be published. Required fields are marked *