Zum Inhalt springen

„Language Server Protocol“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
[gesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
ergänzt und aktualisiert
K Setze Datum der Emacs-Release in Klammern, da diese Information nur mittelbar für die Aussage hier relevant ist
 
Zeile 1: Zeile 1:
Das '''Language Server Protocol''' (kurz '''LSP''') ist ein [[JSON-RPC]] basiertes [[Kommunikationsprotokoll]], um Syntaxvalidierung von Programmiersprachen unabhängig von der eingesetzten [[Integrierte Entwicklungsumgebung|integrierten Entwicklungsumgebung]] zu ermöglichen.<ref>{{Internetquelle |url=https://entwickler.de/webentwicklung/polyglott-dank-language-server-protocol-microsoft-red-hat-und-codenvy-streben-nach-der-universellen-ide |autor=Dominik Mohilo |titel=Polyglott dank Language Server Protocol: Microsoft, Red Hat und Codenvy streben nach der universellen IDE |werk=entwickler.de |datum=28. Juni 2016 |abruf=2021-10-22}}</ref> Es wurde ursprünglich für das [[Python (Programmiersprache)|Python]]-Modul, welches [[IntelliSense]] innerhalb von [[Visual Studio Code]] ermöglicht, entwickelt und später standardisiert. Entwickler sind [[Microsoft]], [[Codenvy]] und [[Red Hat]].
Das '''Language Server Protocol''' (kurz '''LSP''') ist ein [[JSON-RPC]] basiertes [[Kommunikationsprotokoll]], um Syntaxvalidierung von Programmiersprachen unabhängig von der eingesetzten [[Integrierte Entwicklungsumgebung|integrierten Entwicklungsumgebung]] zu ermöglichen.<ref>{{Internetquelle |url=https://entwickler.de/webentwicklung/polyglott-dank-language-server-protocol-microsoft-red-hat-und-codenvy-streben-nach-der-universellen-ide |autor=Dominik Mohilo |titel=Polyglott dank Language Server Protocol: Microsoft, Red Hat und Codenvy streben nach der universellen IDE |werk=entwickler.de |datum=28. Juni 2016 |abruf=2021-10-22}}</ref> Es wurde ursprünglich für das [[Python (Programmiersprache)|Python]]-Modul, welches [[IntelliSense]] innerhalb von [[Visual Studio Code]] ermöglicht, entwickelt und später standardisiert. Entwickler sind [[Microsoft]], [[Codenvy]] und [[Red Hat]].


Es existieren Integrationen für Visual Studio Code, [[Eclipse Che]]<ref>{{Internetquelle |url=https://www.heise.de/developer/meldung/Microsoft-stellt-Python-Language-Server-fuer-Visual-Studio-Code-vor-4118003.html |autor=Alexander Neumann |titel=Microsoft stellt Python Language Server für Visual Studio Code vor |werk=heise Developer |sprache=de |datum=23.07.2018 |abruf=2021-10-22}}</ref> und [[Atom (Texteditor)|Atom]]<ref name="atom">{{Internetquelle |url=https://www.heise.de/developer/meldung/Atom-1-21-integriert-das-Language-Server-Protocol-3849388.html |autor=Rainald Menge-Sonnentag |titel=Atom 1.21 integriert das Language Server Protocol |werk=heise Developer |sprache=de |datum=04.10.2017 |abruf=2021-10-22}}</ref> sowie der [[Eclipse (IDE)|Eclipse IDE]]<ref>{{Internetquelle |url=https://entwickler.de/eclipse/yang-tools-ein-language-server-fur-vier-ides |titel=YANG-Tools: Ein Language Server für vier IDEs |werk=entwickler.de |datum=17. November 2017 |autor=Jan Köhnlein |sprache=de-DE |abruf=2021-10-27}}</ref> und mittels Plugin für [[Sublime Text]]<ref>{{Internetquelle |url=https://github.com/sublimelsp/LSP |titel=Github.com - Sublime LSP|abruf=2022-08-19}}</ref>. In [[Emacs|GNU Emacs]] sind seit Version 29.1, die im August 2023 erschien, die Parsing-Library Tree-Sitter und das Paket Eglot standardmäßig integriert.<ref>{{Internetquelle |autor=Rainald Menge-Sonnentag |url=https://www.heise.de/news/Texteditor-Emacs-29-1-bindet-Tree-Sitter-ein-und-arbeitet-direkt-mit-SQLite-9231336.html |titel=Texteditor Emacs 29.1 bindet Tree-Sitter ein und arbeitet direkt mit SQLite |werk=heise online |datum=2023-08-01 |sprache=de |abruf=2023-09-13}}</ref>
Es existieren Integrationen für Visual Studio Code, [[Eclipse Che]]<ref>{{Internetquelle |url=https://www.heise.de/developer/meldung/Microsoft-stellt-Python-Language-Server-fuer-Visual-Studio-Code-vor-4118003.html |autor=Alexander Neumann |titel=Microsoft stellt Python Language Server für Visual Studio Code vor |werk=heise Developer |sprache=de |datum=23.07.2018 |abruf=2021-10-22}}</ref> und [[Atom (Texteditor)|Atom]]<ref name="atom">{{Internetquelle |url=https://www.heise.de/developer/meldung/Atom-1-21-integriert-das-Language-Server-Protocol-3849388.html |autor=Rainald Menge-Sonnentag |titel=Atom 1.21 integriert das Language Server Protocol |werk=heise Developer |sprache=de |datum=04.10.2017 |abruf=2021-10-22}}</ref> sowie der [[Eclipse (IDE)|Eclipse IDE]]<ref>{{Internetquelle |url=https://entwickler.de/eclipse/yang-tools-ein-language-server-fur-vier-ides |titel=YANG-Tools: Ein Language Server für vier IDEs |werk=entwickler.de |datum=17. November 2017 |autor=Jan Köhnlein |sprache=de-DE |abruf=2021-10-27}}</ref> und mittels Plugin für [[Sublime Text]]<ref>{{Internetquelle |url=https://github.com/sublimelsp/LSP |titel=Github.com - Sublime LSP|abruf=2022-08-19}}</ref>. In [[Emacs|GNU Emacs]] sind seit Version 29.1 (August 2023) die Parsing-Library Tree-Sitter und das Paket Eglot standardmäßig integriert.<ref>{{Internetquelle |autor=Rainald Menge-Sonnentag |url=https://www.heise.de/news/Texteditor-Emacs-29-1-bindet-Tree-Sitter-ein-und-arbeitet-direkt-mit-SQLite-9231336.html |titel=Texteditor Emacs 29.1 bindet Tree-Sitter ein und arbeitet direkt mit SQLite |werk=heise online |datum=2023-08-01 |sprache=de |abruf=2023-09-13}}</ref>


Auch wenn das Protokoll netzwerkfähig ist, läuft der Language Server typischerweise lokal auf demselben Rechner wie der Editor.<ref name="atom" /> Das Protokoll selbst ist [[Open Source|quelloffen]] und unter der [[MIT-Lizenz]] veröffentlicht.<ref>{{Internetquelle |url=https://www.zdnet.de/88273236/microsoft-und-red-hat-legen-quelloffenes-language-server-protocol-vor/ |autor=Florian Kalenda |titel=Microsoft und Red Hat legen quelloffenes Language Server Protocol vor |werk=[[ZDNet.de|ZDNet]] |datum=28. Juni 2016 |abruf=2021-10-22}}</ref>
Auch wenn das Protokoll netzwerkfähig ist, läuft der Language Server typischerweise lokal auf demselben Rechner wie der Editor.<ref name="atom" /> Das Protokoll selbst ist [[Open Source|quelloffen]] und unter der [[MIT-Lizenz]] veröffentlicht.<ref>{{Internetquelle |url=https://www.zdnet.de/88273236/microsoft-und-red-hat-legen-quelloffenes-language-server-protocol-vor/ |autor=Florian Kalenda |titel=Microsoft und Red Hat legen quelloffenes Language Server Protocol vor |werk=[[ZDNet.de|ZDNet]] |datum=28. Juni 2016 |abruf=2021-10-22}}</ref>

Aktuelle Version vom 10. Oktober 2024, 10:04 Uhr

Das Language Server Protocol (kurz LSP) ist ein JSON-RPC basiertes Kommunikationsprotokoll, um Syntaxvalidierung von Programmiersprachen unabhängig von der eingesetzten integrierten Entwicklungsumgebung zu ermöglichen.[1] Es wurde ursprünglich für das Python-Modul, welches IntelliSense innerhalb von Visual Studio Code ermöglicht, entwickelt und später standardisiert. Entwickler sind Microsoft, Codenvy und Red Hat.

Es existieren Integrationen für Visual Studio Code, Eclipse Che[2] und Atom[3] sowie der Eclipse IDE[4] und mittels Plugin für Sublime Text[5]. In GNU Emacs sind seit Version 29.1 (August 2023) die Parsing-Library Tree-Sitter und das Paket Eglot standardmäßig integriert.[6]

Auch wenn das Protokoll netzwerkfähig ist, läuft der Language Server typischerweise lokal auf demselben Rechner wie der Editor.[3] Das Protokoll selbst ist quelloffen und unter der MIT-Lizenz veröffentlicht.[7]

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. Dominik Mohilo: Polyglott dank Language Server Protocol: Microsoft, Red Hat und Codenvy streben nach der universellen IDE. In: entwickler.de. 28. Juni 2016, abgerufen am 22. Oktober 2021.
  2. Alexander Neumann: Microsoft stellt Python Language Server für Visual Studio Code vor. In: heise Developer. 23. Juli 2018, abgerufen am 22. Oktober 2021.
  3. a b Rainald Menge-Sonnentag: Atom 1.21 integriert das Language Server Protocol. In: heise Developer. 4. Oktober 2017, abgerufen am 22. Oktober 2021.
  4. Jan Köhnlein: YANG-Tools: Ein Language Server für vier IDEs. In: entwickler.de. 17. November 2017, abgerufen am 27. Oktober 2021 (deutsch).
  5. Github.com - Sublime LSP. Abgerufen am 19. August 2022.
  6. Rainald Menge-Sonnentag: Texteditor Emacs 29.1 bindet Tree-Sitter ein und arbeitet direkt mit SQLite. In: heise online. 1. August 2023, abgerufen am 13. September 2023.
  7. Florian Kalenda: Microsoft und Red Hat legen quelloffenes Language Server Protocol vor. In: ZDNet. 28. Juni 2016, abgerufen am 22. Oktober 2021.