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:
- Installieren Sie die LSP-Serversoftware auf Ihrem lokalen Computer.
- 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-setupFunktion, 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.
-
Wechseln Sie zur Downloadwebsite "Awesome GitHub Copilot", und suchen Sie nach "lsp":
https://awesome-copilot.github.com/skills/?q=lsp. -
Laden Sie den
lsp-setupSkill herunter. -
Entzippen Sie die heruntergeladene
.zipDatei, um ein Verzeichnis mit dem Namen zulsp-setuperstellen. -
Verschieben Sie das Verzeichnis
lsp-setupin eines der folgenden Verzeichnisse:- Ihr Persönliches Kompetenzverzeichnis:
~/.copilot/skills/. - Ein Projektkompetenzverzeichnis:
.github/skills/in einem Git-Repository.
- Ihr Persönliches Kompetenzverzeichnis:
-
Starten Sie Copilot CLI, oder wenn Sie sich derzeit in einer CLI-Sitzung befinden, geben Sie
/skills reloadein. -
Geben Sie die Aufforderung ein:
Copilot prompt setup lsp
setup lsp -
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.
-
Wenn der Vorgang abgeschlossen ist, geben Sie die Eingabetaste
/lsp reloadein, um den neuen LSP-Server zu laden. -
Ü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:
npm install -g typescript typescript-language-server
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:
gem install ruby-lsp
gem install ruby-lsp
Alternativ können Sie den solargraph LSP-Server für Ruby installieren, indem Sie Folgendes verwenden:
gem install solargraph
gem install solargraph
Beispielinstallationsbefehl: Python
Wenn Sie Node.js installiert haben, können Sie den pyright LSP-Server mit dem folgenden Befehl installieren:
npm install -g pyright
npm install -g pyright
Wenn Sie pip installiert haben, können Sie den python-lsp-server LSP-Server auch mit:
pip install python-lsp-server
pip install python-lsp-server
Konfigurieren des Sprachservers
-
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.
-
-
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
{
"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"
}
}
}
}
{
"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
{
"lspServers": {
"ruby": {
"command": "ruby-lsp",
"args": [],
"fileExtensions": {
".rb": "ruby",
".rbw": "ruby",
".rake": "ruby",
".gemspec": "ruby"
}
}
}
}
{
"lspServers": {
"ruby": {
"command": "ruby-lsp",
"args": [],
"fileExtensions": {
".rb": "ruby",
".rbw": "ruby",
".rake": "ruby",
".gemspec": "ruby"
}
}
}
}
Beispielserverdefinition: pyright LSP-Server für Python
{
"lspServers": {
"python": {
"command": "pyright-langserver",
"args": ["--stdio"],
"fileExtensions": {
".py": "python",
".pyw": "python",
".pyi": "python"
}
}
}
}
{
"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-Befehl | Beschreibung |
|---|
`/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
-
In Copilot CLI, überprüfen Sie, ob der von Ihnen gewählte LSP-Server mit dem
/lspBefehl 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
-
Nach dem Hinzufügen und Konfigurieren eines LSP-Servers starten (oder neu starten) Copilot CLI.
-
Verwenden Sie den Schrägstrichbefehl,
/lsp test SERVER-NAMEum 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)