-
Notifications
You must be signed in to change notification settings - Fork 401
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
Use history relevance when sorting completions based on the usage of those completion items #2484
Comments
I like the idea, but implementing it would lead to pretty convoluted conversations between the client and the server. First, the server has no clue about which completion was selected and applied, only the client knows.
This might lead to some perf degradation as this would add one more roundtrip on every completion, I dunno, but that's how it could work |
I vote for smart code completion based on context and history. Currently jdt.ls already supports returning the selected completion item without adding additional client-side code. IntelliCode has adopted this behavior. |
Similar request in redhat-developer/vscode-java#3341 . I don't like the approach of tracking it ourselves because I think searching by references in the search engine (index) would be much nicer. The problem is obviously performance. There's no way we can search each type/method immediately on the completion request to set What if we created our own index category table (or augmented the existing type/method decl. ones) that mapped a given type/method decl. to the number of times it's referenced in the project ? That lookup should be easier, and it shouldn't add that much more time to the indexing because we already index all the references anyways. |
When working with Unit Tests we tend to use the Assertions.assertThat() method a lot. So when I type assertThat I expect the suggestion with mostly used method in my current test to be on top instead of the order of methods in the Assertions class.
The text was updated successfully, but these errors were encountered: