mjcrouch/vscode-perforce

General feedback for changelist search and quick pick views

mjcrouch opened this issue · 5 comments

I'm opening this issue to capture general feedback on the changelist search and quick picks. Interested to get a general idea of whether they are useful and whether the interface is intuitive enough / useful enough in real-world scenarios, if you think there's anything missing or anything annoying that gets in the way of being more useful.

Obviously I'm not aiming to fully recreate P4V inside vscode, but I'm hoping that by bringing some more context about file history into the editor it can reduce the amount of time spent switching out to P4V. e.g. to investigate an issue relating to a historic change. There are limitations to what's possible using the vs code API, but little things can make a big difference to how usable it is so any inspiration is helpful.

For reference, these are the views I mean:

If you have a specific bug / enhancement request you can of course also open an issue

Going to edit this with whatever comes to mind, stuff that needs fixing at some point, can collate into issues later or just fix them

  • Deleted revisions - in the quick pick you can still annotate those which gives you an empty file, confused me for a minute - need better handling of different types
  • Moved / branched files - diff against previous in the quick pick should maybe diff against the moved from file - currently the option is hidden and you have to click "diff against.." to choose it. Possibly rename diff against previous to "diff against ..." in this case.
  • When there are a lot of revisions, and you've picked an early one, then the file history might be quite difficult - probably want an option to show / hide newer revisions
  • Quick pick doesn't show pending / submitted status of the changelist (I think)
  • Changelist search and quick pick - clicking a file open for add in a pending changelist will show an error - not sure what to do instead
  • Need a command to open the last quick pick menu without having to find a random one to open first
  • Even if you specifically search for shelved changelists, the files in the tree are "affected files" and not shelved files. Annoyingly describe doesn't show both shelved and affected files so you have to run two commands to get all of them, so not sure what the best choice is here resolved
  • Add quick pick for shelved files, e.g show shelved file / diff against working revision / go to working revision resolved - but forgot go to working revision... adding that.. Also need to add fstat to get source revision for moved files
  • Changelist search - should consider having context menu for files + click to diff, instead of opening the quick pick - probably a matter of opinion
  • Change quick pick - clicking on a job doesn't do anything - could show job details, other changes in the same job etc.
  • Unshelve via branch, could detect * in the branch name and use it to perform a search

Fantastic plugin, many thanks for working on it. Do you think it would be feasible to improve the swarm integration? For now I can find a shelf and see a diff, but being able to view and leave new comments would be a great addition.

The swarm API seems relatively straightforward, but I don't know the level of complexity that this would pose for the plugin.

Also very happy with this plugin! I have two things, maybe they already exist but I'm unsure:

  • Set a changelist, so that any newly modified files / added files go into that one automatically instead of the default
  • Moving files between changelists is a laborious process. Maybe there can be an F1 command for it? Currently it seems like the operation is SCM view -> right click on file -> Move to changelist -> select.

Hi - thanks for suggestions,

Set a changelist, so that any newly modified files / added files go into that one automatically instead of the default

I briefly discussed this in #185 and I think it would be good to be able to select a 'target' changelist for a given scm provider, but also a quite a big job to do it right, covering all the commands and taking account of all the edge cases, which I probably won't get time for any time soon

Moving files between changelists is a laborious process. Maybe there can be an F1 command for it? Currently it seems like the operation is SCM view -> right click on file -> Move to changelist -> select.

Yes having a 'reopen' / move changelist command would be a good idea and should be easy to implement (FWIW, within the scm view, the '4 arrows' icon on each file will move between changelists so no right click necessary, and you can multi-select if you have a bunch of files to move at once - but I recognise the slow bit is probably switching between views)

Would be great for a quick link to show file in remote repo. GitLens has Open File on Remote.