KI-Code-Vervollständigung
Die KI-gestützte Code-Vervollständigung von Sidian geht über herkömmliches IntelliSense hinaus und bietet intelligente, kontextbezogene Vorschläge, die die Absicht und die Muster Ihres Codes verstehen.
Wie die KI-Code-Vervollständigung funktioniert
Intelligente Analyse
- Kontextverständnis: Die KI analysiert Ihre gesamte Codebasis für relevante Vorschläge
- Mustererkennung: Lernt aus Ihren Codierungsmustern und Ihrem Stil
- Unterstützung für mehrere Sprachen: Funktioniert über verschiedene Programmiersprachen hinweg
- Echtzeitverarbeitung: Bietet Vorschläge während Sie tippen
Erweiterte Funktionen
- Vervollständigung ganzer Zeilen: Vervollständigen Sie ganze Codezeilen
- Mehrzeilige Vorschläge: Generieren Sie mehrere Zeilen zusammenhängenden Codes
- Funktionsgenerierung: Erstellen Sie vollständige Funktionen basierend auf Kommentaren oder Namen
- Importvorschläge: Schlägt automatisch erforderliche Importe vor und fügt sie hinzu
Aktivieren der Code-Vervollständigung
Grundeinrichtung
- Anmelden: Stellen Sie sicher, dass Sie in Ihrem Sidian-Konto angemeldet sind
- Funktion aktivieren: Gehen Sie zu Einstellungen → Anbieter/Lokal → Code-Vervollständigung aktivieren
- Modell auswählen: Wählen Sie Ihr bevorzugtes KI-Modell für die Vervollständigung
- Verzögerung konfigurieren: Legen Sie die Verzögerung fest, bevor Vorschläge erscheinen (Standard: 500ms)
Konfigurationsoptionen
- Anzahl der Vorschläge: Anzahl der anzuzeigenden Vorschläge (1-5)
- Mindestauslöselänge: Mindestanzahl an Zeichen vor dem Auslösen (1-3)
- Automatisch akzeptieren: Einzelne Vorschläge automatisch annehmen
- Inline anzeigen: Vorschläge inline statt in einem Popup anzeigen
Verwendung der Code-Vervollständigung
Grundlegende Verwendung
- Beginnen Sie zu tippen: Fangen Sie an, Code in einer unterstützten Sprache zu tippen
- Auf Vorschläge warten: KI-Vorschläge erscheinen nach der konfigurierten Verzögerung
- Vorschlag annehmen: Drücken Sie Tab, um den markierten Vorschlag anzunehmen
- Vorschläge durchgehen: Verwenden Sie die Pfeiltasten ↑/↓, um mehrere Vorschläge zu durchsuchen
- Schließen: Drücken Sie Esc, um die Vorschläge zu schließen
Tastenkombinationen
Aktion | Tastenkombination | Beschreibung |
---|---|---|
Vorschlag annehmen | Tab | Den aktuellen Vorschlag annehmen |
Nächster Vorschlag | ↓ oder Strg+↓ | Zum nächsten Vorschlag wechseln |
Vorheriger Vorschlag | ↑ oder Strg+↑ | Zum vorherigen Vorschlag wechseln |
Vorschläge schließen | Esc | Das Vorschlags-Popup schließen |
Auslösen erzwingen | Strg+Leertaste | Vorschläge manuell auslösen |
Arten von Vervollständigungen
Variablen- und Funktionsnamen
- Intelligente Benennung: Schlägt aussagekräftige Variablennamen basierend auf dem Kontext vor
- Camel Case: Formatiert Namen automatisch in der passenden Schreibweise
- Typinferenz: Schlägt Namen basierend auf abgeleiteten Typen vor
- Konventionen befolgen: Folgt sprachspezifischen Namenskonventionen
Code-Muster
- Häufige Muster: Erkennt und vervollständigt gängige Codierungsmuster
- Boilerplate-Code: Generiert Standard-Boilerplate für Klassen, Funktionen
- Fehlerbehandlung: Schlägt geeignete Muster zur Fehlerbehandlung vor
- API-Verwendung: Vervollständigt API-Aufrufe basierend auf der Dokumentation
Sprachspezifische Funktionen
JavaScript/TypeScript
- Promise-Handhabung: Async/Await und Promise-Vervollständigung
- React-Komponenten: JSX- und React-Hook-Muster
- Node.js-Module: CommonJS und ES6 Import/Export
- Typ-Annotationen: TypeScript-Typvervollständigungen
Python
- List Comprehensions: Komplexe Muster für List Comprehensions
- Decorators: Vorschläge für Funktions- und Klassendekoratoren
- Context Manager: Vervollständigungen für
with
-Anweisungen - Paket-Importe: Intelligente Importvorschläge
Java
- Stream-Operationen: Java 8+ Stream-Methodenketten
- Exception-Behandlung: Vervollständigungen für Try-Catch-Blöcke
- Verwendung von Annotationen: Spring-, JPA- und andere Framework-Annotationen
- Generische Typen: Vervollständigungen für generische Typparameter
C#
- LINQ-Abfragen: Vervollständigungen für komplexe LINQ-Ausdrücke
- Async-Muster: Task-basierte asynchrone Muster
- Eigenschaftsdefinitionen: Muster für Auto-Properties und vollständige Eigenschaften
- Verwendung von Attributen: Framework-spezifische Attributvervollständigungen
Erweiterte Funktionen
Kontextbezogene Vorschläge
- Projektkontext: Versteht Ihre Projektstruktur und Abhängigkeiten
- Dateikontext: Berücksichtigt Importe, Variablen und Funktionen in der aktuellen Datei
- Auswahlkontext: Bietet relevante Vorschläge basierend auf dem ausgewählten Code
- Kommentargesteuert: Generiert Code basierend auf Kommentaren und Dokumentation
Lernen und Anpassung
- Nutzungsmuster: Lernt aus Ihren akzeptierten und abgelehnten Vorschlägen
- Codestil: Passt sich Ihrem Codierungsstil und Ihren Vorlieben an
- Projektspezifisch: Lernt Muster, die spezifisch für Ihr Projekt sind
- Teamkonsistenz: Hält die Konsistenz mit den Codierungsstandards des Teams aufrecht
Mehrsprachige Projekte
- Sprachübergreifend: Versteht Beziehungen zwischen verschiedenen Sprachen
- API-Grenzen: Schlägt geeignete Schnittstellen zwischen Sprachen vor
- Konfigurationsdateien: Vervollständigt Konfigurationen in JSON, YAML, XML
- Template-Sprachen: Unterstützt HTML, CSS und Template-Engines
Anpassung
Modellauswahl
- Schnelle Modelle: Schnelle Vorschläge mit geringerer Genauigkeit
- Ausgewogene Modelle: Gutes Gleichgewicht zwischen Geschwindigkeit und Genauigkeit
- Fortgeschrittene Modelle: Höchste Genauigkeit mit längerer Verarbeitungszeit
- Lokale Modelle: Datenschutzorientierte Offline-Verarbeitung
Filteroptionen
- Sprachfilter: Aktivieren/Deaktivieren für bestimmte Sprachen
- Dateitypfilter: Steuern Sie die Vervollständigung in verschiedenen Dateitypen
- Projektfilter: Unterschiedliche Einstellungen für verschiedene Projekte
- Kontextfilter: Filtern basierend auf dem Code-Kontext (Kommentare, Zeichenketten usw.)
Leistungsoptimierung
- Cache-Einstellungen: Konfigurieren Sie das Caching von Vorschlägen
- Netzwerk-Timeout: Legen Sie das Timeout für cloud-basierte Modelle fest
- Batch-Verarbeitung: Gruppieren Sie mehrere Anfragen zur Effizienzsteigerung
- Ressourcenlimits: Steuern Sie die CPU- und Speichernutzung
Fehlerbehebung
Häufige Probleme
Vorschläge erscheinen nicht
- Überprüfen Sie, ob die Code-Vervollständigung in den Einstellungen aktiviert ist
- Vergewissern Sie sich, dass Sie angemeldet sind und ein aktives Abonnement haben
- Bei Cloud-Modellen: Stellen Sie die Internetverbindung sicher
- Bei lokalen Modellen: Überprüfen Sie, ob Ollama/LM Studio läuft
- Versuchen Sie, die Auslöseverzögerung zu erhöhen
Langsame Vorschläge
- Wechseln Sie zu einem schnelleren KI-Modell
- Reduzieren Sie die Anzahl der angezeigten Vorschläge
- Überprüfen Sie die Geschwindigkeit der Netzwerkverbindung
- Leeren Sie den Vorschlags-Cache
Irrelevante Vorschläge
- Geben Sie mehr Kontext durch die Eingabe zusätzlicher Zeichen
- Verwenden Sie Kommentare, um die KI zu leiten
- Überprüfen Sie, ob die richtige Sprache erkannt wird
- Versuchen Sie ein anderes KI-Modell
Hohe Ressourcennutzung
- Wechseln Sie zu einem schlankeren KI-Modell
- Reduzieren Sie die Häufigkeit der Vorschläge
- Aktivieren Sie die lokale Verarbeitung, falls verfügbar
- Schließen Sie unnötige Dateien und Tabs
Bewährte Praktiken
- Kontext bereitstellen: Schreiben Sie beschreibende Kommentare und Variablennamen
- Geduldig sein: Geben Sie der KI Zeit, den Kontext zu analysieren
- Vorschläge überprüfen: Überprüfen Sie generierten Code immer, bevor Sie ihn akzeptieren
- Tastenkombinationen lernen: Meistern Sie Tastenkombinationen für eine effiziente Nutzung
- Einstellungen anpassen: Passen Sie die Einstellungen an Ihren Entwicklungsstil an
- Feedback geben: Nutzen Sie Feedback-Optionen, um die Vorschläge zu verbessern
Die KI-Code-Vervollständigung in Sidian ist darauf ausgelegt, Ihre Produktivität zu steigern und gleichzeitig die Code-Qualität zu erhalten. Nehmen Sie sich Zeit, die Funktionen zu erkunden und an Ihren Entwicklungsstil anzupassen.