[Cursor-Guide]Große Codebasen

Autor:Cursor
Plattform:Lokale Datei
Datum:2025-05-31

Erfahren Sie Experten-Techniken zur Verwaltung großer Codebasen in Cursor. Entdecken Sie, wie Sie komplexe Projekte effizient und selbstbewusst navigieren, verstehen und dazu beitragen können.

große-codebasencursorcode-verwaltungentwickler-toolssoftware-entwicklung

[Cursor-Guide]Große Codebasen

Original-Link: Original-Link


Arbeiten mit großen Codebasen in Cursor

Die Arbeit mit großen Codebasen bringt eine Reihe neuer Herausforderungen mit sich, die bei kleineren Projekten nicht auftreten. Basierend auf unseren Erfahrungen mit der Skalierung der eigenen Codebase von Cursor und den Erkenntnissen von Kunden, die massive Codebasen verwalten, haben wir einige nützliche Muster für den Umgang mit erhöhter Komplexität entdeckt.

In diesem Leitfaden werden wir einige dieser Techniken vorstellen, die sich bei großen Codebasen als hilfreich erwiesen haben.

largeCodebases-1

Chat nutzen, um sich schnell in unbekanntem Code zurechtzufinden

Das Navigieren durch eine große Codebase, insbesondere wenn sie neu für Sie ist, kann schwierig sein. Oft müssen Sie grep, suchen und herumklicken, um die spezifischen Teile der Codebase zu finden, nach denen Sie suchen. Mit Chat können Sie Fragen stellen, um das Gesuchte zu finden und eine detaillierte Erklärung dazu zu erhalten.

Hier erhalten wir Hilfe, um Implementierungsdetails der Codebase-Indizierung in Cursor zu finden, und bitten sogar um einige Beispiele, um das Verständnis zu erleichtern.

Um Cursor ein besseres Verständnis der Struktur Ihrer Codebase zu ermöglichen, aktivieren Sie Include Project Structure in den Einstellungen für eine verbesserte Leistung.

project-structure

Regeln für domänenspezifisches Wissen schreiben

Wenn Sie einen neuen Mitarbeiter in Ihre Codebase einarbeiten würden, welche Informationen würden Sie ihm geben, um sicherzustellen, dass er sinnvolle Beiträge leisten kann?

Ihre Antwort auf diese Frage ist wahrscheinlich auch wertvolle Information für Cursor. Für jede Organisation oder jedes Projekt gibt es latentes Wissen, das möglicherweise nicht vollständig in Ihrer Dokumentation erfasst ist. Die effektive Nutzung von Regeln ist der beste Weg, um sicherzustellen, dass Cursor das Gesamtbild versteht.

Zum Beispiel, wenn Sie Anleitungen für die Implementierung einer neuen Funktion oder eines Dienstes schreiben, sollten Sie eine kurze Regel für die Nachwelt dokumentieren.

Boilerplate

---

description: Fügen Sie einen neuen VSCode-Frontend-Dienst hinzu

---

1. **Schnittstellendefinition:**
   - Definieren Sie eine neue Dienstschnittstelle mit `createDecorator` und stellen Sie sicher, dass `_serviceBrand` enthalten ist, um Fehler zu vermeiden.

2. **Dienstimplementierung:**
   - Implementieren Sie den Dienst in einer neuen TypeScript-Datei, erweitern Sie `Disposable` und registrieren Sie ihn als Singleton mit `registerSingleton`.

3. **Dienstbeitrag:**
   - Erstellen Sie eine Beitragsdatei, um den Dienst zu importieren und zu laden, und registrieren Sie ihn im Haupt-Einstiegspunkt.

4. **Kontextintegration:**
   - Aktualisieren Sie den Kontext, um den neuen Dienst einzubeziehen und den Zugriff im gesamten Anwendung zu ermöglichen.

Wenn es allgemeine Formatierungsmuster gibt, an die sich Cursor halten soll, können Sie Regeln basierend auf Glob-Mustern automatisch anhängen.

Formatierung

---

globs: *.ts

---
- Verwenden Sie bun als Paketmanager. Siehe [package.json](mdc:backend/reddit-eval-tool/package.json) für Skripte
- Verwenden Sie kebab-case für Dateinamen
- Verwenden Sie camelCase für Funktions- und Variablennamen
- Verwenden Sie UPPERCASE_SNAKE_CASE für hartkodierte Konstanten
- Bevorzugen Sie `function foo()` gegenüber `const foo = () =>`
- Verwenden Sie `Array<T>` anstelle von `T[]`
- Verwenden Sie benannte Exporte statt Standardexporte, z.B. (`export const variable ...`, `export function `)

Bleiben Sie nah am Planungserstellungsprozess

Für größere Änderungen kann die Investition von überdurchschnittlich viel Zeit in die Erstellung eines präzisen, gut abgegrenzten Plans die Ausgabe von Cursor erheblich verbessern.

Wenn Sie feststellen, dass Sie nach einigen Variationen desselben Prompts nicht das gewünschte Ergebnis erhalten, sollten Sie einen Schritt zurücktreten und einen detaillierteren Plan von Grund auf neu erstellen, als würden Sie ein PRD für einen Kollegen erstellen. Oft ist das Schwierige herauszufinden, welche Änderung vorgenommen werden sollte, eine Aufgabe, die gut für Menschen geeignet ist. Mit den richtigen Anweisungen können wir Teile der Implementierung an Cursor delegieren.

Eine Möglichkeit, KI zur Unterstützung des Planungserstellungsprozesses zu nutzen, ist der Ask-Modus. Um einen Plan zu erstellen, aktivieren Sie den Ask-Modus in Cursor und geben Sie alle Informationen aus Ihren Projektmanagement-Systemen, internen Dokumenten oder losen Gedanken ein. Denken Sie darüber nach, welche Dateien und Abhängigkeiten Sie in der Codebase haben, die Sie bereits einbeziehen möchten. Dies könnte eine Datei sein, die Code enthält, den Sie integrieren möchten, oder vielleicht ein ganzer Ordner.

Hier ist ein Beispiel-Prompt:

Planungs-Prompt

- Erstellen Sie einen Plan, wie wir eine neue Funktion erstellen sollten (genau wie @existingfeature.ts)
- Stellen Sie mir Fragen (maximal 3), falls etwas unklar ist
- Stellen Sie sicher, dass die Codebase durchsucht wird

@Past Chats (meine früheren Erkundungs-Prompts)

hier ist etwas mehr Kontext aus [Projektmanagement-Tool]:

[eingefügte Ticketbeschreibung]

Wir bitten das Modell, einen Plan zu erstellen und Kontext zu sammeln, indem es dem Menschen Fragen stellt, auf frühere Erkundungs-Prompts verweist und auch die Ticketbeschreibungen berücksichtigt. Die Verwendung eines Denkmodells wie claude-3.7-sonnet, gemini-2.5-pro oder o3 wird empfohlen, da sie die Absicht der Änderung besser verstehen und einen Plan besser synthetisieren können.

Darauf aufbauend können Sie den Plan iterativ mit Hilfe von Cursor formulieren, bevor Sie mit der Implementierung beginnen.

largeCodebases-2

Wählen Sie das richtige Werkzeug für die Aufgabe

Eine der wichtigsten Fähigkeiten, um Cursor effektiv zu nutzen, ist die Auswahl des richtigen Werkzeugs für die Aufgabe. Überlegen Sie, was Sie erreichen möchten, und wählen Sie den Ansatz, der Sie im Flow hält.

WerkzeugAnwendungsfallStärkeEinschränkung
TabSchnelle, manuelle ÄnderungenVolle Kontrolle, schnellEinzeldatei
Cmd KFokussierte Änderungen in einer DateiGezielte BearbeitungenEinzeldatei
ChatGrößere, mehrdateiige ÄnderungenSammelt automatisch Kontext, tiefgreifende BearbeitungenLangsamer, kontextintensiv

Jedes Werkzeug hat seinen optimalen Einsatzbereich:

  • Tab ist Ihr Werkzeug der Wahl für schnelle Bearbeitungen, bei denen Sie das Steuer in der Hand behalten möchten
  • Cmd K glänzt, wenn Sie gezielte Änderungen an einem bestimmten Codeabschnitt vornehmen müssen
  • Chat ist perfekt für größere Änderungen, bei denen Cursor den breiteren Kontext verstehen muss

Wenn Sie den Chat-Modus verwenden (der etwas langsamer sein kann, aber unglaublich leistungsfähig ist), helfen Sie ihm, Ihnen zu helfen, indem Sie guten Kontext bereitstellen. Verwenden Sie @files, um auf ähnlichen Code zu verweisen, den Sie emulieren möchten, oder @folder, um ihm ein besseres Verständnis Ihrer Projektstruktur zu geben. Und haben Sie keine Angst, größere Änderungen in kleinere Teile zu zerlegen – das Starten neuer Chats hilft, den Fokus und die Effizienz zu erhalten.

Wichtige Erkenntnisse

  • Begrenzen Sie Änderungen und versuchen Sie nicht, zu viel auf einmal zu tun
  • Fügen Sie relevanten Kontext ein, wann immer möglich
  • Verwenden Sie Chat, Cmd K & Tab für das, wofür sie am besten geeignet sind
  • Starten Sie häufig neue Chats
  • Planen Sie mit Ask-Modus, implementieren Sie mit Agent-Modus

Artikelreihenindex