Skip to content

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

  1. Anmelden: Stellen Sie sicher, dass Sie in Ihrem Sidian-Konto angemeldet sind
  2. Funktion aktivieren: Gehen Sie zu Einstellungen → Anbieter/Lokal → Code-Vervollständigung aktivieren
  3. Modell auswählen: Wählen Sie Ihr bevorzugtes KI-Modell für die Vervollständigung
  4. 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

  1. Beginnen Sie zu tippen: Fangen Sie an, Code in einer unterstützten Sprache zu tippen
  2. Auf Vorschläge warten: KI-Vorschläge erscheinen nach der konfigurierten Verzögerung
  3. Vorschlag annehmen: Drücken Sie Tab, um den markierten Vorschlag anzunehmen
  4. Vorschläge durchgehen: Verwenden Sie die Pfeiltasten /, um mehrere Vorschläge zu durchsuchen
  5. Schließen: Drücken Sie Esc, um die Vorschläge zu schließen

Tastenkombinationen

AktionTastenkombinationBeschreibung
Vorschlag annehmenTabDen aktuellen Vorschlag annehmen
Nächster Vorschlag oder Strg+Zum nächsten Vorschlag wechseln
Vorheriger Vorschlag oder Strg+Zum vorherigen Vorschlag wechseln
Vorschläge schließenEscDas Vorschlags-Popup schließen
Auslösen erzwingenStrg+LeertasteVorschlä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

  1. Kontext bereitstellen: Schreiben Sie beschreibende Kommentare und Variablennamen
  2. Geduldig sein: Geben Sie der KI Zeit, den Kontext zu analysieren
  3. Vorschläge überprüfen: Überprüfen Sie generierten Code immer, bevor Sie ihn akzeptieren
  4. Tastenkombinationen lernen: Meistern Sie Tastenkombinationen für eine effiziente Nutzung
  5. Einstellungen anpassen: Passen Sie die Einstellungen an Ihren Entwicklungsstil an
  6. 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.