redhat-developer / redhat-developer/vscode-java

Java formatter ignores org.eclipse.jdt.core.formatter.tabulation.size and uses editor's 'tab size' when calculating line split

Aperta
#3,513 5 commenti 1 reazione 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

formatter
Lingua principale
TypeScript
Stelle
2.3k
Fork
546
Merge medio
20h 1m
PR unite (30g)
11

Descrizione

Java formatter ignores org.eclipse.jdt.core.formatter.tabulation.size and uses editor's 'tab size' when calculating how lines should be split. This makes it difficult for users to use their preferred indentation size without throwing off source control history diffs.

Environment
  • JDK version: openjdk version "17.0.10" 2024-01-16 LTS
  • Visual Studio Code version: 1.86.2
  • Java extension version: 1.28.1
Steps To Reproduce

Relevant settings:

  • Java formatter <setting id="org.eclipse.jdt.core.formatter.lineSplit" value="120"/> and <setting id="org.eclipse.jdt.core.formatter.tabulation.size" value="4"/> in my java formatter
    (full formatting file: java-formatter.xml.txt))
  • VS Code set to tab size: 4

If I have a line that is 121 characters, the formatter will wrap appropriately. However, if someone else has their tab size:2, the total line length is calculated to be less than 120, and thus will unwrap the lines wich throws off the file history diffs.

Current Result

Line split is calculated based on VS Code's tab size setting, instead of the formatter's tabulation.size

Expected Result

Line split should be calculated based on the tabulation.size setting, to allow users to have their preferred tab size within VS Code

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia riproducendo il comportamento del formatter con le impostazioni lineSplit e tabulation.size fornite, variando la dimensione delle tabulazioni di VS Code. Traccia dove viene calcolata la lunghezza delle righe del formatter Java e verifica il risultato rispetto a Expected Result: la suddivisione delle righe deve usare tabulation.size invece della dimensione delle tabulazioni dell’editor.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
java, vscode
Ambito
developer-experience, tooling
Tipo di issue
Bug
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.