spring-projects / spring-projects/spring-tools

Incremental update in properties editor completion is broken

Open
#844 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

for: eclipse status: needs-investigation theme: code completion theme: property-editing-support type: bug
Dominant language
Java
Stars
983
Forks
240
Avg merge
7d 1h
Merged PRs (30d)
7

Description

Describe the bug

Incremental update where completions 'update as you type more letters' seems to be broken in Eclipse (maybe also in vscode, but haven't confirmed / tried that).

I think it is not correctly handling the case where a large number of results is initially incomplete. When we continue typing this incomplete list is filtered down further, but for correct operation it should instead request a new list of completions, otherwise the most relevant completions may be missed.

To Reproduce

  1. Import attached sample project
    demo.zip

  2. open application.properties

  3. slowly type 'some.' (i.e one letter at the time waiting each time to get completions / updated completions as you type).

Observe:

  • there is supposed to be a property called 'some.name' but it isn't suggested. Some other things are suggeste and they are 'correct matches' but they are really poor matches (i.e. fuzzy mathces with many / big gaps between the letters that were typed).

To see the behavior that should be expected... do the following:

  1. press ESC to close the completion window
  2. type CTRL-space to invoke completion request again (so you immediately get completions for some. in a single, non-incremental completion request).

Observe:

  • now that we get the completion in a 'non-incremental' way we get some.name suggested at the top of the list.
    This is also the result we would have wanted/expected to see when we type slowly/incrementally. (i.e. the speed of typing should not really impact the suggestions that you get in the end).

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Import the attached demo.zip, open application.properties, and reproduce the incremental completion behavior by typing some. one letter at a time. Compare it with a fresh CTRL-space completion request; done means incremental typing suggests some.name consistently, matching the non-incremental result.

Written by the indexing model from the issue text.

Assessment

Domain
tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.