Przejdź do głównej zawartości

Podstawowe funkcje Cursora: dobierz narzędzie i sprawdź wynik

EN

Poziom 2 Poradnik Zaktualizowano

Podstawowe funkcje Cursora to narzędzia, których programista używa w edytorze na co dzień: podpowiedzi Tab, edycja inline, agent z trybami pracy, polecenia w terminalu, kontekst @, checkpointy i przegląd pull requestów przez Bugbota. Każda obsługuje zmianę innej wielkości i każda oszczędza czas tylko wtedy, gdy wynik przechodzi przez sprawdzanie typów (typechecker), linter albo testy.

Ta strona jest dla programistów, którzy mają już za sobą podstawową konfigurację Cursora, a mimo to używają go jak zwykłego edytora z okienkiem czatu. Zmianę na 20 linii wpisujesz ręcznie, bo otwieranie agenta wydaje się przesadą. Potem oddajesz agentowi funkcję, która wymagała planu, dostajesz diff na 14 plików i spędzasz popołudnie na czytaniu go. Rozwiązanie: dopasuj każdą zmianę do właściwej funkcji i zanim zaczniesz, zdecyduj, jak sprawdzisz wynik.

  • Tabelę decyzyjną, która przypisuje wielkość zmiany do Tab, edycji inline, Agenta albo Plan Mode, razem z testem kończącym każdą z nich.
  • Siedem promptów do skopiowania: zawężoną edycję inline, pętlę „napraw, aż będzie zielono”, bramkę przed PR, wyszukiwanie kodu z dowodami, plan, poprawkę UI na podstawie zrzutu ekranu i opis commita.
  • Kontrolę zakresu i uruchomienie bramek, które mówią, czy zachować turę agenta, bez czytania każdej linii.
  • Nawyk „commit po każdej zielonej turze”, dzięki któremu checkpointy są drugą siatką bezpieczeństwa, a nie jedyną.
  • Sposoby wyjścia z sześciu najczęstszych problemów z tymi funkcjami.

Wybieraj funkcję według tego, jak dużą część zmiany umiesz już opisać, a nie z przyzwyczajenia. Im mniejsze narzędzie, tym tańsza kontrola.

ZmianaFunkcjaCo może zmienićJak to sprawdzaszWięcej
Kilka kolejnych linii, a wzorzec widać w pobliżuTabLinie wokół kursoraTypechecker i testy w trybie watch na bieżącoAutouzupełnianie Tab
Jedna funkcja lub blok, który da się zaznaczyć i opisać jednym zdaniemEdycja inlineZaznaczenieTesty tej funkcji i diff ograniczony do zaznaczeniaEdycja inline
Kilka plików, a umiesz wymienić pliki i polecenie, które dowodzi, że działaAgentPliki i polecenia terminala w ramach trybu uruchamianiaKontrola zakresu, potem bramkaPraca z czatem agenta
Kilka plików, a nie umiałbyś teraz spisać kryteriów akceptacjiPlan Mode, potem AgentNic, dopóki nie zatwierdzisz planuPlan z listą wszystkich plików i jednym testem na kryteriumTryby agenta
Gotowa gałąź, zanim zobaczy ją człowiekBugbotKomentarze w pull requeścieZnaleziska, które poprawiasz albo odrzucasz, potem CIBugbot

Edytuj kod na miejscu przez Tab, edycję inline i agenta

Dział zatytułowany „Edytuj kod na miejscu przez Tab, edycję inline i agenta”

Trzy funkcje zmieniają kod w edytorze, od kilku linii po wiele plików. Zaczynaj od najmniejszej, która pasuje do zmiany.

Cursor Tab przewiduje edycję w pobliżu kursora, która może objąć kilka linii, i potrafi zaproponować skok do następnego miejsca wymagającego powiązanej zmiany. Tab przyjmuje podpowiedź, Esc ją odrzuca. Po zmianie nazwy albo dodaniu pola naciskaj Tab przez cały łańcuch, ale czytaj każdy krok: dziesięć przyjętych edycji to dziesięć decyzji.

Tab kopiuje wzorzec, który widzi. Jeśli podpowiedź ignoruje twoje konwencje, otwórz najbliższy istniejący przykład obok kursora albo zrób pierwszą zmianę ręcznie i pozwól Tabowi ją powtórzyć. Trzymaj typechecker i testy w trybie watch, żeby błąd z przyjętej podpowiedzi wyszedł kilka sekund po jej przyjęciu. Autouzupełnianie Tab opisuje częściowe przyjmowanie i „zasiewanie” wzorca.

Jak używać edycji inline w Cursorze na zaznaczonym kodzie?

Dział zatytułowany „Jak używać edycji inline w Cursorze na zaznaczonym kodzie?”

Żeby otworzyć edycję inline, zaznacz kod i naciśnij Cmd+K (pomoc Cursora, sprawdzone 2026-10-12) albo wyszukaj w palecie poleceń „inline edit”; paleta pokaże domyślny skrót w twojej wersji. Edycja inline przepisuje zaznaczony kod według polecenia w jednym zdaniu albo generuje kod w miejscu kursora, gdy nic nie jest zaznaczone. Jest szybsza od agenta, bo zmienia tylko zaznaczenie, i to samo ograniczenie sprawia, że wynik łatwo sprawdzić.

Edycja inline widzi zaznaczenie i otaczający je plik. Nie otwiera helpera importowanego z innego pliku. Gdy zmiana zależy od wzorca z innego miejsca, nazwij go w poleceniu albo użyj agenta.

Po przyjęciu zmiany uruchom testy tego modułu. Jeśli diff wychodzi poza zaznaczenie, odrzuć go i zaznacz mniejszy blok.

Panel agenta to miejsce na pracę w wielu plikach. Otwórz go skrótem Cmd+I (Ctrl+I w Windows i Linuksie; pomoc Cursora, sprawdzone 2026-10-12) albo z palety poleceń (wyszukaj „agent”), która pokaże też jego skrót w twojej wersji. Jeśli przed otwarciem zaznaczysz kod, trafi on do kontekstu. Agent czyta i edytuje pliki, przeszukuje kod i uruchamia polecenia w terminalu w granicach twojego trybu uruchamiania.

Zanim wyślesz prompt, wybierz tryb w selektorze trybów w polu czatu:

  • Agent edytuje pliki i uruchamia polecenia. Używaj go, gdy umiesz wymienić pliki i polecenie, które dowodzi, że zmiana działa.
  • Plan Mode według Cursora „creates detailed implementation plans before writing any code” (strona Plan Mode w dokumentacji Cursora, sprawdzone 28 sierpnia 2026). Używaj go, gdy nie umiesz jeszcze spisać kryteriów akceptacji.
  • Ask działa tylko do odczytu: używaj go do odpowiedzi o kodzie. Debug służy do trudnych błędów, które wymagają dowodów z działania programu; zobacz szukanie błędów w Cursorze. Dokumentacja Cursora wymienia cztery tryby: Agent, Ask, Plan i Debug, a Shift + Tab przełącza je po kolei (sprawdzone 2026-10-12).

Tryby agenta w Cursorze zawierają pełną tabelę decyzyjną i sygnały, kiedy zmienić tryb w trakcie zadania.

W terminalu agent udowadnia własną pracę: uruchamia kontrole, czyta błędy i próbuje ponownie. Warunkiem stopu niech będzie kod wyjścia polecenia.

Jak w Cursorze przygotować polecenie terminala na podstawie opisu?

Dział zatytułowany „Jak w Cursorze przygotować polecenie terminala na podstawie opisu?”

Edycja inline Cursora działa też w zintegrowanym terminalu w wersjach, które to oferują; gdy terminal ma fokus, paleta poleceń pokaże, czy twoja wersja to obsługuje i jakim klawiszem to otworzyć. Opisz polecenie, a Cursor przygotuje jego wersję roboczą do przejrzenia przed uruchomieniem. Na przykład „show the last 20 commits as a graph with branch names” daje polecenie git log z właściwymi flagami.

Przeczytaj przygotowane polecenie, zanim naciśniesz Enter, zwłaszcza gdy zawiera rm, --force, reset albo przekierowanie do pliku. Wersja robocza nie zna twoich aliasów ani menedżera pakietów projektu. Zapisz to w regule projektu, jak pokazują reguły projektu w Cursorze, np. „use pnpm, never npm”.

Jak sprawić, żeby agent Cursora poprawiał błędy, aż build będzie zielony?

Dział zatytułowany „Jak sprawić, żeby agent Cursora poprawiał błędy, aż build będzie zielony?”

Agent potrafi uruchomić kontrolę, przeczytać błędy, poprawić je i uruchomić kontrolę ponownie. Tu agent zwraca się najbardziej, o ile o zatrzymaniu decyduje kod wyjścia polecenia, a nie opinia agenta.

Ten sam schemat działa dla cargo check, go vet ./... czy pytest. Najważniejsza jest linia z zasadami: bez niej najkrótsza droga do zielonego buildu to uciszenie typecheckera. To, czy agent uruchamia te polecenia bez pytania, zależy od trybu uruchamiania: polecenia typów, lintera i testów zostaw dozwolone, a wszystko, co wypycha zmiany albo usuwa dane, za zatwierdzeniem.

Zapisz poniższy prompt jako docs/prompts/pre-pr.md, zacommituj go i dołączaj przez @ przed otwarciem pull requesta. Wtedy cały zespół uruchamia tę samą bramkę w tej samej kolejności.

Chodzi o raport. Sprawdzasz trzy kody wyjścia i listę plików, zamiast ponownie czytać diff. Jeśli zespół chce, żeby ta bramka uruchamiała się sama, gdy agent kończy pracę, strona o podstawowej konfiguracji pokazuje, jak ustawić ją jako hook stop.

Znajdź kod i daj agentowi Cursora właściwy kontekst

Dział zatytułowany „Znajdź kod i daj agentowi Cursora właściwy kontekst”

Odpowiedź agenta jest tak dobra, jak to, co przeczyta. Dzięki tym czterem nawykom agent – i ty – patrzycie na właściwe pliki.

Agent Cursora ma narzędzie semantycznego wyszukiwania w kodzie, a także grep i glob (potwierdzone w pakiecie @cursor/sdk 1.0.32; zob. uwagę na początku strony). Opisz zwykłym językiem, czego szukasz, a agent znajdzie kod po znaczeniu: pytanie o „uwierzytelnianie” może trafić na funkcję issueToken. Poproś, żeby wskazał źródła, a odpowiedź sprawdzisz w kilka sekund.

Wpisz @ w polu agenta, żeby dołączyć pliki, foldery, fragmenty kodu, dokumentację albo wcześniejsze czaty; menu na twoim ekranie pokazuje, co oferuje twoja wersja. Jeden wzorcowy plik jest lepszy niż akapit opisu: „Create POST /api/orders following @src/routes/users.ts” daje agentowi wzorzec do skopiowania. Po wklejeniu promptu sprawdź, czy każde odwołanie @ stało się dołączonym elementem, a nie zwykłym tekstem.

Po aktualną dokumentację biblioteki albo zmiany na twojej gałęzi po prostu poproś. Agent ma wyszukiwanie i pobieranie stron WWW oraz terminal, więc „search the web for the tRPC v11 router syntax” albo „review the changes on my branch against main” działa bez specjalnego odwołania. Zarządzanie kontekstem w Cursorze opisuje odwołania do folderów, .cursorignore i przekazywanie pracy między czatami.

Cursor dziedziczy domyślne skróty nawigacji z VS Code, o ile twoja wersja ich nie zmienia (nie sprawdziliśmy tego dla linii 3.x 26 września 2026; paleta poleceń pokaże skrót w twojej wersji). Cmd+Shift+O (Ctrl+Shift+O) pokazuje symbole w bieżącym pliku, a Cmd+T (Ctrl+T) szuka symboli w całym obszarze roboczym (workspace). Wyszukiwanie w obszarze roboczym uruchamiaj z fokusem w edytorze; pole czatu może przypisywać temu klawiszowi inną akcję.

W domyślnych skrótach VS Code, które Cursor dziedziczy, o ile twoja wersja ich nie zmienia, Cmd+P (Ctrl+P) otwiera Quick Open z rozmytym dopasowaniem nazw plików. Dodaj dwukropek i numer linii, żeby trafić w konkretną linię: auth.ts:42. To najszybszy sposób, żeby przejść do ścieżki, którą agent podał w raporcie.

Git to punkt przywracania, któremu możesz ufać; checkpointy i Bugbot to dodatkowe warstwy na nim.

Cursor przechowuje checkpointy zmian agenta, które możesz przywrócić z czatu. Zanim na nich polegasz, wykonaj krótki test zakresu ze strony Checkpointy i gałęzie, żeby potwierdzić, co przywracanie zmienia w twojej wersji. Zakładaj, że checkpoint przywraca co najwyżej pliki: nie cofnie migracji, instalacji pakietu ani pusha i nie jest commitem. Zbuduj nawyk wokół Gita:

  1. Przed każdym zadaniem agenta uruchom git status --short. Jeśli coś się wypisze, zacommituj to albo schowaj przez stash, żeby jedynymi zmianami były zmiany agenta.
  2. Podaj agentowi zakres (katalogi, które może zmieniać) i polecenie bramki.
  3. Po zakończeniu tury uruchom poniższą kontrolę zakresu i bramkę.
  4. Jeśli obie przechodzą, zacommituj: git add -A && git commit -m "agent: <co się zmieniło>". Jeśli któraś nie przechodzi, przywróć checkpoint albo odrzuć pliki przez git restore i ponów prompt z podaniem powodu.

Ta kontrola zakresu działa w terminalu w katalogu głównym repozytorium i wypisuje każdy zmieniony lub nowy plik spoza dozwolonych ścieżek. Zastąp obie ścieżki własnymi:

Okno terminala
{ git diff --name-only HEAD; git ls-files --others --exclude-standard; } \
| grep -v -E '^(src/auth/|tests/auth/)' || echo "scope OK"

Jeśli kontrola wypisze ścieżkę, tura wyszła poza zakres: przywróć ją albo odrzuć ten plik przed commitem.

Jak w Cursorze przygotować opis commita ze zmian w indeksie (staged)?

Dział zatytułowany „Jak w Cursorze przygotować opis commita ze zmian w indeksie (staged)?”

Agent napisze opis commita na podstawie promptu, a do tego możesz podać mu format przyjęty w zespole. Dodawaj do indeksu jedną spójną zmianę naraz: skupiony diff daje skupiony opis.

Diff pokazuje, co się zmieniło, ale nie dlaczego, więc podaj powód w jednym zdaniu. Format egzekwuj przez commitlint w hooku commit-msg albo w CI, a nie przez ponowne czytanie opisów; oszczędzanie czasu w Cursorze przy codziennych obowiązkach pokazuje konfigurację.

Jak zostawić Bugbotowi pierwszy przegląd pull requesta?

Dział zatytułowany „Jak zostawić Bugbotowi pierwszy przegląd pull requesta?”

Bugbot to recenzent pull requestów od Cursora: według Cursora „reviews pull requests and identifies bugs, security issues, and code quality problems” (strona Bugbota w dokumentacji Cursora, sprawdzone 28 sierpnia 2026). Gdy włączysz go dla repozytorium, komentuje każdy pull request. Według stron pomocy Cursora (źródło wtórne, nie sprawdzaliśmy go ponownie 26 września 2026) komentarz bugbot run w pull requeście uruchamia przegląd ponownie, a zacommitowany plik .cursor/BUGBOT.md przekazuje Bugbotowi wskazówki dla projektu.

Traktuj Bugbota jako jedną z warstw, a nie jako bramkę. Jego znaleziska nadal wymagają decyzji, a CI nadal musi przejść. Bugbot: wyuczone reguły i Autofix opisuje plik reguł, Autofix i test z celowo wstawionym błędem, który dowodzi, że Bugbot wyłapuje prawdziwe błędy. Ceny celowo pomijamy; sprawdź je na stronie cennika Cursora.

Planuj funkcje i pokaż agentowi Cursora to, co widzisz

Dział zatytułowany „Planuj funkcje i pokaż agentowi Cursora to, co widzisz”

Dwa najtańsze sposoby na uniknięcie złego diffu to przejrzany plan i obraz tego, co ma powstać.

Jak zaplanować funkcję w Plan Mode Cursora, zanim ją zbudujesz?

Dział zatytułowany „Jak zaplanować funkcję w Plan Mode Cursora, zanim ją zbudujesz?”

Przy funkcji obejmującej kilka warstw zacznij w Plan Mode. Agent bada kod i pisze plan przed jakąkolwiek edycją; prompt poniżej każe mu najpierw zadać otwarte pytania. Plan przegląda się dużo taniej niż diff.

Odpowiedz na pytania, usuń niepotrzebne kroki i zbuduj zatwierdzony plan w trybie Agent. Lista plików staje się zakresem dla kontroli zakresu z sekcji o cofaniu tury agenta.

Jak poprawić UI na podstawie zrzutu ekranu z agentem Cursora?

Dział zatytułowany „Jak poprawić UI na podstawie zrzutu ekranu z agentem Cursora?”

Agent przyjmuje obrazy w czacie: przeciągnij zrzut ekranu, makietę albo eksport z narzędzia do projektowania. Połącz to z regułą projektu, która wymienia twoje tokeny i komponenty, żeby agent przełożył obraz na twój design system, a nie pisał jednorazowego CSS. Zrzuty ekranu z błędami też działają.

Sprawdź poprawkę w przeglądarce przy tej samej szerokości i dodaj test wizualny albo komponentowy, jeśli projekt je ma. Więcej znajdziesz w Frontend i UI w Cursorze.

Każda sekcja powyżej kończy się dowodem, a nie zaufaniem. Kontrole w kolejności uruchamiania:

KontrolaCo wyłapujeKto zatwierdza
Kontrola zakresu (cofanie tury agenta)Pliki zmienione poza tym, o co prosiłeśTy, przed commitem
Bramka z kodami wyjścia (pętla do zielonego buildu, bramka przed PR)Błędy typów, błędy lintera, zepsute testyPolecenie; ty czytasz trzy kody wyjścia
Testy napisane z kryteriów akceptacji (Plan Mode)Kod, który się kompiluje, ale robi nie to, co trzebaTy zatwierdzasz kryteria, testy ich pilnują
Znaleziska BugbotaBłędy i problemy bezpieczeństwa, których bramka nie widziAutor pull requesta, potem recenzent
CI w pull requeścieWszystko powyżej, na czystej maszynieReguły ochrony gałęzi

Czytaj kod tam, gdzie kontrole są słabe: w ścieżkach wrażliwych na bezpieczeństwo, w migracjach danych i we wszystkim, czego testy nie obejmują. Pakiet dowodów to wersja tej tabeli dla pull requestów, wspólna dla wszystkich narzędzi.

Edycja inline pisze kod, który się nie kompiluje. Zmiana zależała od typu albo helpera spoza zaznaczenia. Cofnij ją, a potem albo poszerz zaznaczenie o to, czego potrzebuje, albo przejdź do agenta i dołącz plik przez @.

Przygotowane polecenie terminala używa złego narzędzia. Wersja robocza zaproponowała npm w projekcie na pnpm albo flagę z macOS na Linuksie. Odrzuć ją i dopisz menedżera pakietów oraz platformę do reguły projektu, żeby kolejne propozycje się do niej stosowały.

Agent uzyskał zielony build, osłabiając kontrole. Poszukaj nowych any (także rzutowań as any i <any>), @ts-ignore, eslint-disable i pominiętych testów tym poleceniem, które nie zmienia indeksu:

Okno terminala
{ git diff -U0 HEAD; git ls-files --others --exclude-standard -z \
| xargs -0 -I{} git diff -U0 --no-index /dev/null {}; } \
| grep -E '^\+.*(ts-ignore|ts-expect-error|eslint-disable|\.skip\(|: any\b|as any\b|<any>)'

Liczą się tylko linie zaczynające się od +: usunięcie starego @ts-ignore nie jest regresją. Pierwsza część porównuje śledzone pliki z HEAD, łącznie ze zmianami, które agent już dodał do indeksu; druga porównuje każdy nowy, nieśledzony plik z pustym plikiem. Potem wypisz zmienioną konfigurację narzędzi sprawdzających: git diff --name-only HEAD -- '*eslint*' '*tsconfig*' '*.oxlintrc*'. Przywróć checkpoint i dodaj do promptu zasadę „do not silence the checker”, jak w prompcie z pętlą do zielonego buildu powyżej.

Agent zmienił pliki, o których nie wspominałeś. Kontrola zakresu je wypisze. Odrzuć każdy przez git restore --source=HEAD -- <ścieżka> albo usuń nowe pliki, a potem ponów prompt z listą dozwolonych katalogów i dopiskiem „stop and ask if you need a file outside this scope”.

Po przywróceniu checkpointu projekt jest w stanie pośrednim. Pliki utworzone przez agenta albo skutki uruchomionych poleceń mogą przetrwać przywrócenie. Uruchom git status --short i usuń to, co nie pasuje. Jeśli agent uruchomił migrację albo zainstalował pakiet, cofnij to ręcznie, a przed następną turą zacommituj, żeby Git miał czysty punkt przywracania.

Bugbot wciąż zgłasza celowy wzorzec. Wyjaśnij w .cursor/BUGBOT.md, dlaczego ten wzorzec jest celowy, i odrzuć bieżący komentarz. Jeśli znalezisko jest prawdziwe, popraw je przed przeglądem przez człowieka, a nie po nim.