5 tips som gjør Cursor smartere: «Kunne mye mer enn jeg trodde!»

Gi AI-assistenten lenker til litt dokumentasjon, så fikser den selv de vanskeligste utfordringene. Kurt fikk en åpenbaring i julen, her er hans tips.

Cursor er enda nyttigere hvis du bare hjelper den på vei – på riktig måte. 📸: Kurt Lekanger
Cursor er enda nyttigere hvis du bare hjelper den på vei – på riktig måte. 📸: Kurt Lekanger Vis mer

Jeg har tidligere skrevet mye pent om Cursor, en VS Code-baserte kodeeditor med en vanvittig bra innebygget AI-assistent. Og jeg har brukt den daglig i flere måneder.

Etter å ha jobbet med et Astro/Sanity-kodeprosjekt i julen gikk det imidlertid opp for meg at jeg ikke har utnyttet Cursor fullt ut!

«Jeg hadde ikke utnyttet Cursor fullt ut!»

Det som fikk meg til å innse at jeg bare hadde skrapet i overflaten av hva Cursor kan, var en chat-melding i kode24-klubben.

– Anbefaler å teste composer-agenten med yolo-mode enabled. Be han opprette en LEARNINGS.md og gjerne en TODO dere samarbeider om, skrev Herman, og hevdet at den kan lage ganske kompliserte fullstack-apper i løpet av en kort arbeidsdag.

Derfor bestemte jeg meg for å la Cursor bryne seg på litt mer enn bare de enkleste oppgavene.

Det viste seg at den kunne gjøre mye mer enn jeg trodde! Bruker du den riktig, kan den:

  • Skrive kompleks kode som går på tvers av mange filer i kodebasen din, og også opprette filer og mapper etter behov.
  • Skjønne at endringene du gjør ett sted, også betyr at du må gjøre endringer et helt annet sted i kodebasen.
  • Se typefeil og linting-feilmeldinger i kodeforslagene den kommer med, og automatisk rette opp underveis, for eksempel ved å opprette nødvendige TypeScript-typer.
  • Kjøre kommandoer fra terminalen, for eksempel hvis du trenger å installere noen nye avhengigheter.

Men først: Hva er Composer?

Før vi kommer til selve tipsene, må vi forklare hva i alle dager Composer er for noe.

Composer er en mer avansert utgave av den vanlige AI-chatten som kan redigere eller opprette mange filer samtidig, kjøre kommandoer, utføre filoperasjoner, og så videre.

Composer fikser ganske mye for deg. Her installerer den for eksempel Tailwind og fikser litt på stylingen til en nettside. Du må godkjenne hvert trinn – eventuelt kan du trykke "Accept all".
Composer fikser ganske mye for deg. Her installerer den for eksempel Tailwind og fikser litt på stylingen til en nettside. Du må godkjenne hvert trinn – eventuelt kan du trykke "Accept all". Vis mer

Du åpner Composer ved å trykke Cmd-I. Og så kan du ha Composer-vinduet ved siden av det vanlige kodevinduet ditt og bruke den som en slags digital parprogrammerings-kompis som du samarbeider med for å skrive koden din.

Her er fem tips for hvordan du gjør Cursor enda mer nyttig – basert på mine egne erfaringer.

#1: Gi den dokumentasjon

Du kan gi Composer en masse kontekst i form av ikke bare dine egne filer og din egen kodebase, men også dokumentasjonssider på nettet.

Et problem jeg har hatt tidligere med AI-chatboter og AI-assistenter, er at den ofte gir deg råd basert på utdatert eller dårlig informasjon. Cursor er allerede bedre enn de fleste på dette området ved at den har crawlet dokumentasjonssider for populære språk, rammeverk og teknologier som React, Next.js, Astro, Python, C#, og mye annet.

I Composer-vinduet kan du referere til denne dokumentasjonen ved å taste @ etterfulgt av navn på for eksempel et rammeverk eller bibliotek (for eksempel @NextJS).

Tast @ etterfulgt av navn på et rammeverk, språk eller bibliotek. Står det "Official" er det innebygget i Cursor – men du kan også legge til egen dokumentasjon fra andre kilder.
Tast @ etterfulgt av navn på et rammeverk, språk eller bibliotek. Står det "Official" er det innebygget i Cursor – men du kan også legge til egen dokumentasjon fra andre kilder. Vis mer

Det beste av alt er at du kan gi Cursor tilgang til all mulig annen informasjon du finner på nettet også, og legge det til i en "Custom Docs"-database ved å skrive @Docs og lime inn URL-en til dokumentasjonssiden. Dermed vil Cursor bruke oppdatert offisiell dokumentasjon når den leter etter svar.

I mitt eget Astro/Sanity-prosjekt hadde jeg bruk for å skreddersy hvordan brukergrensesnittet til Sanity-CMS-et så ut, blant annet gruppere ting på en litt mer avansert måte enn jeg hadde gjort opprinnelig. Mye å sette seg inn i – og jeg forventet å bruke hele dagen på å få det til.

Til min store overraskelse klarte Cursors Composer-chat å gjøre en ganske avansert refaktorering og endre brukergrensesnittet i Sanity Studio – med litt sparring fra meg.

Alt sammen tok noen få minutter etter at jeg hadde gitt den lenke til dokumentasjonssiden:

Jeg ba Composer om å kikke på litt eksempelkode, samt en lenke til dokumentasjonssidene – og løsningen var klar i løpet av minutter i stedet for timer.
Jeg ba Composer om å kikke på litt eksempelkode, samt en lenke til dokumentasjonssidene – og løsningen var klar i løpet av minutter i stedet for timer. Vis mer

Noen ganger vil du kanskje ikke legge til dokumentasjonen permanent, da kan du bare lime inn en lenke til dokumentasjonen i chaten og be Cursor om å følge instruksjonene der.

Ettersom Astro-rammeverket var nytt for meg, trengte jeg også hjelp med en forholdsvis ny funksjonalitet for skjemaer og såkalte "actions" som håndterer skjemaene på backenden. Her var det også bare å gi den Astro-dokumentasjonen og be om hjelp:

image: 5 tips som gjør Cursor smartere: «Kunne mye mer enn jeg trodde!»

Jeg fikk også forslag til noen forbedringer, basert på rykende fersk dokumentasjon om hva som er "beste praksis" for å gjøre nettopp det jeg ville gjøre.

#2: Legg til filer og kodesnutter

For at Composer skal være virkelig smart og kunne hjelpe deg med å skrive bra kode, lønner det seg å tenke nøye gjennom hvordan du vil formulere spørsmålet ditt.

Hvis du i tillegg sørger for å gi den mest mulig relevant kontekst før du trykker Submit-knappen, får du bedre svar tilbake.

Høyreklikk på filer du vil legge til som kontekst og velg Add files to Composer:

image: 5 tips som gjør Cursor smartere: «Kunne mye mer enn jeg trodde!»

Du kan også markere kode du mener er relevant og kopiere og lime inn denne i Composer-vinduet, eller høyreklikke på funksjoner eller variabler og velge Add symbol to current Composer:

image: 5 tips som gjør Cursor smartere: «Kunne mye mer enn jeg trodde!»

Men ikke pøs på med alt mulig som kanskje er relevant, jo mer konsist og jo mer relevant kontekst du gir Composer, jo bedre svar får du tilbake.

#3: Få hjelp med feil i terminalen

Husk at også den innebygde terminalen i Cursor har en AI som kan hjelpe deg!

Får du en feilmelding i terminalen, er det bare å merke feilmeldingen og velge Add to Composer.

Ellers er det verdt å nevne at du kan trykke Cmd-K for å få hjelp med ulike oppgaver i terminalen, for eksempel hvis det er en Linux-kommando du ikke husker syntaksen til.

#4: Gi den loggfiler

Loggfiler kan noen ganger være kilometerlange og noe herk å lese og forstå. Jeg har med stort hell fått hjelp av Composer til å fikse ting i koden min ved å kopiere og lime inn feilmeldinger fra logger.

For eksempel slet jeg med at Astro-rammeverkets sitemaps-funksjonalitet ikke fungerte som den skulle. Det vil si, den genererte sitemaps lokalt – men etter deploying til Vercel var sitemapene sporløst forsvunnet.

Byggeloggen hos Vercel så helt fin ut, så jeg limte inn hele loggen i Composer-vinduet og ba om forklaring.

image: 5 tips som gjør Cursor smartere: «Kunne mye mer enn jeg trodde!»

Og her klarte faktisk ikke Composer å fikse problemet, men kom med løsninger som ikke fungerte.

Etter litt egen research viste deg seg at problemet ikke var min feil, men skyldtes en bug. Men da var det bare å gi Composer en lenke til den aktuelle "issuen" i Astros git-repo, og vipps – så lagde Composer en midlertidig "workaround" som fikk alt til å fungere:

image: 5 tips som gjør Cursor smartere: «Kunne mye mer enn jeg trodde!»

Hvis du ser at noen andre har funnet en løsning på et problem, eller kanskje bare beskrevet det – gi Composer en lenke til løsningen. Kanskje fikser den problemet for deg, og du sparer tid på å gjøre det selv.

#5: Les og forstå – ikke bare trykk "Accept"

Helt til slutt – mitt kanskje viktigste råd er å ikke bare trykke Accept på alle mulige forslag:

  • Les nøye gjennom kodeforslagene og vurder om du ville gjort noe annerledes selv. Med Cursor Composer kan du faktisk gå inn og redigere i kodeforslagene du får, før du trykker aksepter (i diff-visningen i editoren).
  • Aksepter ett og ett kodeforslag, se at ting ser ok ut før du går videre til neste.

Og til slutt – når alt er klart, da leser du gjennom koden en gang til, tester og sjekker at koden er minst like god som den du ville ha skrevet selv!

Selv om Cursor Composer kan virke som ren magi til tider, så må du fortsatt tenke selv, og hjelpe AI-assistenten på rett vei.

Tenk på den som en hjelpsom kodekompis som begynner å bli dement. Den surrer litt til tider – men gir du den nok hint – du verden så mye den kan!

💬 Har du flere tips, del dem gjerne med kode24-leserne i kommentarfeltet!