-
Notifications
You must be signed in to change notification settings - Fork 29.8k
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
make finding all references more user-friendly #22261
Comments
@Microsoft/vscode thoughts? |
One suggestion: populate a left-side tab/button (along the lines of Explorer, Search, etc.) with the search results and then allow clicking/wheeling/scrolling through the results. This probably shouldn't re-use the current Search view as one might want to retain both lists of results. |
I'm a big fan of using the panel part for this (where Output / Problems etc live). Rift view is great for things that are relevant to the piece of code you're looking at as it keeps context of where you launched it (peek definition works perfectly), but for something that touches / references multiple files the way the References view does, it makes sense for it to be docked and therefore visible across files. Adding a 'References' tab to the bottom panel, and rendering the references rift view in it would be 90% of the work needing to be done. Knowing how to keep the context of the original token clicked / code referenced would be the UX concern needing most work. This ticket doesn't have much interest, I'd be interested to know if people simply prefer the rift view than one of these suggestions? |
+1 from me. Am in the middle of refactoring a typescript project, and it's getting just a tad painful. Wishing the results of Find All References can be pinned or made persistent, until manually cleared. Personally, I think it would fit very well into the Search pane. |
fyi - I once did a sample extension of a virtual document provider which shows results of reference search in a separate (persisted) editor: https://marketplace.visualstudio.com/items?itemName=jrieken.references-plusplus |
Pretty please with sugar on top? It is basically impossible to navigate large codebases when the only tool at my disposal is the |
Thanks for the feedback. There are a few things we should do:
|
The proposed changes would be an improvement, but I want to offer two opinions:
I understand that some people probably like peek view and it is useful in some circumstances, but it would be nice for there to be a viable (configurable) alternative. |
I am also not a fan of the peekview. I found it super confusing when I started using VS code. In fact, I think it was the main thing that caused me to discard VS Code when I first tried it; I only gave it another shot after encouragement from a colleague, and have since grown to love it on the whole :). But I haven't grown to love peekview over time. My preference would be: a) for it to be configurable whether find references would use the peek view or a regular search results window. I think being able to treat "find references" as a regular search would be much more user friendly - you are essentially searching for places in the code, after all, just using different search criteria. Why should the visuals & navigation differ between the two? |
+1 to putting the results in the standard "search" sidebar. We've already got a place for "list of search results pointing to sections in files". Also would avoid losing vertical space to a problems tray. That said, I would also take the problems tray approach. As long as the view persisted and got out of the main editing area, I would be happy. |
Whenever I try to use Find References now, it just adds to my confusion. The file within a file view (peekview? rift?) just doesn't work for me. I would have expected the results to show up in the left pane or the bottom pane. I'd like to suggest a configuration option that changes this behavior. |
+ Separate window (preferably in landscape view at the bottom; like Terminal, Problems, Output etc) |
I think the implementation of "search.location": "panel" (issue #45063 ) and the new Search panel that comes with it would be a perfect opportunity to implement this feature request. If Find All References results went to the new Search panel that would be perfect. |
Merging discussion from #44414 (comment) into this issue. For the March release we are adding F4/Shift+F4 to navigate across results in reference search. On top, this should work after closing the peek view widget (or moving the peek view widget into the bottom panel). |
@jrieken I was real excited to see 1.22 (March release) appear in order to try this out - but I just tried it out there, and while F4/Shift-F4 seems to work while the peek view is open, it doesn't seem to work after closing it. I'm also not clear if/how you can move the peek view widget into the bottom panel (is that already possible? I'd like to try that if so). I get the impression from #44414 that these changes got pushed back a release ("Closing this as we have F4/Shift-F4 in latest insiders. The continuation, esp. navigating references without peek view, is now tracked in #22261"). Any idea on a new ETA? Thanks in advance, Andy |
+1 putting ref results in persistent panel like in any other productive IDE. Current implementation is totaly useless (unless you searching for one concrete ref, which is, in my point of view, minor usecase). Current impl forcing to use of search for anything else (for example refactoring). |
Any updates on this? Plenty of design feedback in this thread. No reason to hold off on scheduling this into a future milestone? |
I have to say I've stuck with the peek window for references and tried to find benefit in it and get used to it. for over 18 months. For me at least it's still really cumbersome. +1 for simply putting the found references in a panel, or just like the search results are done. Being able to pin the results, and have new sets of references in a new panel / search results areas would be a bonus :) (Sorry about the gripe, VS Code is fantastic in general). |
Going to chime in here as well; peek view is not optimal for most of my |
+1 for putting the found references in a panel |
I also detest the peek view window, like many users here. I thought I would add my two cents because there are couple things that I don't know if they have been said:
I would be happy with either the solution that Sublime employs (search results in another tab), or the one from regular VS/Resharper (search results in a dockable at bottom). Or even, as other people suggested, it would be fine to have the search results displayed in the left docked bar as the regular ctrl-shift-f search results do. Though again that solution has the horizontal real estate problem for me, I like to keep my left-docked bar skinny and find that every time i do a search I need to drag it wider and then narrow it again when I am done. So, displaying search results in a new buffer or in a bottom-docked window would be ideal. |
@uglycoyote not sure which search you are talking about but if you add |
@haugerbr that's good to know, thanks! I tried all kinds of tricks to mouse-drag the search results down to the bottom. Having to configure this in json settings is not very discoverable, but I'm glad it's there. Now, if only there were an equivalent |
@uglycoyote it's also discoverable right clicking on the search panel although it says |
@stevencl @jrieken Any update on this? Please add a setting as The major problem is that the overlay closes when one merely wanted to open the code location for better editing (double-clicking the code or switching the tab and gone are the results, which is very annoying). It is rather difficult to position the overlay in a way that enough code is visible for editing, and nested scrolling adds no benefits either. Also it is not easily distinguished visually from the code below the overlay. A splitted tab layout would be better here. |
Sorry for the radio silence and lack of updates. We are now starting to get around to discussing this and it's on our UX backlog of work. Unfortunately I have no concrete updates at the moment though. |
No problem, enjoy the UX planning. |
For the upcoming October release we will bundle a references view extension with VS Code (https://github.com/Microsoft/vscode-reference-view). This is available and installed by default in latest insiders: https://code.visualstudio.com/insiders/. Please give it a try. #HappyCoding! |
That sounds great! I went to install the extension V0.0.6 into my regular VSC, instead of using the separate Insider edition. No errors to be found in the console. |
Yeah, you MUST use latest insiders for this because it uses some API that came in hot 🔥 |
@jrieken that's really exciting that something is finally happening with this, and we may finally be freed from having to view these results in the wretched peek window. However I do have a couple of concerns about the solution that is being implemented:
|
In addition to the above. As a user of vscode, I expect my find references
hot key combination to open the side bar list. It seems list references is
not bound to the same hot key combination.
…On Sun, 4 Nov 2018, 11:14 uglycoyote ***@***.*** wrote:
@jrieken <https://github.com/jrieken> that's really exciting that
something is finally happening with this, and we may finally be freed from
having to view these results in the wretched peek window. However I do have
a couple of concerns about the solution that is being implemented:
- It's confusing now that there's going to be two different context
menu options for this, from the looks of your screenshots, we now have
"Find all References" and "List all References". I assume both of these are
supposed to find the same collection of results and just display them in a
different format. Both the old and the new context menus are "finding"
stuff, and both are displaying the results in a "list" of sorts. So, the
language used here in these context menu options seems unhelpful in
disambiguating between the two options.
- Wouldn't it be better to make this a setting? I propose that a
better UI would be a setting called "Display 'Find References' Results
as..." with choices that are something like ["Sidebar", "Inline, in Peek
Window"] or whatever terminology makes sense and clearly distinguishes
between the two different methods that the results can be shown as. My
preference would be to never, ever, see the peek window again in my
lifetime, and would rather not have a context menu option that i might
accidentally open the peek window with.
- It seems odd and perhaps bad that this is being implemented as an
"extension". Other features such as "Find in Files" display their results
in a sidebar. Are those implemented as "extensions" as well? Why shouldn't
the "Find References and display in sidebar" be just a native part of the
core application functionality? Maybe this is partly related to my first
concern, as I assume that the reason why this is a second context menu
option is *because* it is an extension, i.e, extensions probably don't
have the ability to change the functionality of existing context menu
options, only to add new context menu options. What other aspects of the
functionality are crippled by this being an "extension"? How can we be
confident that both options will give the same results if one is "native"
and the other is an "extension"?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#22261 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ADyZVcXi4sls5MCbwgCJ44Y_n8y2ww8Xks5urhUsgaJpZM4MXfMf>
.
|
Sure, this is to complement this existing peek UI and not to replace it. We generally do not take something away from users. You might disagree but many users actually like the peek UI and taking that away isn't an option. We have issues to add a setting to disable peek view (#53164) and we track user defined (context) menus, see #9285. Already, today you can configure (and overwrite) the keybinding to be whatever you like best.
Disagree - it shouldn't be either-or but use what ever is best for you, e.g. users might use peek for a quick glance to understand how some piece of code is being used while the references view is a more stable list that can be used as a todo list.
It is always another extension that provides the data, VS Code just presents that data. Having this as an extension is a good thing because it means we validate and improve the extension API for something we ship. That means the API will improve and that means every extension will benefit from this. |
Closing this now as we have a first version in insiders (http://code.visualstudio.com/insiders/). Further issues should be raised here: https://github.com/Microsoft/vscode-references-view/issues |
From @bruceauyeung on March 7, 2017 8:45
Finding all references
will popup a window to show all references, i think it's a little hard to use, i am not blaming vscode-go, maybe it's vscode's limitation because vscode don't provide a view similar with output, problem etc.so i suggest:
1, if it's possible, display references in a view similar with problem etc, not in a popup window. if not,
2, do not close window when left part of menu bar is clicked or dragged, only close window when close button is close or content part of window is double-clicked.
Copied from original issue: microsoft/vscode-go#845
The text was updated successfully, but these errors were encountered: