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

Ouverte
#3,513 5 commentaires 1 réaction 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

formatter
Langage dominant
TypeScript
Étoiles
2.3k
Forks
546
Merge moyen
20 h 1 min
PR mergées (30 j)
11

Description

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

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par reproduire le comportement du formateur avec les paramètres lineSplit et tabulation.size fournis, en faisant varier la taille des tabulations de VS Code. Suivez l’endroit où la longueur de ligne du formateur Java est calculée et vérifiez le résultat par rapport à Expected Result : le découpage des lignes doit utiliser tabulation.size plutôt que la taille des tabulations de l’éditeur.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
java, vscode
Domaine
developer-experience, tooling
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.