ForHosting KIT · Texte et IA

Convertir tabulations en espaces

Une tabulation en début de ligne devient 4 espaces, mais une tabulation placée après un caractère en devient 3 : chacune saute au taquet suivant, l'alignement est donc conservé et le fichier ne contient plus que des espaces. Gratuit dans votre navigateur.

  • Gratuit
  • Fonctionne dans votre navigateur
  • Sans inscription
  • Vos données restent sur votre appareil
Utilisez-le depuis WebAPIE-mailTelegramApp bientôt
Si vous saisissez
Texte
function hi() { return true; }
Taille de la tabulation
4
Vous obtenez
Texte
function hi() { return true; }
Tabulations remplacées
1
Espaces ajoutés
4
Caractères avant
31

Le mélange de tabulations et d'espaces est l'un des conflits de style les plus fréquents dans les équipes logicielles, et aussi l'une des sources les plus discrètes de diffs cassés, de correctifs invalides et de linters d'intégration continue qui rejettent l'envoi. Cette capacité parcourt chaque ligne de gauche à droite, avance un compteur de colonne pour chaque caractère et, lorsqu'elle rencontre une tabulation, insère juste assez d'espaces pour atteindre le prochain tab-stop de la largeur que vous choisissez. L'indentation de bloc en tête de ligne et les tabulations d'alignement en milieu de ligne sont toutes deux développées. Les espaces déjà présents ne sont pas touchés, vous ne compactez donc pas les écarts volontaires de plusieurs espaces.

Comment les tab-stops développent les tabulations en espaces sans perdre l'alignement

Un caractère de tabulation n'est pas un nombre fixe d'espaces ; c'est un saut jusqu'au prochain multiple de la taille de tabulation mesuré depuis le début de la ligne. Les éditeurs et les terminaux utilisent cette règle pour qu'une tabulation après une courte étiquette et une autre après une longue atterrissent sur la même grille de colonnes.

L'indentation initiale écrite avec une ou plusieurs tabulations devient donc un multiple propre d'espaces, et les tabulations en ligne utilisées pour aligner des commentaires ou des listes de paramètres conservent leurs colonnes visuelles au lieu de se transformer en un remplacement brutal de chaque tabulation par la même suite fixe d'espaces. Les retours chariot sont préservés pour les fichiers CRLF sans réinitialiser la colonne avant le saut de ligne, de sorte que les fins de ligne Windows ne brouillent pas l'arithmétique des colonnes.

Quand convertir les tabulations en espaces est utile

Les pipelines de style ont souvent besoin d'une réécriture déterministe avant des formateurs qui supposent une indentation uniquement en espaces, ou après des imports depuis des éditeurs qui émettent encore des tabulations dures. Les sites de documentation et les plateformes de défis de code qui acceptent des rendus d'étudiants peuvent normaliser les tabulations côté serveur pour que les correcteurs automatiques comparent des fichiers purement espacés et ne échouent jamais sur des différences invisibles de tabulation.

Les équipes de contenu qui se positionnent sur convertisseur tabulations espaces bénéficient d'un parcours navigateur gratuit identique octet pour octet au parcours d'automatisation payant, afin que le marketing et les runbooks d'ingénierie ne divergent pas. Une validation en échec ne consomme pas le solde.

Devoirs et soumissions LMS

Normalisez le code étudiant à l'envoi pour que les correcteurs automatiques comparent des fichiers uniquement en espaces et n'échouent pas sur des tabulations invisibles.

Comment le convertisseur développe-t-il chaque tabulation ?

Tabulations initiales et internes s'étendent ainsi et l'alignement visuel est conservé.

Que se passe-t-il si mon texte n'a aucune tabulation ?

Vous pouvez éviter de réécrire le fichier lorsque changed est false.

Pourquoi une tabulation est-elle devenue trois espaces au lieu de quatre ?

Parce qu'une tabulation est un saut jusqu'au taquet suivant, pas un bloc fixe d'espaces. Avec une largeur de 4, une tabulation placée après un caractère n'a besoin que de trois espaces pour atteindre ce taquet.

Quelle largeur de tabulation choisir ?

Prenez la largeur attendue par votre éditeur ou votre guide de style. La valeur par défaut est 4, le réglage courant des éditeurs modernes, et tout entier de 1 à 16 est accepté, ce qui couvre aussi le style à deux espaces.

Les fins de ligne Windows sont-elles conservées ?

Oui. Les retours chariot restent tels quels et le décompte des colonnes ne repart qu'au saut de ligne : les fichiers aux fins de ligne Windows gardent les mêmes fins et des colonnes bien alignées.

Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.

POSThttps://api.kit.forhosting.com/dev/tabs-to-spaces

Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.

curl -X POST https://api.kit.forhosting.com/dev/tabs-to-spaces \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"function hi() {\n\treturn true;\n}"}'
{
  "text": "function hi() {\n\treturn true;\n}"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev.tabs_to_spaces",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.

par requête$0.002

Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.

HTTPCodeSignification
401unauthorizedClé API absente ou invalide : vérifiez l’en-tête Authorization.
402insufficient_balanceSolde insuffisant : rechargez votre compte pour lancer cette tâche.
404unknown_typeType de tâche inconnu : vérifiez le champ type de votre requête.
429rate_limitedTrop de requêtes : ralentissez la cadence, puis réessayez.

Un convertisseur de tabulations en espaces prend le texte source qui contient encore des caractères de tabulation et réécrit chaque tabulation en espaces afin que les colonnes visuelles restent identiques pendant que le fichier n'est plus indenté qu'avec des espaces.

Comment les tab-stops développent les tabulations en espaces sans perdre l'alignement

Ce convertisseur applique la même règle : il maintient un index de colonne à base zéro qui se réinitialise à chaque saut de ligne, incrémente d'un pour chaque caractère ordinaire (y compris les espaces ordinaires) et, face à une tabulation, calcule n égal à tab_size moins la colonne modulo tab_size, émet exactement n espaces et avance la colonne de n. C'est pourquoi une tabulation en colonne zéro avec tab_size quatre devient quatre espaces, tandis qu'une tabulation en colonne un devient trois espaces, et qu'une tabulation déjà sur un stop produit un nouveau stop complet de quatre espaces. L'algorithme est un seul passage de gauche à droite, sans anticipation, sans analyse de langage et sans appels réseau, donc la même entrée produit toujours la même sortie sur chaque Worker et dans le navigateur.

Champs d'entrée, forme de la réponse, limites et erreurs de validation

Envoyez un corps JSON avec le champ chaîne obligatoire text contenant le code ou le texte brut à normaliser. Des alias optionnels tels que input, code, source, content et body sont acceptés pour la même charge utile afin de limiter les renommages dans les formulaires et scripts existants. L'entier optionnel tab_size fixe la largeur du tab-stop ; la valeur par défaut est quatre, alignée sur la plupart des éditeurs modernes et sur les guides de style JavaScript, Python et Rust qui attendent des indentations de quatre ou deux espaces une fois les tabulations absentes. Les valeurs valides sont les entiers de un à seize inclus ; hors de cette plage, non entiers, NaN et Infinity échouent avec invalid_input en nommant tab_size. Un text manquant, non chaîne ou vide échoue avec invalid_input et n'est pas facturé. La longueur maximale d'entrée est de cent mille caractères pour qu'un appel reste dans le budget mémoire du Worker pour des fichiers sources typiques et de petits extraits multi-fichiers. En cas de succès la réponse inclut text, la chaîne entièrement développée ; tab_size, la largeur appliquée ; tabs_replaced, le nombre de caractères tab trouvés ; spaces_added, le total d'espaces insérés à leur place ; chars_before et chars_after, les longueurs avant et après ; line_count, le nombre de lignes après découpage selon les formes courantes de nouvelle ligne ; changed, un booléen vrai si au moins une tabulation a été développée ; et message, un court résumé de la réécriture. Si l'entrée n'avait aucune tabulation, text est renvoyé inchangé, tabs_replaced vaut zéro, changed est false et le message indique qu'aucune modification n'a eu lieu afin que vous puissiez éviter d'écrire le fichier.

Quand une API tabulations vers espaces apporte de la valeur en production

Les scripts de migration qui convertissent en masse un dépôt hérité des tabulations vers les espaces peuvent appeler le même contrat depuis une boucle shell ou un Worker en périphérie sans installer de modules Node sur chaque portable. Comme l'implémentation est du parse pur de niveau A, chaque appel réussi coûte le prix de base publié $0.002 sans jetons de modèle ni réseau sortant. Gardez les requêtes sous la limite de caractères, figez tab_size dans votre configuration, et vous obtenez du code uniquement en espaces reproductible pour la CI, les plugins LMS et les lots hors ligne sans déployer un formateur conscient du langage pour un simple correctif d'indentation au niveau caractère.

Normalisation de style en CI

Développez les tabulations dures en espaces avec un tab_size fixe avant lint et format pour des diffs propres et des outils qui refusent l'indentation mixte.

Réécriture massive de dépôts hérités

Convertissez en lot des modules indentés par tabulations en espaces purs via l'API tout en préservant les tabulations d'alignement en milieu de ligne comme suites d'espaces correctes en colonne.

Quelles valeurs puis-je utiliser pour tab_size ?

Tout entier de 1 à 16 inclus. La valeur par défaut est 4. Les valeurs hors plage ou non entières échouent avec invalid_input et ne sont pas facturées.

Les espaces existants sont-ils supprimés ou condensés ?

Non. Les caractères espace existants restent inchangés. Seuls les caractères tab U+0009 sont remplacés par la suite d'espaces exigée par la colonne courante et tab_size.

Combien coûte le convertisseur tabulations vers espaces ?

L'outil navigateur est gratuit. Les requêtes API utilisent le solde prépayé KIT à $0.002 par appel réussi ; une entrée invalide n'est pas facturée.

Consulter la documentation complète du KIT →