Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

Method parameter with many annotations gets unintuitive indentation

Offen
#1,267 5 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Anfängerfreundlichkeit
45/100
Issue-Typ
Bug
Klarheit
Klar beschrieben
Aktivitätsstatus
Veraltet
Tech-Stack
java
Bereich
tooling

Rechercherichtung

Beginne damit, die im Issue gezeigte Java-Reproduktion zu formatieren, und vergleiche die tatsächliche und die erwartete Einrückung. Verfolge den Einstiegspunkt des Formatierers, der für Methodenparameter und Annotationen verantwortlich ist; abgeschlossen ist die Aufgabe, wenn alle Annotationen und der Parameter dieselbe Einrückung haben und ein Regressionstest dieses Beispiel abdeckt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

The first annotation is indented as expected, but any additional annotations and the method parameter itself get an additional indent. I'd expect all lines to have the same indentation.

To reproduce, format:

import io.swagger.v3.oas.annotations.Parameter;
import org.springframework.web.bind.annotation.RequestParam;
import jakarta.validation.Valid;
import jakarta.validation.constraints.NotNull;
import java.util.Locale;

class Test {

    void foo(@NotNull @Parameter(name = "Indicates the language of the label to search", required = true) @Valid @RequestParam(value = "language", required = true) Locale language) {}
}

Actual (using the native executable built from 61eabd62d6a461c27621ebc77240345e40fb60b4):

import io.swagger.v3.oas.annotations.Parameter;
import jakarta.validation.Valid;
import jakarta.validation.constraints.NotNull;
import java.util.Locale;
import org.springframework.web.bind.annotation.RequestParam;

class Test {

  void foo(
      @NotNull
          @Parameter(name = "Indicates the language of the label to search", required = true)
          @Valid
          @RequestParam(value = "language", required = true)
          Locale language) {}
}

Expected:

import io.swagger.v3.oas.annotations.Parameter;
import jakarta.validation.Valid;
import jakarta.validation.constraints.NotNull;
import java.util.Locale;
import org.springframework.web.bind.annotation.RequestParam;

class Test {

  void foo(
      @NotNull
      @Parameter(name = "Indicates the language of the label to search", required = true)
      @Valid
      @RequestParam(value = "language", required = true)
      Locale language) {}
}
Vorherrschende Sprache
Java
Sterne
6.2k
Forks
936
Ø Merge
6 Min.
Gemergte PRs (30 T.)
3

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus google/google-java-format

Alle Issues in google/google-java-format

Ähnliche Issues

Weitere Issues zu Java

Neue Issues direkt in Ihr Postfach

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