Skip to main content

Hinzufügen von LSP-Servern für GitHub Copilot CLI

Sie können Copilot CLI LSP-Server hinzufügen, um präzise Code-Intelligenz zu ermöglichen, die Fähigkeit zur Navigation in Definitionen zu verbessern, Verweise zu finden und Symbole umzubenennen.

Einführung

Im vorliegenden Artikel wird erläutert, wie Sie LSP-Server für Copilot CLI hinzufügen können. Konzeptionelle Informationen zu LSP-Servern finden Sie unter Verwendung von LSP-Servern mit GitHub Copilot CLI.

Das Hinzufügen eines LSP-Servers für Copilot CLI ist ein zweistufiger Prozess:

  1. Installieren Sie die LSP-Serversoftware auf Ihrem lokalen Computer.
  2. Konfigurieren Sie den Server in einer Konfigurationsdatei.

Diese Schritte werden in diesem Artikel im Detail beschrieben.

Installieren und Konfigurieren eines LSP-Servers

Sie können einen LSP-Server für eine bestimmte Sprache hinzufügen:

  • Mit der lsp-setup Funktion, die den Prozess automatisiert.
  • Manuelles Installieren der Serversoftware und anschließendes Konfigurieren von Copilot CLI zur Verwendung des Servers.

Diese beiden Ansätze werden in den folgenden Abschnitten beschrieben.

Verwenden der lsp-setup Fähigkeit zum Hinzufügen eines Sprachservers

Die lsp-setup Fähigkeit aus dem Repository "Awesome GitHub Copilot" automatisiert die Installation und Konfiguration einer Auswahl beliebter Sprachen.

  1. Wechseln Sie zur Downloadwebsite "Awesome GitHub Copilot", und suchen Sie nach "lsp":

           https://awesome-copilot.github.com/skills/?q=lsp.
    
  2. Laden Sie den lsp-setup Skill herunter.

  3. Entzippen Sie die heruntergeladene .zip Datei, um ein Verzeichnis mit dem Namen zu lsp-setuperstellen.

  4. Verschieben Sie das Verzeichnis lsp-setup in eines der folgenden Verzeichnisse:

    • Ihr Persönliches Kompetenzverzeichnis: ~/.copilot/skills/.
    • Ein Projektkompetenzverzeichnis: .github/skills/ in einem Git-Repository.
  5. Starten Sie Copilot CLI, oder wenn Sie sich derzeit in einer CLI-Sitzung befinden, geben Sie /skills reloadein.

  6. Geben Sie die Aufforderung ein:

    Copilot prompt
    setup lsp
    
  7. Folgen Sie den Anweisungen auf dem Bildschirm, um die Sprache für den Server auszuwählen, den Sie einrichten möchten, und führen Sie dann die zusätzlichen Schritte aus.

  8. Wenn der Vorgang abgeschlossen ist, geben Sie die Eingabetaste /lsp reload ein, um den neuen LSP-Server zu laden.

  9. Überprüfen Sie, ob der Server hinzugefügt wurde und ordnungsgemäß funktioniert. Siehe Bestätigen, dass ein LSP-Server weiter unten in diesem Artikel verfügbar ist.

Manuelle Installation und Konfiguration eines LSP-Servers

Das Installieren eines LSP-Servers für eine bestimmte Sprache umfasst in der Regel die Installation eines Pakets über einen Paket-Manager wie z.B. npm, gem oder pip.

Informationen zum manuellen Installieren eines LSP-Servers finden Sie in der Dokumentation für den spezifischen Sprachserver, den Sie installieren möchten. Nachfolgend sind einige Beispielbefehle zum Installieren beliebter LSP-Server aufgeführt.

Hinweis

Hilfreiche Ressourcen zum Suchen von LSP-Servern für verschiedene Sprachen: * Implementations auf der Language Server Protocol-Website von Microsoft. * Language Server Protocol auf der Arch Linux-Website.

Achtung

Installieren Sie nur LSP-Server aus Quellen, denen Sie vertrauen.

Beispielinstallationsbefehl: TypeScript und JavaScript

Wenn Sie Node.js installiert haben, können Sie den typescript-language-server LSP-Server mit dem folgenden Befehl installieren:

Bash
npm install -g typescript typescript-language-server

Der typescript-language-server LSP-Server unterstützt Sowohl TypeScript als auch JavaScript.

Beispielinstallationsbefehl: Ruby

Wenn Sie Gem installiert haben, können Sie den ruby-lsp LSP-Server mit dem folgenden Befehl installieren:

Bash
gem install ruby-lsp

Alternativ können Sie den solargraph LSP-Server für Ruby installieren, indem Sie Folgendes verwenden:

Bash
gem install solargraph

Beispielinstallationsbefehl: Python

Wenn Sie Node.js installiert haben, können Sie den pyright LSP-Server mit dem folgenden Befehl installieren:

Bash
npm install -g pyright

Wenn Sie pip installiert haben, können Sie den python-lsp-server LSP-Server auch mit:

Bash
pip install python-lsp-server

Konfigurieren des Sprachservers

  1. Um den LSP-Server zu konfigurieren, fügen Sie einer der beiden Konfigurationsdateien eine Serverdefinition hinzu:

    •      **Benutzerkonfiguration**: `~/.copilot/lsp-config.json` Gilt für alle Ihre Projekte.
      
    •      **Project configuration**: `.github/lsp.json` gilt in Ihrem Repository für alle, die an diesem project arbeiten.
      

    Beide Dateien verwenden dieselbe JSON-Syntax:

    {
      "lspServers": {
        "SERVER-NAME": {
          "command": "COMMAND",
          "args": ["ARG1", "ARG2"],
          "fileExtensions": {
            ".EXT": "LANGUAGE-ID"
          }
        },
        "ANOTHER-SERVER": {
          ...
        }
      }
    }
    

    Einige Beispiele für Serverdefinitionen für bestimmte LSP-Server finden Sie weiter unten in diesem Artikel.

  2. Vergewissern Sie sich nach der Installation und Konfiguration des Servers, dass Copilot CLI es verwenden kann. Siehe Bestätigen, dass unten ein LSP-Server verfügbar ist .

Konfigurationsfelder

Jede Serverdefinition in der Konfigurationsdatei muss einen eindeutigen Namen haben und nur alphanumerische Zeichen, Unterstriche und Bindestriche enthalten.

Innerhalb jeder Serverdefinition sind die folgenden Felder verfügbar/erforderlich:

Feld Erforderlich Beschreibung
command Ja Der Befehl zum Starten des LSP-Servers.
args No Argumente, die an den Befehl übergeben werden sollen.
fileExtensions Ja Eine JSON-Zuordnung von Dateierweiterungen und ihren entsprechenden Sprach-IDs (z. B. { ".rs": "rust" }).
env No Umgebungsvariablen, die beim Starten des Servers festgelegt werden sollen. Unterstützt ${VAR} und ${VAR:-default} Erweiterungssyntax.
rootUri No Das Stammverzeichnis für den LSP-Server relativ zum Git-Stamm. Wird standardmäßig auf "." festgelegt. Nützlich für Monorepos. Wenn sich Ihr Projekt in einem Unterverzeichnis des Git-Repositorys und nicht im Repositorystamm befindet, legen Sie rootUri diesen Unterverzeichnispfad fest.
initializationOptions No Benutzerdefinierte Optionen, die während des Starts an den Server gesendet werden.
requestTimeoutMs No Das Timeout für Serveranforderungen in Millisekunden (Standard: 90 Sekunden).

Beispielserverdefinition: typescript-language-server LSP-Server

JSON
{
  "lspServers": {
    "typescript": {
      "command": "typescript-language-server",
      "args": ["--stdio"],
      "fileExtensions": {
        ".ts": "typescript",
        ".tsx": "typescriptreact",
        ".js": "javascript",
        ".jsx": "javascriptreact",
        ".mjs": "javascript",
        ".cjs": "javascript",
        ".mts": "typescript",
        ".cts": "typescript"
      }
    }
  }
}

Beispielserverdefinition: ruby-lsp LSP-Server

JSON
{
  "lspServers": {
    "ruby": {
      "command": "ruby-lsp",
      "args": [],
      "fileExtensions": {
        ".rb": "ruby",
        ".rbw": "ruby",
        ".rake": "ruby",
        ".gemspec": "ruby"
      }
    }
  }
}

Beispielserverdefinition: pyright LSP-Server für Python

JSON
{
  "lspServers": {
    "python": {
      "command": "pyright-langserver",
      "args": ["--stdio"],
      "fileExtensions": {
        ".py": "python",
        ".pyw": "python",
        ".pyi": "python"
      }
    }
  }
}

Verwalten von Sprachservern mit dem /lsp Befehl

Sie können Ihre LSP-Server in einer interaktiven CLI-Sitzung auflisten und verwalten, indem Sie den /lsp Schrägstrichbefehl verwenden:

Slash-BefehlBeschreibung
          `/lsp` oder `/lsp show`     | Zeigt den Status aller konfigurierten LSP-Server an. |

| /lsp test SERVER-NAME | Testen Sie, ob ein Server ordnungsgemäß gestartet wird. | | /lsp reload | Laden Sie LSP-Konfigurationen vom Datenträger neu. | | /lsp help | /lsp Die Befehlsinformationen anzeigen. |

Auflisten verfügbarer LSP-Server

  1. In Copilot CLI, überprüfen Sie, ob der von Ihnen gewählte LSP-Server mit dem /lsp Befehl mit Schrägstrich verfügbar ist. Sie sehen eine Ausgabe wie:

    ● LSP Server Status:
    
      User-configured servers:
        • ruby: ruby-lsp (.rb, .rbw, .rake, .gemspec)
        • omnisharp: omnisharp (.cs)
    
      User config: /Users/username/.copilot/lsp-config.json
    

Bestätigen, dass ein LSP-Server verfügbar ist

  1. Nach dem Hinzufügen und Konfigurieren eines LSP-Servers starten (oder neu starten) Copilot CLI.

  2. Verwenden Sie den Schrägstrichbefehl, /lsp test SERVER-NAME um zu überprüfen, ob der LSP-Server ordnungsgemäß funktioniert.

           Copilot CLI versucht, eine temporäre, eigenständige Instanz des Servers zu starten, und meldet, ob die Instanz erfolgreich war oder ob Fehler aufgetreten sind. Anschließend wird der temporäre Serverprozess beendet.
    

Weiterführende Lektüre

  •         [AUTOTITLE](/copilot/how-tos/copilot-cli)
    
  •         [AUTOTITLE](/copilot/how-tos/use-copilot-agents/use-copilot-cli)