redhat-developer / redhat-developer/vscode-java

Renaming a Java object to change the case without changing the name does not result in a properly renamed file

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

Dieses Issue hat noch niemand übernommen.

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

Beschreibung

If you have a class, say someClassIWrote, tied to a file someClassIWrote.java and you rename the class using the F2 refactor command changing only the case, to, say, SomeClassIWrote, the filename's case does not change to match. This causes the error "The public type SomeClassIWrote must be defined in its own fileJava(16777541)" to be emitted. Renaming the file itself fixes the problem. (Interestingly, the Tab filename does not change to match.) This is probably due to a mismatch between the case sensitivity of the Linux OS vs the case insensitivity of the Windows OS.

Environment
  • Operating System: Windows 10
  • JDK version:
    openjdk version "17.0.8.1" 2023-08-24
    OpenJDK Runtime Environment Temurin-17.0.8.1+1 (build 17.0.8.1+1)
    OpenJDK 64-Bit Server VM Temurin-17.0.8.1+1 (build 17.0.8.1+1, mixed mode, sharing)
  • Visual Studio Code version: 1.85.1 (WPILib FIRST Robotics edition)
  • Java extension version: v1.30.2024042308
Steps To Reproduce
  1. Create an object
  2. Change the case of a single letter via the F2 command

I'm somewhat inexperienced with this IDE, so I will go after logs on request. I figure checking for this behavior is extremely easy.

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 mit dem F2-Umbenennungsbefehl in der VS Code Java extension und reproduziere unter Windows die Umbenennung einer Klasse, bei der sich nur die Groß-/Kleinschreibung ändert. Verfolge, wie die Umbenennung die Java-Datei und den Editor-Tab aktualisiert; als erledigt gilt, wenn beide der Groß-/Kleinschreibung des neuen Klassennamens entsprechen und die Diagnose zum öffentlichen Typ nicht vorhanden ist.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

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

Neue Issues direkt in Ihr Postfach

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