Apple員工Alex L發布公開信告知LLVM組織成員,Apple將支助Clangd以及重構工具。信中也提到,Apple要將原本專注在libclang工具架構重心移轉到Clangd開發工作上。

Clangd是基於Clang的開發語言伺服器協定(Language Server Protocol,LSP)實作,能為開發者提供開發語言的智慧功能,諸如程式碼自動完成或是尋找參照等功能。開發語言伺服器的目的就是要讓開發語言支援和IDE分離,也就是只要實作開發語言伺服器協定,任何的IDE都能提供開發語言的智慧功能。

Alex L表示,Clangd是互動式Clang工具的首選,Clangd現在已經發展的很好了,藉由Apple的資源投入,要讓Clangd更快,功能更強大,執行效能更高。Apple想要在Clangd上實現一些進階功能,並整合進Apple現有的跨語言IDE Xcode。

Apple想讓Clangd支援完全不同的傳輸層協定,因為他們希望讓LSP實作分為兩層,邏輯LSP層以及JSON-RPC傳輸層。而這能讓Apple增加對自家XPC技術的支援,並替代現有的JSON-RPC傳輸層。

另外,Apple想讓Clangd支援比現有LSP還要更廣的擴充協定規範。Alex L提到,擴充機制將能讓Apple新增協定條目,並且在既有的請求以及回應附帶更多資訊。

Alex L表示,他們一開始會先投入時間來補齊Clangd中缺失的功能,並且擴充現有的功能,並且確保Clangd可以與Apple驅動全域重構的跨語言索引器一同運作。在去年Xcode新增的Clang重構基礎架構,Alex L希望可以和Clangd良好的整合。Apple打算讓重構工作能同時支援Clangd的內建索引器和獨立跨語言索引器協調合作。

熱門新聞

Advertisement