Thanks to visit codestin.com
Credit goes to docs.github.com

Skip to main content

Verwendung von LSP-Servern mit GitHub Copilot-CLI

LSP-Server bieten Copilot CLI präzise Codeintelligenz, die es ermöglicht, Definitionen zu navigieren, Verweise zu finden und Symbole im gesamten Projekt exakt umzubenennen.

Einführung

Das Language Server Protocol (LSP) ist ein offener Standard, der für die Kommunikation zwischen einem Code-Editor und einem Sprachserver verwendet wird. Ein Sprachserver ist ein Prozess, der sprachspezifische Features wie go-to-Definition bereitstellt und ein Codesymbol in Ihrer Codebasis umbenennen kann. Ein "LSP-Server" ist ein beliebiger Sprachserver, der das Language Server-Protokoll unterstützt.

          GitHub Copilot-CLI kann LSP-Server verwenden, um die Struktur Ihres Codes genauer zu verstehen. Indem Sie einen LSP-Server für jede Programmiersprache in Ihrem Projekt hinzufügen und konfigurieren, erhalten Copilot CLI Sie ein besseres Verständnis des Codes.

Vorteile von LSP-Servern

  • Genauigkeit: Ergebnisse stammen aus dem eigenen Compiler/Analyzer der Sprache und bieten ein Verständnis der Struktur Ihres Codes. Dies verbessert die Genauigkeit von Copilot, wenn es mit Ihrem Code arbeitet. Wenn Sie beispielsweise die Funktion "Gehe zu Definition" in Copilot verwenden können, wird die tatsächliche Definition gefunden und nicht nur eine ähnliche Textübereinstimmung.
  • Tokeneffizienz: Vorgänge wie "Alle Symbole auflisten" oder "Verweise suchen" geben kompakte strukturierte Ergebnisse zurück, anstatt dass der Agent ganze Dateien in die Unterhaltung lesen muss.
  • Sichere Umgestaltung: Wenn Sie ein Symbol umbenennen, aktualisiert der LSP-Server zuverlässig jeden Verweis im gesamten Projekt.
  • Geschwindigkeit: Sprachserver indizieren Ihr Projekt im Hintergrund, sodass nahezu sofortige Antworten möglich sind.

Was LSP-Server Copilot CLI erlauben zu tun

Wenn LSP-Server verfügbar sind, Copilot CLI werden sie automatisch verwendet. Sie müssen sie nicht explizit anfordern. Copilot CLI verwendet einen LSP-Server anstelle einer textbasierten Suche, wenn er auf einen LSP-Server für die verwendete Programmiersprache zugreifen kann.

Die folgenden Sprachservervorgänge werden unterstützt:

VorgangWas es tut
Zur Definition wechselnSpringt zu der Stelle, an der ein Symbol (Funktion, Klasse, Variable) definiert ist.
Suchen nach VerweisenFindet jeden Ort, an dem ein Symbol verwendet wird.
HoverRuft Typinformationen und Dokumentation für ein Symbol ab.
UmbenennenBenennt ein Symbol im gesamten Projekt um, wobei alle Verweise aktualisiert werden.
DokumentsymboleListet alle in einer Datei definierten Symbole auf.
ArbeitsbereichssymbolsucheSucht im gesamten Projekt nach Symbolen anhand ihres Namens.
Zur Implementierung wechselnFindet Implementierungen einer Schnittstelle oder abstrakten Methode.
Eingehende AnrufeZeigt an, welche Funktionen eine bestimmte Funktion aufrufen.
Ausgehende AnrufeZeigt an, welche Funktionen eine bestimmte Funktion aufruft.
          Copilot wählt den am besten geeigneten LSP-Vorgang basierend auf Ihrer Eingabeaufforderung aus. Wenn Sie zum Beispiel fragen "Wo ist `handlePayment` definiert?", verwendet Copilot die Operation "Go-to-Definition".

So fügen Sie einen LSP-Server hinzu

Um Copilot CLI einen LSP-Server verwenden zu können, müssen Sie zuerst die Serversoftware auf Ihrem lokalen Computer installieren und sie dann in einer der Konfigurationsdateien einrichten, die Copilot CLI beim Start liest. Siehe Hinzufügen von LSP-Servern für GitHub Copilot-CLI.

Ein LSP-Server kann auch als Teil eines CLI-Plug-Ins hinzugefügt werden, das Sie installieren möchten. Ein Plug-In kann einen LSP-Server enthalten, wenn es beispielsweise für die Arbeit mit einer ungewöhnlichen Programmiersprache oder einem frameworkspezifischen Dateityp konzipiert ist. LSP-Server, die als Teil eines Plug-Ins enthalten sind, sind automatisch verfügbar, wenn Sie das Plug-In installieren – es ist keine zusätzliche Konfiguration erforderlich. Wenn Sie das Plug-In deinstallieren, wird der LSP-Server entfernt. Weitere Informationen findest du unter Informationen zu Plug-Ins für GitHub Copilot-CLI.

So werden LSP-Server geladen

Beim GitHub Copilot-CLI Starten lädt es LSP-Serverkonfigurationen aus mehreren Quellen mit der folgenden Priorität (höchsten bis niedrigsten):

  1.        **Project config**: `.github/lsp.json` im aktuellen Repository.
    
  2.        **Plug-In-Konfigurationen: Sprachserver, die von installierten Plug-Ins** bereitgestellt werden.
    
  3.        **Benutzerkonfiguration**: `~/.copilot/lsp-config.json`.
    

Konfigurationen mit höherer Priorität überschreiben diejenigen mit niedrigerer Priorität mit demselben Servernamen. Dies bedeutet, dass ein Projekt Sprachserver für alle Mitwirkenden anpassen oder deaktivieren kann.

Sobald das Arbeitsverzeichnis vertrauenswürdig ist, startet Copilot CLI automatisch alle LSP-Server, die für Ihr Projekt relevant sind, im Hintergrund, so dass sie sofort reagieren können, wenn erforderlich.

Nächste Schritte

Weiterführende Lektüre