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

Allow "fuzzy" substring symbol search, similar to Go To File (CTRL+P) and Completion #2751

Closed
sherryyshi opened this issue Oct 31, 2018 · 23 comments
Assignees
Labels
Feature Request fixed Check the Milestone for the release in which the fix is or will be available. Language Service Visual Studio Inherited from Visual Studio
Milestone

Comments

@sherryyshi
Copy link
Contributor

Is it possible to support substring searching in Symbol Search, just like the way the search in Go to File (CTRL+P) works today?

@sean-mcmanus
Copy link
Collaborator

We already support substring search. Can you provide repro details where this is not working?

@sean-mcmanus sean-mcmanus added bug Language Service more info needed The issue report is not actionable in its current state labels Oct 31, 2018
@sherryyshi
Copy link
Contributor Author

For Go To File, you can type something like foobar and it would be able to find foo_baz_bar.cpp. However for Go To Symbol, that's not possible. Some of our users noted that the experience is inconsistent. They are big fans of the Go To File substring search, and would love to have the same feature for symbol search

@sherryyshi sherryyshi changed the title Allow substring symbol search Allow advanced substring symbol search, similar to Go To File (CTRL+P) Nov 1, 2018
@bobbrow
Copy link
Member

bobbrow commented Nov 1, 2018

@sean-mcmanus, @sherryyshi is asking for "fuzzy" search (as we refer to it) like we have for completion, etc.

@bobbrow bobbrow added Feature Request and removed more info needed The issue report is not actionable in its current state bug labels Nov 1, 2018
@sherryyshi sherryyshi changed the title Allow advanced substring symbol search, similar to Go To File (CTRL+P) Allow "fuzzy" substring symbol search, similar to Go To File (CTRL+P) and Completion Nov 1, 2018
@sean-mcmanus sean-mcmanus added this to the Triage milestone Nov 1, 2018
@StanBright
Copy link

Coming from Sublime, that would be a killer feature for me too.

@sidhuhere
Copy link

This is a killer feature and I miss this very much coming to VS Code from Source Insight.

@sean-mcmanus
Copy link
Collaborator

sean-mcmanus commented Dec 3, 2019

I don't think VS implements this either. I actually implemented this 8 months ago in response to #3416 (well, that was for completion instead of symbol search, but the code chang would be similar) , but after consulting the VS team I discovered that the addition of "*" wild cards to add the fuzziness was expected to have a major performance hit (for large databases), so I abandoned the change. However, I believe the PR change could be revived if we added an opt-in setting, which would allow users who really want the feature to get it (assuming they're okay with the performance...or maybe a separate "fuzzy go to symbol" command instead of a setting).

@ppggff
Copy link

ppggff commented Mar 17, 2020

Any update about this feature?

@sean-mcmanus sean-mcmanus added the more votes needed Issues that have been postponed until more community members upvote it label Mar 17, 2020
@sean-mcmanus
Copy link
Collaborator

@ppggff No updates. It's not on our schedule to get implemented (more upvotes needed).

@github-actions github-actions bot modified the milestones: Triage, Backlog Oct 17, 2020
@github-actions
Copy link

This feature request has received enough votes to be added to our backlog.

@github-actions github-actions bot removed the more votes needed Issues that have been postponed until more community members upvote it label Oct 17, 2020
@ppggff
Copy link

ppggff commented Jan 25, 2022

Any plan about this feature in 2022?

@sean-mcmanus
Copy link
Collaborator

sean-mcmanus commented Jan 25, 2022

@ppggff Not yet. We're working on other features (clang-tidy integration, create definition from declaration, etc.). However, I think it'd be pretty quick for us to add an opt-in setting to enable it, and a few lines of code to implement (there's already a PR that implements this, but it was abandoned due to potential performance reduction).

@ppggff
Copy link

ppggff commented May 17, 2022

Any plans to fix this?

@sean-mcmanus
Copy link
Collaborator

@ppggff Same as 4 months ago, i.e. not currently.

@gayanper
Copy link

@sean-mcmanus I have a suggestion to implement this feature, But still not suffer from the performance penalty you mentioned with * & fuzzy search.

What if we ignore the * from the query when we try to compare with the results using fuzzy search ? The * will only be for the LSP queries to handle if they support wild card searches.

So a query sent to LS will look as follows Concurrent*Queue will return all symbols start with Concurrent and ends with Queue if the LS supports.

Then at vscode client side, We remove all * from the query and use ConcurrentQueue as the fuzzy search query which will also highlight the items which matched the LS query with wild card as it works in file search.

WDYT ?

@sean-mcmanus
Copy link
Collaborator

@gayanper I don't understand your suggestion. The only "*" usage is in the low level details of our implementation in cpptools and not at any higher level (user input or TypeScript).

@gayanper
Copy link

@sean-mcmanus i think my suggestion should goto vscode. When i made my suggestion I thought i was reading a vscode. But now i see its ccptools. Sorry

@starball5
Copy link

Possibly related VS Code issue tickets: microsoft/vscode#33746 and microsoft/vscode#156865.

Possibly related Stack Overflow question: How can I search symbols with partial words in VS Code with IntelliSense?

@Shaka0723
Copy link

@ppggff Not yet. We're working on other features (clang-tidy integration, create definition from declaration, etc.). However, I think it'd be pretty quick for us to add an opt-in setting to enable it, and a few lines of code to implement (there's already a PR that implements this, but it was abandoned due to potential performance reduction).

Hi @sean-mcmanus , one more year again and any plan to add the opt-in setting?
In my opinion, this should be a high-priority feature

@gayanper
Copy link

Does this change solve this requirement microsoft/vscode#159377 ?

@sean-mcmanus sean-mcmanus modified the milestones: Backlog, Tracking Mar 10, 2023
@sean-mcmanus sean-mcmanus added the Visual Studio Inherited from Visual Studio label Mar 10, 2023
@sean-mcmanus
Copy link
Collaborator

I've filed a feature request on VS at https://developercommunity.visualstudio.com/t/Add-C-fuzzy-symbol-search/10306966 -- if VS adds that feature then we should get that as well. I've mentioned the upvotes on this issue, but upvoting that VS issue may help as well.

@gayanper I don't understand your PR.

@Shaka0723
Copy link

one more half year passed and any progress made?
I am being suffered on lack of this feauture.
Hope it can be merged asap

@sean-mcmanus
Copy link
Collaborator

@Shaka0723 No progress yet. It's currently the 10th most upvoted feature request. We're currently working on the 1st most upvoted feature request. See https://github.com/Microsoft/vscode-cpptools/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc+-label%3Adebugger .

@sean-mcmanus sean-mcmanus modified the milestones: Tracking, 1.19 Jan 16, 2024
@bobbrow bobbrow added the fixed Check the Milestone for the release in which the fix is or will be available. label Feb 13, 2024
@fearthecowboy
Copy link
Member

A significant update to Go To Symbol has been published in the insiders build - see #11557

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Feature Request fixed Check the Milestone for the release in which the fix is or will be available. Language Service Visual Studio Inherited from Visual Studio
Projects
None yet
Development

No branches or pull requests