redhat-developer / redhat-developer/vscode-java

Renaming fields causes conflicts with variable naming, resulting in changes in code behavior

Offen
#3,615 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

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

Beschreibung

[provide a description of the issue]

Environment
  • Operating System:
  • JDK version:
  • Visual Studio Code version:
  • Java extension version:
Steps To Reproduce

1.select "originalField"
2.click “Rename”
3. new name "originalFieldRenamed"

class MyClass {
// rename "originalField" to "originalFieldRenamed"
private final int originalField = 10;
protected int protectedField;

public void myMethod() {
int originalFieldRenamed = 20; // Local variable with the same name as the field
System.out.println(originalField);
}
}
refactoring result:
image

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, die aufgeführten Umbenennungsschritte im Java-Beispiel nachzuvollziehen, und vergleiche die resultierenden Referenzen mit der beabsichtigten Umbenennung des Felds. Verfolge den Pfad des Java-Umbenennungs-Refactorings, um festzustellen, warum sich das Verhalten einer lokalen Variable mit dem neuen Feldnamen ändert; abgeschlossen bedeutet, dass die Umbenennung für dieses Beispiel die Semantik der lokalen Variable und des Felds bewahrt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java, typescript, vscode
Bereich
developer-experience, devtools
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

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