Poza Tab i Cmd+K: konfiguracja kursora dla kontekstu, bezpieczeństwa i skali
Zgrupowana wycieczka po mniej używanych funkcjach Cursora – od reguł skojarzonych z kontekstem i @context po listy pozwalające na automatyczne uruchamianie, punkty kontrolne oraz agenty w tle – wraz z wyjaśnieniem, kiedy każda z nich jest przydatna.
Większość programistów poznaje trzy funkcje Cursor już w pierwszej godzinie: Tab do uzupełniania tekstu, Cmd+K (Ctrl+K w systemach Windows i Linux) do edycji w trakcie pisania oraz panel czatu do zadawania pytań dotyczących otwartych plików. Wielu z nich nie wraca już później do ustawień, przez co funkcje najbardziej wpływające na szybkość i bezpieczeństwo pozostają niewykorzystane. Ten przewodnik grupuje piętnaście z tych bardziej zaawansowanych funkcji według problemów, które rozwiązują: szybszą edycję, dostarczenie modelowi odpowiedniego kontekstu, wybór właściwego trybu, zapewnienie bezpieczeństwa autonomicznych procesów oraz skalowanie poza jeden repozytorium. Cursor szybko się zmienia, a niektóre funkcje zostały przemianowane, połączone lub usunięte pomiędzy wersjami, więc traktuj nazwy i lokalizacje w menu jako punkt wyjścia i sprawdź je w aktualnej dokumentacji Cursor.
Szybsza edycja w edytorze i terminalu
Tab przewiduje twoją następną edycję, a nie tylko następny token
Tab jest często traktowany jako bardziej zaawansowane narzędzie autodopowiadania, ale działa inaczej. Bierze pod uwagę twoje ostatnie zmiany w całym pliku, a nie tylko tekst znajdujący się przy kursorze, i przewiduje następną edycję, którą prawdopodobnie dokonasz w innym miejscu tego pliku. Jeśli przemienisz nazwę zmiennej na początku komponentu lub widgetu, Tab często przejdzie do tego miejsca i zaproponuje przemianowanie jej późniejszych użyciów, zanim zdążysz do nich przewinąć. Akceptacja serii takich prognoz jest często szybsza niż wyszukiwanie i zastępowanie, ponieważ Tab dostosowuje również otaczający kod, zamiast ślepo zamieniać ciągi znaków.
Cmd+K działa również w zintegrowanym terminalu
Skrót do edycji w miejscu nie jest ograniczony tylko do edytora. W wbudowanym terminalu Cursora możesz opisać potrzebną komendę w prostym języku, a on wygeneruje odpowiednią składnię. Jest to przydatne w przypadku poleceń, których flagi trudno jest zapamiętać, takich jak git rebase --onto. Przeczytaj wygenerowaną komendę przed naciśnięciem Enter, szczególnie gdy dotyczy ona historii zmian lub usuwania plików.
Dostarczanie modelowi odpowiedniego kontekstu
Jakość odpowiedzi w dużej mierze zależy od tego, co model może zobaczyć. Istnieje kilka funkcji przeznaczonych wyłącznie do kontroli tego aspektu.
@Codebase przeszukuje cały zindeksowany projekt
Wspomnienie @Codebase w poleceniu sprawia, że Cursor przeszukuje cały indeks projektu w poszukiwaniu powiązanych plików, więc nie jest ograniczony do otwartych kart. W aplikacji mobilnej z piętnastoma plikami widgetów to różnica między domyślnymi przypuszczeniami modelu co do sposobu zarządzania stanem a faktycznym znalezieniem już napisanego dostawcy. W nowszych wersjach agent może samodzielnie przeszukiwać kod bazę bez konieczności wyraźnego wspomnienia o tym, więc sprawdź, jak zachowuje się twoja wersja.
@Docs indeksuje dokumentację stron trzecich
Możesz wskazać Cursorowi stronę dokumentacji biblioteki, aby została ona zindeksowana i mogła być używana w czacie. Przy przyjmowaniu nowego pakietu jest to lepsze niż co raz wklejanie stron dokumentacji do rozmowy, gdy pojawia się pytanie, a także zapewnia, że odpowiedzi odnoszą się do rzeczywistej API biblioteki, a nie do jej pamięci modelu.
@Web umożliwia sesji sprawdzanie jej własnych twierdzeń
Gdy model stwierdza coś na temat API lub wersji z większą pewnością, niż jest to uzasadnione, @Web uruchamia natychmiastowe wyszukiwanie zamiast zmuszania użytkownika do weryfikacji tego w przeglądarce. Nie zastępuje ono czytania oficjalnych dokumentacji, ale jest szybkim sposobem na wykrycie wymyślonego nazwy metody, zanim trafi ona do kodu.
Zasady skojarzone z kontekstem w .cursor/rules
Jedyny plik .cursorrules znajdujący się w korzeniu repozytorium jest nadal obsługiwany, jednak nowsza struktura polega na katalogu .cursor/rules zawierającym pliki .mdc, z których każdy odnosi się do konkretnych wzorców plików. Dzięki temu jeden repozytorium może zawierać oddzielne zestawy reguł – na przykład jedne dla komponentów Flutter, a inne dla skryptów w Pythonie – zamiast jednego dużego pliku, który próbuje objąć wszystko i osłabia każdą instrukcję. Krótkie i precyzyjne reguły pozwalają również zachować większą ilość przestrzeni kontekstowej dla kodu.
Zeszyty notatkowe do ponownego użycia w kontekście
Zeszyt notatek to zapisany blok informacji, takich jak notatki architektoniczne, specyfikacja funkcji lub powtarzalne fragmenty kodu, które możesz włączyć do dowolnej sesji czatu lub Composer za pomocą @. Zamiast co sesję ponownie podawać informację „w tym projekcie do zarządzania stanem używa się Riverpod, a do części backendowej Supabase”, zapisujesz ją raz i odwołujesz się do niej później. Zeszyty notatek zostały przepracowane w najnowszych wersjach Cursor, a pliki z regułami lub dokumentacją projektu mogą pełnić tę samą funkcję, więc używaj tego mechanizmu, który jest obsługiwany przez twoją wersję.
.cursorignore utrzymuje indeks w czystości
.cursorignore funkcjonuje podobnie do .gitignore, ale dotyczy tego, co jest indeksowane i wyszukiwane przez Cursor. Wyniki z @Codebase ulegają zanieczyszczeniu, jeśli nie zostaną wykluczone pliki wyników kompilacji, kod generowany oraz zależności pakowane razem z aplikacją. Rozdęty indeks nie tylko spowalnia pracę, ale także zwiększa szanse na to, że model będzie odwoływał się do przestarzałych plików generowanych zamiast do rzeczywistego źródła kodu. Dodawaj wpisy do pliku .cursorignore jak najszybciej, najlepiej odzwierciedlając ścieżki już istniejące w .gitignore.
Wybór odpowiedniego trybu dla zadania
Tryb Composer versus Agent
To są różne narzędzia. Composer obsługuje edycję wielu plików i pokazuje różnice, które można przejrzeć przed zastosowaniem jakichkolwiek zmian. Tryb Agent uruchamia rozszerzony cykl: czyta bazę kodu, edytuje pliki, wykonywa komendy terminala, analizuje wyniki i kontynuuje pracę, dopóki zadanie nie zostanie zakończone lub nie napotka przeszkody. Traktowanie ich jako wymiennych prowadzi do dwóch przeciwnych błędów: niekorzystania z trybu Agent przy dużych refaktoryzacjach, gdzie jest on szczególnie przydatny, oraz jego używania w przypadku zmian, które wymagały jedynie czystej, poddawalnej ocenie różnicy.
Tryb Ask, gdy nic jeszcze nie powinno się zmienić
Tryb pytań to zwykła rozmowa, w której Cursor odpowiada na pytania i omawia Twój kod, bez możliwości jego edycji. Jest to odrębne od kroku planowania tylko do odczytu, który może być wykonywany w trybie Agent. Użyj go podczas eksploracji, na przykład przy badaniu subtelnego błędu, gdy chcesz uczciwej analizy bez tego, by rozmowa przerodziła się w edycję, której nie żądałeś.
Zapewnianie bezpieczeństwa autonomicznych wykonywań
Wykonanie automatyczne z listami dostępu i odrzuceń
Tryb od dawna znany jako tryb YOLO (w nowszych wersjach opisywany jest poprzez automatycznie wykonywane polecenia) nie polega na prostym włączaniu i wyłączaniu. Konfiguruje się listę pozwalanych poleceń, takich jak npm test lub flutter analyze, które działają bez potwierdzenia, oraz listę zabronionych poleceń, takich jak rm -rf lub git push, które zawsze wymagają twojej zgody. Należy najpierw określić listę zabronionych poleceń, a dopiero potem listę pozwalanych. Zignorowanie tej kolejności sprawia, że agent bez nadzoru zamienia się w źródło długotrwałych problemów podczas prób naprawy. Pamiętaj również, że lista zabronionych poleceń dopasowuje się do wzorców: polecenia mogą być łączone lub umieszczane w skryptach, więc lista ta jedynie zmniejsza ryzyko, a nie eliminuje je całkowicie.
Przywrócenie punktu kontrolnego dla częściowych cofnięć
Kursor rejestruje punkty kontrolne twojej bazy kodu w określonych momentach podczas działania agenta. Jeśli większość zmian wprowadzonych przez agenta jest poprawna, ale kilka zakłóciło proces budowania, funkcja „Przywróć punkt kontrolny” pozwala wrócić do konkretnego wcześniejszego stanu bez konieczności ręcznego porównywania plików. Funkcja ta znajduje się w widoku historii Composer lub czatu, dlatego wielu ludzi jej nie odkrywa. Punkty kontrolne są wygodą, a nie zamiennikiem kontroli wersji, więc pamiętaj również o regularnym zapisywaniu istotnych stanów do Gitu.
Agenty w tle do dobrze zdefiniowanych zadań
Zamiast obserwować pracę agenta, możesz przekazać mu określone zadanie do wykonania w tle i wrócić później do prośby o integrację. Dobrymi kandydatami są proste, jasno sformułowane zadania, takie jak aktualizacja zależności, naprawa błędów lint w całym repozytorium lub dodanie wskaźników typu do starego modułu. Wszystko, czego nie można dokładnie opisać w jednej wiadomości, nie nadaje się do tego zastosowania, ponieważ nikt nie będzie mógł odpowiedzieć na pytania agenta w trakcie pracy.
Praca poza pojedynczym repozytorium
MCP łączy Cursor z zewnętrznymi systemami
Protokół Model Context Protocol umożliwia narzędziu Cursor bezpośrednie wysyłanie zapytań do zewnętrznych narzędzi, w tym systemów do zarządzania ticketami, wewnętrznych API oraz baz danych, podczas sesji, co eliminuje konieczność ręcznego kopiowania i wklejania. Zespoły, które już uruchamiają serwery MCP dla Claude Code lub innego klienta, mogą często wykorzystać je również w Cursorze. Nadaj każdemu serwerowi tylko te uprawnienia, których potrzebuje, ponieważ agent może działać poprzez to, z czym jest połączony.
Przestrzenie robocze o wielu korzeniach obejmują kilka repozytoriów
Gdy aplikacja komunikuje się z backendem znajdującym się w jej własnym repozytorium, przestrzeń robocza o wielu korzeniach pozwala Cursorowi widzieć oba jednocześnie, dzięki czemu nie trzeba zmieniać okien za każdym razem, gdy zmiana dotyczy obu stron. W przypadku systemów zbudowanych jako połączone usługi, a nie monolity, sama ta możliwość już uzasadnia czas potrzebny na konfigurację, ponieważ model może przestrzegać umowy API od klienta do serwera.
Główne wnioski
- Najważniejsze są cechy kontekstowe:
@Codebase,@Docs, zasady skojarzone z konkretnym zakresem, notatki wielokrotnie używalne oraz czysty plik.cursorignoredecydują o tym, co faktycznie widzi model. - Dostosuj tryb do zadania: Composer do przeglądania różnic, tryb Agent do długich, wieloetapowych zadań, tryb Ask do analizy bez dokonywania zmian.
- Konfiguruj zasady bezpieczeństwa przed nadaniem autonomii: najpierw utwórz listę rzeczy do odrzucenia, dowiedz się, gdzie znajduje się punkt przywracania, i kontynuuj zapisywanie zmian do Git.
- Deleguj tylko te zadania, które możesz w pełni określić dla agentów działających w tle.
- Oczekuj, że nazwy funkcji i ich lokalizacje mogą ulegać zmianom pomiędzy wersjami, i sprawdzaj aktualną dokumentację, gdy coś wydaje się brakować.
Literatura pokrewna
- Jak protokół model-contextu pozwala agentom SI odkrywać i korzystać z narzędzi — Jasne wyjaśnienie MCP: jak hosty, klienci i serwery umożliwiają aplikacjom SI odkrywanie narzędzi, wywoływanie ich za pomocą ustrukturyzowanych danych wejściowych oraz określanie ich ograniczeń.
- Cursor, Claude Code i Codex: wybór narzędzia do programowania AI dla JS — To porównanie szczegółowo opisuje, jak Cursor, Claude Code i Codex pasują do różnych scenariuszy pracy z JavaScriptem, od programowania w edytorze po zadania wykonywane przez autonomiczne agenty.