Case Studies

This is a place to put case studies that help us understand our users needs better.


- no outline view for Python

- no support for different Python interpreters (virtualenv)

  • rationale: I have a venv for each project and each venv contains different
    • libraries. If I use "jump to definition"/autocompletion the IDE should use the modules(/versions) within that venv. (pydev has that)

- no "jump to definition" (assuming it should work with Ctrl+left click)

- ideally support for a "minimum Python version" (e.g. "2.6" when targeting

  • RHEL 5). Modules/syntax not present in that version is marked as error. This becomes less of an issue as most the interesting (which I need to target) distro versions use Python 2.7 now. It will become an issue once I start building Python 3 software which is used for multiple clients.

In general I'm missing the following stuff:

* autocompletion keyboard shortcuts drive me nuts (tab instead of enter)

- I want to see my open files as tabs, reorder them and access them via Alt+X

  • gedit does that and this is one of the reasons I sometime use a plain gedit over pydev.

- "local history" (Eclipse has a 70% working version of this)

  • I want to access old versions of my code which was never committed but is also not available via undo. use case: I move code around and somehow it doesn't work anymore (e.g.
    • debugging a complicated failure) but I think it worked like 20 minutes ago. Of course nothing was committed to git back then. (maybe I stop working on a given file for a few days/weeks but I
      • should be able to access the old revisions anyway - autoremove old versions not based on date but on number of modifications)
    use case: by accident I do "rm" and a several working hours
    • are gone.
    pain points Eclipse:
    • - not clear for me why sometimes history is being removed/not available - no way to get a consistent tree at a certain point in time when multiple
      • files are affected
      - ideally: save "point in time" as git branch upon request
    local history should not replace actual committing just provide additional "undo" points in case I need to go back/forth without commits.

- display unused imports (pydev does that - 90% ok)

- "auto imports"

  • e.g. type »os<autocomplete -> add "import ok">.path.join(...)«

- better autocompletion, e.g. builder does not offer completion for this (my

  • comments in pointy brackets):
    • class Foo(object):
      • def init(<typing "(" should auto-add "self, ">self, foo):

        • pass

      foo = Foo(<autocomplete does not add a placeholder for "foo">

- "link to file": highlight the file in the left sidebar which is currently

  • active in the main editor, highlighting switches when switching the open file. Eclipse has this feature though not really major.

- wish: integrated diff'ing but option to ignore some stuff like empty

  • lines/whitespace change (anywhere, at end of line, ignore changed newlines). Also option to ignore comments. use case: detect "real" changes in a po file but ignore changed file locations (or just different paths - which are present as comments)

- really really big wish: "simulate" multiple git indexes so I could craft

  • multiple commits at once. Sometimes I hack for a few hours and then I have 10-20 commits to do over a few files. Currently I use "git add -p", edit the hunks extensively but I have to skip/rework the same hunks many times to get clean commits. It would be a really big help to be able to move some simple hunks to a separate "commit" so they are "out of the way". When I'm done I enter a nice commit message, maybe reorder commits so they make more sense.

Apps/Builder/CaseStudies (last edited 2016-11-30 22:20:00 by ChristianHergert)