- Visual Studio Code 權(quán)威指南
- 韓駿
- 587字
- 2020-08-06 15:43:39
3.5 Debug Adapter Protocol
相信讀者朋友已經(jīng)對Language Server Protocol有了一定的了解。我們現(xiàn)在再來了解一下Debug Adapter Protocol(DAP),相信讀者一定會發(fā)現(xiàn)它們兩者之間的異曲同工之妙。
DAP是一個基于JSON的協(xié)議,它抽象了開發(fā)工具與調(diào)試工具之間的通信。那么,我們?yōu)槭裁匆褂肈AP呢?
在沒有DAP之前,試想一下,如果需要對一門新語言添加調(diào)試的支持,那么就要對許多基本的調(diào)試功能進(jìn)行支持:
○ 各種類型的斷點
○ 變量查看
○ 多進(jìn)程及多線程支持
○ 調(diào)用堆棧
○ 表達(dá)式監(jiān)控
○ 調(diào)試控制臺
不僅如此,我們還要針對不同的開發(fā)工具重復(fù)這些工作,因為每一個開發(fā)工具都有不同的調(diào)試界面的API。如圖3-2所示,這會導(dǎo)致大量的重復(fù)勞動。

圖3-2 未使用DAP的情況
在Visual Studio Code項目建立之初,開發(fā)團(tuán)隊就意識到要把“前端的”界面與“后端的”與語言相關(guān)的實現(xiàn)進(jìn)行解耦。于是,對于語言功能,我們有了LSP,對于調(diào)試功能,我們有了DAP。
由于我們難以保證現(xiàn)有的調(diào)試工具能夠兼容DAP,因此Visual Studio Code開發(fā)團(tuán)隊設(shè)計了一個中間層的組件,也就是Debug Adapter,用來幫助現(xiàn)有的調(diào)試工具與DAP相兼容。圖3-3充分展示了使用DAP所帶來的好處:
○ Debug Adapter可以被不同的開發(fā)工具所使用,分?jǐn)偭碎_發(fā)成本。
○ DAP并不和Visual Studio Code進(jìn)行綁定,它是一個進(jìn)行開源開發(fā)的協(xié)議,可以作為其他開發(fā)工具開發(fā)通用調(diào)試界面的基礎(chǔ)。

圖3-3 使用DAP的情況
與LSP類似,如今,眾多主流語言都已經(jīng)有了相應(yīng)的Debug Adapter,許多編輯器/IDE也都支持了LSP,包括Visual Studio Code、Visual Studio、Eclipse IDE、Emacs、Vim、Cloud Studio等。完整的名單可以到參考資料[9]中進(jìn)行查詢。
- FuelPHP Application Development Blueprints
- 摩登創(chuàng)客:與智能手機(jī)和平板電腦共舞
- Learning RabbitMQ
- jQuery從入門到精通 (軟件開發(fā)視頻大講堂)
- Learning Apache Mahout Classification
- 從Excel到Python:用Python輕松處理Excel數(shù)據(jù)(第2版)
- Python編程:從入門到實踐
- 從Java到Web程序設(shè)計教程
- Modern C++ Programming Cookbook
- Mudbox 2013 Cookbook
- 邊玩邊學(xué)Scratch3.0少兒趣味編程
- DB2SQL性能調(diào)優(yōu)秘笈
- Xamarin Cross-Platform Development Cookbook
- Learn Linux Quickly
- 讓Python遇上Office:從編程入門到自動化辦公實踐