redhat-developer / redhat-developer/vscode-java

auto completion inserting already-existing text ("overwrite" to the right)

Offen
#3,312 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
TypeScript
Sterne
2.3k
Forks
546
Ø Merge
20 Std. 1 Min.
Gemergte PRs (30 T.)
11

Beschreibung

code completion unnecessarily not "overwriting" to the right (Java specific? language specific fixes with compile-check "smarter" "smart" acceptSuggestion possible)

TLDR; just look below at image attachments (step 1, 2, 3)

at the basic, this isn't language specific, but language enhancements possible

"overwriting" or "contextual insert" or "surrounding check" or "duplicate surround text" might be a better term

Not sure where to file this at the "editor." level

filing in vscode-java for language specific completion enhancement ability (less so for compile check, mores to not overwrite text that is suppose to be repeated, but ymmv)

discussion

fixes would include:

  1. just don't write duplicate text
  2. a property with options (as its possibly "destructive", though I'd prefer the "destructive" option here)
  3. language specific fix (bonus: detect which actually compiles)

between image 2 and image 3, both [tab] and [enter] seem to have the same results, so maybe this could be considered in configuration (on tab, check/replace same surrounding text, on enter just insert)

tried following settings, no difference observed:

"editor.acceptSuggestionOnEnter": "smart",
"editor.acceptSuggestionOnEnter": "on",

wanted:

"editor.acceptSuggestionOnEnter": "overwrite" or ("replacesame"),
"java.completion.acceptReplaceMode": "compile"

or
"editor.acceptSuggestionSurroundMode": {
 "replaceSame": ,
}

Also, separately, but not,

  1. editor.suggest isn't ordering by preexisting surround text
  2. language-specific e.g. "java.completion.orderByPriorityStaticMode": "preexisting" surround check could handle ordering better
  3. bonus language-specific e.g. "java.completion.orderByPriorityCompileCheck": "true" surround check could handle ordering
Environment
  • Operating System: N/A
  • JDK version: N/A
  • Visual Studio Code version: 1.82.2
  • Java extension version: 1.22.1
  • Java Debugger extension version: N/A
Steps To Reproduce

Here's a simple setter-to-fluent workflow change, but I seem to hit this case of not looking at preexisting text to the right

vscode-completion1
vscode-completion2
vscode-completion3

Current Result

see image 3

Expected Result
  1. don't not overwrite the same text as is being replaced (no idea about ALL cases, but something could be done, but maybe language specific)
  2. property options on "surrounding smartness"
Additional Informations

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne damit, den setter-to-fluent-Workflow mit den aufgeführten VS Code- und vscode-java-Versionen nachzustellen, wobei Tab und Enter sowie die angegebenen Vorschlagseinstellungen verglichen werden. Da keine Quelldatei oder kein Test genannt ist, ermittle zunächst das Verhalten beim Akzeptieren von Editorvervollständigungen und dessen Integration in die Java-Erweiterung. Als erledigt gilt die Aufgabe, wenn umgebender doppelter Text nicht eingefügt wird und die beabsichtigte Konfiguration oder das sprachspezifische Verhalten verifiziert ist.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java, typescript, vscode
Bereich
developer-experience, tooling
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.