Language Server Protocol and Implementation: Supporting Language-Smart Editing and Programming Tools
暫譯: 語言伺服器協議與實作:支援智慧語言編輯與程式工具
Gunasinghe, Nadeeshaan, Marcus, Nipuna
- 出版商: Apress
- 出版日期: 2021-11-14
- 售價: $1,960
- 貴賓價: 9.5 折 $1,862
- 語言: 英文
- 頁數: 264
- 裝訂: Quality Paper - also called trade paper
- ISBN: 1484277910
- ISBN-13: 9781484277911
立即出貨 (庫存=1)
相關主題
商品描述
Understand the important aspects of implementing a production-grade language server in support of language-smart tools such as code editors and other programming utilities. This book shows you how to create a single implementation of a language server that can be used by multiple tools, enabling you to do the job once in a way that can be shared and reused.
This book covers the language server protocol used for communication between programming tools and your language server. The book also provides an in-depth understanding of the design, implementation, and user experience aspects which should be considered when implementing a language server. The book walks you through an example language server implementation to illustrate the basic concepts, then goes on to cover advanced aspects of language server use such as progress reporting, launchers, and extension points.
User experience is an important aspect of language server implementation and different tooling vendors strive to provide their own unique user experiences. This book explains how the protocol features can be leveraged to address the unique developer experience provided by different tooling vendors. The book also shows how to enhance the smoothness of the editing experience by orchestrating multiple features together.
What You Will Learn
- Implement a language server from scratch
- Understand language server protocol and its data models
- Leverage the protocol while preserving the unique user experience of different editors
- Extend the protocol to support more than its standard capabilities
- Run a language server on top of launchers such as standard I/O and TCP socket
- Seamlessly incorporate language semantics into your protocol features
Who This Book Is For
Developers focused on and passionate about implementing language development tools such as plug-ins and extensions for interactive development environments (IDEs) or other tools that rely upon parsing of language statements and commands, and developers who need an in-depth understanding of the language server protocol as well as how to use the language server protocol to develop extensible language services
商品描述(中文翻譯)
了解實現生產級語言伺服器以支援語言智能工具(如程式碼編輯器和其他程式設計工具)的重要方面。本書將教您如何創建一個語言伺服器的單一實現,該伺服器可以被多個工具使用,使您能夠以可共享和重用的方式完成工作。
本書涵蓋了用於程式設計工具與您的語言伺服器之間通信的語言伺服器協議。書中還提供了對設計、實現和用戶體驗方面的深入理解,這些都是在實現語言伺服器時需要考慮的。本書通過一個示例語言伺服器實現來說明基本概念,然後進一步探討語言伺服器使用的進階方面,如進度報告、啟動器和擴展點。
用戶體驗是語言伺服器實現的重要方面,不同的工具供應商努力提供自己獨特的用戶體驗。本書解釋了如何利用協議特性來解決不同工具供應商所提供的獨特開發者體驗。本書還展示了如何通過協調多個功能來增強編輯體驗的流暢性。
您將學到什麼
- 從零開始實現一個語言伺服器
- 理解語言伺服器協議及其數據模型
- 在保留不同編輯器獨特用戶體驗的同時利用該協議
- 擴展該協議以支持超出其標準能力的功能
- 在標準 I/O 和 TCP 套接字等啟動器上運行語言伺服器
- 無縫地將語言語義納入您的協議功能中
本書適合誰閱讀
專注於並熱衷於實現語言開發工具的開發者,例如用於互動式開發環境(IDEs)的插件和擴展,或其他依賴於解析語言語句和命令的工具,以及需要深入理解語言伺服器協議的開發者,以及如何使用語言伺服器協議來開發可擴展的語言服務的開發者。