Handige AI extensies voor Visual Studio Code

Het is je vermoedelijk niet ontgaan, maar alles met betrekking tot AI is op dit moment booming. Het effectief inzetten van AI kan je een hoop tijd besparen en de kwaliteit van je codeerwerk verbeteren. Om deze reden zijn we op onderzoek uitgegaan welke extensies je kunnen helpen om effectiever te coderen binnen de bekende code editor Visual Studio Code. In deze blog neem ik jou mee in dé 2 AI extensie die wij met regelmaat gebruiken in Visual Studio Code.

GitHub Copilot

De momenteel meest gebruikte extensie voor AI binnen Visual Studio Code is GitHub Copilot. Deze extensie doet suggesties voor code op basis van je input. Je kunt dus bijvoorbeeld uitschrijven wat je wilt dat een functie doet, vervolgens geeft de extensie een suggestie hoe deze functie eruit zou kunnen zien bijvoorbeeld. Zodra je op tab drukt wordt de code geplaatst in je document:

Github Copilot 2`. De achtergrond is donker met een minimalistische interface.” class=”wp-image-9246″/>

Deze extensie is ontwikkeld in een samenwerking met GItHub en OpenAI en is getraind op development documenten om zo accurate suggesties te doen. De extensie werkt voor alle bekende talen waaronder: PHP, Python, JavaScript, TypeScript, Ruby, Go, C# en C++.

Meer informatie over deze extensie kan je hier vinden.

Voordelen

  • Verhoogde productiviteit: GitHub Copilot kan je helpen bij het versnellen van het coderen door automatisch codefragmenten en suggesties te genereren. Dit kan de productiviteit verhogen door het handmatige typewerk te verminderen.
  • Snellere leercurve: Copilot kan helpen bij het genereren van code en biedt voorbeeldcode voor specifieke functionaliteiten, hierdoor kunnen startende ontwikkelaars sneller leren begrijpen hoe bepaalde stukken code moeten worden geschreven.
  • Vermindering van repetitieve taken: Bij het schrijven van code worden vaak repetitieve taken uitgevoerd, zoals het herhaaldelijk schrijven van vergelijkbare codeblokken. GitHub Copilot kan deze taken automatiseren door suggesties te doen op basis van context en helpt bij het genereren van herhalende codefragmenten.
  • Ondersteuning voor meerdere programmeertalen en frameworks: GitHub Copilot ondersteunt een breed scala aan programmeertalen en frameworks. Dit maakt het een waardevolle tool voor een grote diverse groep ontwikkelaars.

Nadelen

  • Afhankelijkheid van trainingsdata: GitHub Copilot is getraind op grote hoeveelheden code en programmeer gerelateerde documentatie. Dit betekent dat de kwaliteit van de gegenereerde code afhankelijk is van de kwaliteit van de trainingsdata. Het is dus belangrijk om kritisch te kijken naar de data die gegenereerd wordt.
  • Je dient specifiek te zijn: Om goede resultaten te generen is het van belang om zo specifiek mogelijk te zijn. Als je iets aan de verbeelding overlaat dan zal de uitkomt in veel gevallen net niet zijn wat je zoekt. Het is voor simpele functies hierdoor soms makkelijker om dit zelf te coderen dan om een syntax te schrijven die Copilot helemaal begrijpt.
  • Mogelijk invasief: Voor gevorderde developers kunnen de automatische suggesties als storend ervaren worden. Zeker als de suggesties niet relevant zijn wat je aan het ontwikkelen bent.
  • Gebrek aan creativiteit en originaliteit: GitHub Copilot is gebaseerd op bestaande code en kan geen nieuwe, unieke oplossingen of creatieve ideeën genereren. Het is voornamelijk gericht op het reproduceren van bekende patronen en structuren op basis van de beschikbare trainingsdata. Dit betekent dat bij complexere project de waarde van Github Copilot afneemt.
  • Niet gratis: Deze extentie kost op het moment van schrijven een tientje per maand en is dus niet gratis

Code GPT

Via deze extentie kan je ChatGPT integreren in je editor. Dit kan extreem handig zijn als je bijvoorbeeld vragen hebt over je code. Denk hierbij aan het opsporen van die ene fout in je code, of als je wilt achterhalen wat een bepaalde functie precies doet:

Een interface voor CodeGPT met instructies over het selecteren van code en opties om deze te verklaren, problemen te identificeren of unit tests te maken. Rechts staat een codevoorbeeld in PHP dat een WP_Query-object aanmaakt.

Meer informatie over alle mogelijkheden binnen deze extentie kan je hier vinden.

Voordelen

  • Chat in je editor: Direct chatten met ChatGPT in je editor zonder dat je in een externe omgeving een browser of app hoeft te openen.
  • Gerichte vragen stellen: Je kunt gericht vragen stellen over stukken code door code te markeren. Vervolgens kun je bijvoorbeeld vragen aan de chat om inline comments te plaatsen in je code.
  • Code controleren op fouten: Bij fouten kan je direct achterhalen wat er misgaat in je code.
  • Niet invasief: In tegenstelling tot GitHub Copilot kan je zelf kiezen wanneer je gebruik wilt maken van deze extentie.
  • Gratis: De extentie zelf is gratis, je hebt wel een API sleutel nodig van OpenAI. Er zitten wel kosten verbonden aan het gebruik van OpenAI en de API koppeling.

Nadelen

  • Denk niet live met je mee: In tegenstelling tot bijvoorbeeld Github Copilot geeft deze extensie geen actieve suggesties tijdens het coderen. Dit betekent dat je nieuwe ideeën voor code mogelijk niet te zien krijg tenzij je hier actief om vraagt.
  • Begrijpt geen context: De vragen zijn die je stelt zijn geïsoleerd tot het stuk code dat je markeert. in tegenstelling tot bijvoorbeeld Github Copilot kan de chat niet refereren naar andere content in hetzelfde document.

AI is nog geen vervanging voor menselijk werk

De bovenstaande extensies zijn op het moment zeker nog geen vervanging voor menselijk codeer werk. Je dient namelijk nog erg specifiek te zijn in waar je naar opzoek bent. In veel gevallen is het hierdoor sneller om zelf code uit te schrijven inplaats van dit werk door de AI te laten doen. Het is dus verstandig om de suggesties meer te behandelen als inspiratie, dan als vervanging voor je eigen code op het moment. Het kan wel dienen als een springplank voor developers met minder code ervaring, of wanneer je een nieuwe taal wilt leren.

Verder zijn veel van de extensies gebaseerd op de AI van OpenAI, een groot nadeel hiervan is dat deze getraind is op content van ongeveer een jaar geleden. Dit betekent dat bijvoorbeeld dat de laatste ontwikkelingen binnen bijvoorbeeld CSS niet altijd meegenomen worden in de adviezen die je krijgt. Houd hier dus rekening mee bij gebruik.

Hoe gebruik jij AI in Visual Studio Code?

Uiteraard zijn er nog vele andere extensies binnen Visual Studio Code zoals Tabnine, Blackbox AI en ChatGPT – Genie AI die vergelijkbare functionaliteiten toevoegen aan de editor. Wellicht ben jij net als ons bezig met het testen/gebruiken van AI extensies voor de editor Visual Studio Code. Mocht je tips hebben of onze hulp juist kunnen gebruiken? Twijfel dan niet en neem gerust contact met mij of met mijn collega’s op.