Case Studies
This is a place to put case studies that help us understand our users needs better.
Felix
- 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)
https://bugzilla.gnome.org/show_bug.cgi?id=749611)--
Fixed in 3.22.3
- 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)
- are gone.
- - 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
- 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
- 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">
- class Foo(object):
- "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.