Limity tokenów
Standardowy: 128k tokenów (~10,000 linii) Tryb Max: do 1M tokenów (~80,000 linii)
Zarządzanie kontekstem to sekret uzyskiwania świetnych rezultatów z Cursor. Ten 15-minutowy przewodnik nauczy cię władać symbolami @ jak profesjonalista, sprawnie zarządzać dużymi bazami kodu i rozwijać funkcje z chirurgiczną precyzją.
Limity tokenów
Standardowy: 128k tokenów (~10,000 linii) Tryb Max: do 1M tokenów (~80,000 linii)
Inteligentny wybór
Więcej kontekstu nie zawsze znaczy lepiej - skupiony, istotny kontekst daje lepsze rezultaty
Wpływ kosztów
Każdy token kosztuje - efektywne zarządzanie kontekstem oszczędza znaczny budżet
Wydajność
Mniejszy, skupiony kontekst = szybsze odpowiedzi i lepsza precyzja
Symbol | Cel | Najlepiej używać do |
---|---|---|
@Files | Odwołanie do konkretnych plików | Szczegóły implementacji, naprawy błędów |
@Folders | Dołączenie całych katalogów | Rozwój funkcji, refaktoryzacja |
@Code | Semantyczne wyszukiwanie kodu | Znajdowanie implementacji, zrozumienie przepływu |
@Docs | Dostęp do dokumentacji | Nauka bibliotek, sprawdzanie API |
@Web | Wyszukiwanie zasobów online | Najnowsze aktualizacje, rozwiązania |
@Definitions | Znajdowanie definicji symboli | Zrozumienie struktury kodu |
@Git | Kontekst kontroli wersji | Historia, zmiany, blame |
@Recent-changes | Najnowsze modyfikacje | Kontynuacja pracy, debugowanie |
@Linter-errors | Obecne błędy | Naprawianie problemów, poprawa jakości |
# Pojedynczy plik@auth.service.ts
# Wiele plików@auth.service.ts @auth.controller.ts @auth.module.ts
# Ze ścieżką@src/services/auth.service.ts
# Dopasowanie rozmyte@auth # Znajduje pliki związane z auth
# Wielokrotny wybórWpisz @, następnie przytrzymaj Shift i kliknij wiele plików
# Ostatnie pliki@<Tab> pokazuje ostatnio otwarte pliki
Kiedy używać @Folders
Używaj do zmian w całej funkcji, zrozumienia struktury modułów lub refaktoryzacji całych komponentów.
Rozwój funkcji:
"Implementuj uwierzytelnianie użytkownika używając @src/auth/"
Zrozumienie modułu:
"Wyjaśnij jak działa system płatności @src/payments/"
Refaktoryzacja:
"Refaktoryzuj aby używać dependency injection @src/services/"
Najpotężniejszy symbol @ do zrozumienia baz kodu:
# Znajdź gdzie funkcja jest implementowana@Code "implementacja validateUser"
# Lokalizuj wzorce użycia@Code "gdzie używany jest cache Redis"
# Zrozum przepływ danych@Code "jak dane użytkownika przepływają przez system"
# Wzorce projektowe@Code "implementacje wzorca repository"
# Zagadnienia przekrojowe@Code "strategia obsługi błędów"
# Punkty integracji@Code "wywołania zewnętrznych API"
# Znajdź powiązany kod@Code "funkcje które wywołują sendEmail"
# Śledź wykonanie@Code "przepływ uwierzytelniania od loginu do dashboardu"
# Lokalizuj podobne wzorce@Code "podobna logika walidacji"
Indeksowana dokumentacja
Uzyskaj natychmiastowy dostęp do dokumentacji swojego projektu
Zewnętrzna dokumentacja
W połączeniu z serwerami MCP jak Context7 dla dokumentacji bibliotek
Wzorce użycia:
# Dokumentacja projektu@Docs "uwierzytelnianie API"
# Z Context7 MCP"Jak używać webhooków Stripe? @Docs z context7"
# Decyzje architektoniczne@Docs "projekt schematu bazy danych"
# Ostatnie zmiany@Git "zmiany w ostatnim tygodniu"
# Historia funkcji@Git "commity związane z uwierzytelnianiem"
# Wprowadzenie błędu@Git "kiedy ten błąd został wprowadzony"
# Kto to napisał@Git "kto ostatnio modyfikował auth.service.ts"
# Zrozumienie decyzji@Git "dlaczego tutaj dodano cache"
# Wzorce zespołu@Git "najaktywniejszi kontrybutorzy modułu płatności"
# Gałęzie funkcjonalne@Git "różnice między main a feature/oauth"
# Planowanie wydania@Git "co nowego w release/2.0"
# Rozwiązywanie konfliktów@Git "konflikty merge z gałęzią main"
Zacznij szeroko:
"Wyjaśnij obecny system użytkowników @src/users/"
Zbliż się:
"Skup się na tworzeniu użytkowników @user.service.ts @user.dto.ts"
Powiązany kontekst:
"Pokaż podobne wzorce @Code 'tworzenie encji'"
Implementacja:
"Implementuj preferencje użytkownika z @user.model.ts @preferences.dto.ts"
Stos kontekstu debugowania
Warstwy kontekstu od konkretnego do ogólnego dla skutecznego debugowania.
# Warstwa 1: Lokalizacja błędu@src/api/users/users.controller.ts@Linter-errors
# Warstwa 2: Powiązane pliki@src/api/users/users.service.ts@src/api/users/dto/
# Warstwa 3: Ostatnie zmiany@Recent-changes@Git "ostatnie zmiany w module users"
# Warstwa 4: Zrozumienie systemu@Code "przepływ danych użytkownika"
Użyj trybu Ask z szerokim kontekstem:
"Przeanalizuj wpływ zmiany naszego ORM@src/models/ @src/repositories/ @Code 'zapytania bazy danych'"
Użyj trybu Agent ze skupionym kontekstem:
"Migruj UserRepository do nowego wzorca ORM@src/repositories/user.repository.ts@src/models/user.model.ts@migrations/"
Kontekst oparty na testach:
"Sprawdź czy wszystkie testy przechodzą po refaktoryzacji@src/repositories/user.repository.spec.ts@Linter-errors"
Buduj kontekst stopniowo dla złożonych zadań:
# Warstwa bazowa@auth.service.ts
# Dodaj testy@auth.service.ts @auth.service.spec.ts
# Dodaj zależności@auth.service.ts @auth.service.spec.ts @jwt.service.ts
# Dodaj konfigurację@auth.service.ts @auth.service.spec.ts @jwt.service.ts @config/auth.config.ts
Twórz wzorce kontekstu do ponownego użycia:
# Szablon kontekstu funkcji@src/features/[feature]/@src/features/[feature]/dto/@src/features/[feature]/tests/@Code "implementacja [feature]"@Docs "wymagania [feature]"
# Szablon kontekstu debugowania@[plik-błędu]@Linter-errors@Recent-changes@Git "ostatnie commity dotykające [plik-błędu]"@Code "funkcje wywołujące [funkcja-błędu]"
# Szablon kontekstu refaktoryzacji@[katalog-docelowy]/@Code "użycie [stary-wzorzec]"@Code "przykłady [nowy-wzorzec]"@Git "poprzednie commity refaktoryzacji"
Przełączanie kontekstu
Użyj skrótów klawiszowych do szybkiego dostosowania kontekstu bez przerywania przepływu.
Akcja | Skrót | Kiedy używać |
---|---|---|
Dodaj plik | @ następnie nazwa pliku | Potrzebujesz konkretnego pliku |
Usuń z kontekstu | Kliknij ✕ na pigułce | Za dużo kontekstu |
Wyczyść cały kontekst | /Reset Context | Zaczynasz od nowa |
Dodaj otwarte pliki | /Add Open Files | Pracujesz z wieloma plikami |
Włącz inteligentne indeksowanie:
Optymalizuj .gitignore:
# Ignorowania specyficzne dla Cursornode_modules/dist/build/*.log.env*coverage/
Użyj .cursorignore:
# Dodatkowe ignorowania tylko dla Cursortest-data/migrations/data/docs/legacy/
Dziel duże zadania
Rozbijaj na mniejsze, skupione operacje
Progresywny kontekst
Zacznij minimalne, dodawaj kontekst według potrzeb
Regularnie czyść
Resetuj kontekst między głównymi zadaniami
Używaj konkretnych ścieżek
Pełne ścieżki są szybsze niż wyszukiwanie rozmyte
❌ ŹLE: @src/ "Napraw błąd uwierzytelniania"
✅ DOBRZE: @src/auth/auth.service.ts @logs/auth-error.log"Napraw błąd wygaśnięcia JWT w linii 47"
❌ ŹLE: @user.service.ts "Dodaj walidację"
✅ DOBRZE: @user.service.ts @user.dto.ts @validation/"Dodaj walidację pasującą do naszych wzorców"
❌ ŹLE: "Dlaczego to nie działa?"
✅ DOBRZE: @feature.ts @Git "ostatnie zmiany""Dlaczego to nie działa po ostatnich zmianach?"
Krok 1: Zrozum istniejące wzorce@Code "implementacje endpointów POST" @src/api/
Krok 2: Skup się na konkretnym module@src/api/products/ @src/api/products/dto/
Krok 3: Implementacja z przykładami"Utwórz endpoint POST /api/products/review"@src/api/products/products.controller.ts@src/api/products/products.service.ts@src/api/products/dto/create-review.dto.ts
Krok 4: Testowanie@src/api/products/products.controller.spec.ts"Dodaj testy dla endpointu review"
Krok 1: Zidentifikuj wolne obszary@Code "zapytania bazy danych" @logs/performance.log
Krok 2: Skup się na wąskim gardle@src/services/report.service.ts@Code "funkcje wywołujące generateReport"
Krok 3: Optymalizacja@src/services/report.service.ts @src/db/queries/"Optymalizuj generowanie raportów używając zapytań batch"
Kontynuuj do pierwszej funkcji
Teraz połóżmy wszystkie twoje umiejętności razem i zbudujmy twoją pierwszą funkcję wspomaganą przez AI.
Czas: 15 minut