Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sorting of entries in the refactor preview puts checked items last instead of first #94210

Closed
sean-mcmanus opened this issue Apr 1, 2020 · 10 comments
Assignees
Labels
feature-request Request for new features or functionality help wanted Issues identified as good community contribution opportunities ux User experience issues workspace-edit

Comments

@sean-mcmanus
Copy link
Contributor

sean-mcmanus commented Apr 1, 2020

  • VSCode Version: 1.43.2
  • OS Version: Windows or others.

Steps to Reproduce:

  1. See issue Better sorting of entries of refactor preview #90664 , that says "We should make sure that categories with unconfirmed changes go atop, files should be sorted by name and changes by line number".

Expected: Our C/C++ extension would prefer the opposite behavior with the confirmed changes going on at the top, which is what was originally requested at #77728 (comment) and what matches Visual Studio's C++ Rename preview:

image

Was there a reason the opposite sorting was desired? Our Find All References UI (and our current Rename UI) puts the confirmed/checked references at the top, so flipping the order for rename is confusing to our users. In many scenarios, users just want to preview the confirmed/checked references, and they skip the other stuff, which is why we'd prefer the other types of unconfirmed/unchecked references to be at the bottom, since those types are less likely to be renamed.

Does this issue occur when all extensions are disabled?: Yes

@vscodebot
Copy link

vscodebot bot commented Apr 1, 2020

(Experimental duplicate detection)
Thanks for submitting this issue. Please also check if it is already covered by an existing one, like:

@sean-mcmanus sean-mcmanus changed the title Sorting of entries in the refactor preview puts unchecked items last instead of first Sorting of entries in the refactor preview puts checked items last instead of first Apr 1, 2020
@sean-mcmanus
Copy link
Contributor Author

@vscodebot Not a duplicate.

@jrieken jrieken self-assigned this Apr 2, 2020
@jrieken jrieken added under-discussion Issue is under discussion for relevance, priority, approach ux User experience issues workspace-edit labels Apr 2, 2020
@jrieken
Copy link
Member

jrieken commented Apr 2, 2020

Was there a reason the opposite sorting was desired?

The idea is that un-confirmed results need human eyes to check wether they should be included or not. For those that the computer is certain no check is needed, hence it is less important. That's the line of thought here. Disagreement?

@bobbrow
Copy link
Member

bobbrow commented Apr 2, 2020

I think part of the concern here is that the panel these results are appearing in is not very tall (by default), so the user is often presented with a bunch of empty check boxes as if the extension couldn't figure out any of the renames on its own. They'd have to scroll down to see that we had confidence about any of the rename candidates. Putting the confirmed references at the top gives users more confidence in our extension's results.

Another option: Put the confirmed ones at the top and collapse the node?

@sean-mcmanus
Copy link
Contributor Author

sean-mcmanus commented Apr 2, 2020

This is a visual before and after example of what we're concerned about:

After (confirmed at the bottom):
image

Before (confirmed at the top):

image

Yes, unchecking a confirmed reference is unlikely, but to me it’s mostly about seeing/previewing what the rename will do as a 1st step, and then when that looks good I might look at the other stuff I might want to add (i.e. it’s the “read order” that makes sense to me).

However, we could wait till we publish our next Insiders and see if we get any customer feedback on the new UI and sort order.

@bobbrow
Copy link
Member

bobbrow commented Apr 3, 2020

but to me it’s mostly about seeing/previewing what the rename will do as a 1st step, and then when that looks good I might look at the other stuff I might want to add (i.e. it’s the “read order” that makes sense to me).

This makes sense to me. I think the discussion here is whether rename "preview" should prioritize previewing what is about to happen (the confirmed references) or whether it prioritizes previewing what might be skipped by the operation. I agree with @sean-mcmanus that it is about the former.

@jrieken jrieken added feature-request Request for new features or functionality help wanted Issues identified as good community contribution opportunities and removed under-discussion Issue is under discussion for relevance, priority, approach labels Apr 3, 2020
@jrieken jrieken added this to the Backlog milestone Apr 3, 2020
@sean-mcmanus
Copy link
Contributor Author

Here's another reason why confirmed/checked references should be shown first for C++ -- 2 different objects of different types sometimes get confirmed as the same reference when they're not.
image

I filed VS bug https://developercommunity.visualstudio.com/content/problem/1014321/c-intellisense-find-all-references-confirms-refere.html , but I don't believe it's a regression and may be considered a "by design limitation", so I'm not expecting it to be fixed soon.

@jrieken jrieken modified the milestones: Backlog, Backlog Candidates Oct 15, 2021
@github-actions github-actions bot locked and limited conversation to collaborators Jan 31, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
feature-request Request for new features or functionality help wanted Issues identified as good community contribution opportunities ux User experience issues workspace-edit
Projects
None yet
Development

No branches or pull requests

4 participants
@jrieken @bobbrow @sean-mcmanus and others