De juiste VS Code-extensies maken van de editor meer dan een kale teksttool: een volwaardige ontwikkelomgeving die centraal staat in je dagelijkse werk. Al jaren neem ik dezelfde opzet mee terwijl ik schakel tussen web-, gameserver- en botprojecten; in dit artikel bespreek ik de extensies die ik echt gebruik, die de productiviteit zichtbaar verhogen, en waarom ze hun plek verdienen. Het doel is geen lange lijst, maar laten zien waar elk stuk in een echte workflow past.
Eerst de basis: de editor moeiteloos maken
Sommige extensies vallen nooit op, maar ze maken elk bestand dat je opent soepeler. Dit zijn de eerste die ik installeer bij een nieuw project:
- EditorConfig for VS Code — Als de repo een
.editorconfig-bestand heeft, past het automatisch inspringing, regeleinden en tekencodering toe. De goedkoopste manier om het hele team in dezelfde stijl te laten schrijven. - Path Intellisense — Vult de mappenstructuur automatisch aan terwijl je
import-regels en bestandspaden typt, zodat je geen minuten meer verliest aan een verkeerd pad. - Code Spell Checker — Vangt typefouten in variabelenamen en commentaar.
receiveschrijven in plaats vanrecieveis een redder als je er later op grept.
Formatteren en linting: het duo dat de discussie beëindigt
Codestijl met de hand consistent houden is verspilde energie. Om die taak aan tooling over te laten zijn Prettier en ESLint de VS Code-extensies die ik het meest vertrouw:
- Prettier — Herformatteert je code bij het opslaan volgens eigen regels. Het haalt inspringing, aanhalingstekens en puntkomma's volledig van tafel.
- ESLint — Wijst tijdens het typen op echte problemen in JavaScript/TypeScript, zoals ongebruikte variabelen en ongedefinieerde verwijzingen. Prettier zorgt voor de opmaak, ESLint voor de logica; samen werken ze.
Om Prettier automatisch bij het opslaan uit te voeren, voeg ik dit toe aan mijn gebruikers- of werkruimte-instellingen:
{
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit"
}
}
Nu wordt elk bestand bij opslaan geformatteerd en worden de problemen die ESLint kan herstellen automatisch opgelost. Wil je een taalspecifieke formatter, dan stel je die per bestandstype in met blokken als "[python]": { "editor.defaultFormatter": "..." }.
Git beheren zonder de editor te verlaten
De ingebouwde Git-ondersteuning van VS Code is goed, maar twee extensies tillen het naar een ander niveau:
- GitLens — Toont naast elke regel wie die heeft gewijzigd, wanneer en in welke commit (inline blame). Bij het opsporen van de oorsprong van een bug blader je door de bestandsgeschiedenis, regelgeschiedenis en commitdetails binnen de editor.
- Git Graph — Tekent branches, merges en de commitboom als een visuele grafiek. De toestand begrijpen vóór een lastige rebase of merge gaat veel sneller dan in de terminal.
Deze twee blinken uit in langlopende projecten: naar een regel kijken en in seconden antwoorden op "waarom hebben we het zo gedaan" maakt van code-archeologie echt werk.
Op afstand en in een container ontwikkelen
Als een groot deel van het werk niet op je lokale machine gebeurt maar op een VPS of in een Docker-container, wordt de Remote-familie van Microsoft onmisbaar:
- Remote - SSH — Maak via SSH verbinding met een externe server en bewerk bestanden alsof ze lokaal zijn; extensies en de terminal draaien op de externe machine. Een gameserver of een Laravel-installatie rechtstreeks op de VPS bewerken neemt het gedoe weg van bestanden kopiëren tussen lokaal en extern.
- Dev Containers — Opent het project in een container op basis van een
devcontainer.json-definitie. Iedereen in het team werkt met dezelfde PHP/Node-versie en dezelfde systeemafhankelijkheden, wat "het werkte op mijn machine"-problemen grotendeels wegneemt. - WSL — Verbindt rechtstreeks met bestanden in het Linux-subsysteem op Windows. Alle drie de extensies delen hetzelfde "Remote Explorer"-model.
Taal- en framework-specifieke ondersteuning
Bovenop de algemene extensies is het verstandig een paar gerichte toe te voegen op basis van je stack. Die ik vaak gebruik:
- PHP Intelephense — Biedt snelle autocompletie, type-hints en "ga naar definitie" in Laravel- en kale PHP-projecten.
- Tailwind CSS IntelliSense — Vult Tailwind-klassenamen aan en toont de gegenereerde CSS bij het zweven met de muis.
- Docker — Biedt syntax, autocompletie en containerbeheer voor
Dockerfile- encompose-bestanden.
Het principe hier: houd de basisopzet licht en voeg de taalextensies toe die echt waarde toevoegen aan het project van het moment. Te veel overlappende extensies kunnen de editor vertragen, en twee formatters die hetzelfde doen kunnen botsen.
Je opzet draagbaar houden
Om je extensies één keer te kiezen in plaats van ze op elke machine met de hand te installeren, zijn er twee aanpakken. De ingebouwde Settings Sync van VS Code synchroniseert extensies, instellingen en sneltoetsen met een account. Je kunt ook projectspecifieke aanbevelingen in de repo zetten:
// .vscode/extensions.json
{
"recommendations": [
"esbenp.prettier-vscode",
"dbaeumer.vscode-eslint",
"eamodio.gitlens"
]
}
Dankzij dit bestand ziet iedereen die het project opent welke extensies worden aanbevolen en kan ze met één klik installeren. Voor teamconsistentie is dit sterker dan Settings Sync, want de aanbeveling hangt aan het project, niet aan de persoon.
Veelgestelde vragen
Vertragen te veel extensies VS Code?
Ja, vooral extensies die bij elke start activeren en op de achtergrond bestanden scannen kunnen het opstarten vertragen. Het commando Developer: Startup Performance laat zien hoeveel tijd elke extensie kost, zodat je de extensies die je niet gebruikt in bepaalde werkruimtes kunt uitschakelen.
Botsen Prettier en ESLint met elkaar?
Niet bij een juiste configuratie. Als je de opmaakregels van ESLint uitschakelt en het formatteren aan Prettier overlaat, werken ze netjes samen; het pakket eslint-config-prettier bestaat juist om dat conflict te voorkomen.
Moet ik extensies per werkruimte of globaal installeren?
Houd algemene tools (GitLens, Prettier) globaal; schakel taalextensies die alleen in bepaalde projecten zin hebben in binnen die werkruimte. Zo draagt de editor in elk project niet meer last dan nodig.
Wil je je eigen ontwikkelproces versnellen? Ik kan je helpen een consistente toolchain en een schone workflow op te zetten voor een web-, server- of automatiseringsproject — neem contact op.