Waarom zijn tabs versus spaties belangrijk in code?

Tabs en spaties zijn de twee belangrijkste methoden voor het indenteren van broncode, en het mengen ervan is een van de meest voorkomende oorzaken van opmaakinconsistenties in projecten. Verschillende editors geven tab-tekens weer met wisselende breedtes — sommige tonen ze als 2 spaties, andere als 4 of 8 — wat betekent dat code die er op de ene machine perfect uitgelijnd uitziet, er op een andere machine verbroken uit kan zien. Spaties daarentegen worden overal identiek weergegeven, maar nemen meer bytes in beslag en vereisen meerdere toetsaanslagen zonder editorondersteuning.

De meeste moderne stijlgidsen en linters dwingen één enkele indenteerstijl af. Talen zoals Python zijn gevoelig voor witruimte en kunnen fouten geven wanneer tabs en spaties door elkaar worden gebruikt binnen hetzelfde blok. Configuratiebestanden zoals YAML en Makefiles hebben ook strikte witruimteregels, waardoor het kiezen van het juiste teken essentieel is.

Beschrijving van de tool

Deze tool converteert tussen tabs en spaties in elke tekst of codefragment. Plak of typ inhoud met tab-gebaseerde indentering om elke tab te vervangen door een instelbaar aantal spaties, of converteer op spaties gebaseerde indentering terug naar tabs. Zowel de invoer als de uitvoer maken gebruik van een code-editor met zichtbare witruimteweergave, zodat je direct puntjes voor spaties en pijlen voor tabs kunt zien.

Voorbeelden

Tabs naar spaties (4 spaties per tab):

Invoer:

function greet() {
→   const name = "World";
→   console.log(`Hello, ${name}`);
}

Uitvoer:

function greet() {
    const name = "World";
    console.log(`Hello, ${name}`);
}

Spaties naar tabs (2 spaties per tab):

Invoer:

def greet():
  name = "World"
  print(f"Hello, {name}")

Uitvoer:

def greet():
→ name = "World"
→ print(f"Hello, {name}")

Functies

  • Bidirectionele conversie tussen tabs en spaties
  • Instelbaar aantal spaties per tab (1–32)
  • Code-editor met syntaxgemarkeerde onzichtbare tekens (puntjes voor spaties, pijlen voor tabs)
  • Directe realtime conversie terwijl je typt
  • Werkt met elke programmeertaal of platte tekst

Toepassingen

  • Code herformatteren om te voldoen aan de .editorconfig of linter-regels van een project vóór het committen
  • Verouderde codebases die tabs gebruiken converteren naar een op spaties gebaseerde standaard (of omgekeerd)
  • Opgekopieëerde code van Stack Overflow of documentatie met inconsistente indentering opschonen

Uitleg van de opties

Optie Beschrijving
Spaties per tab Stelt in hoeveel spatietekens één tab vertegenwoordigen. Veelgebruikte waarden zijn 2 (Ruby, JS) en 4 (Python, Java). Accepteert elke waarde van 1 tot 32.
Richting dropdown Kies "Tabs" → "Spaties" of wissel naar "Spaties" → "Tabs" met de wisselknop.

Tips

  • Gebruik de weergave van onzichtbare tekens in de editor om te controleren of je invoer daadwerkelijk tabs bevat vóór het converteren — veel editors vervangen tabs stilletjes door spaties bij het plakken.
  • Zorg er bij het converteren van spaties naar tabs voor dat je spatieaantal overeenkomt met de oorspronkelijke indenteerbreedte, anders kan er gedeeltelijke indentering achterblijven.