微軟推開(kāi)源協(xié)議LSP 欲將其塑造成編程標(biāo)準(zhǔn)

責(zé)任編輯:editor005

作者:趙東

2016-06-30 22:40:00

摘自:ZD至頂網(wǎng)

近日,微軟在舊金山召開(kāi)的DevNation大會(huì)上宣布推出一個(gè)開(kāi)源的語(yǔ)言服務(wù)器協(xié)議。微軟、Codenvy和紅帽聯(lián)合推出一個(gè)支持編程語(yǔ)言和集成開(kāi)發(fā)環(huán)境之間溝通的開(kāi)源通用協(xié)議。

 近日,微軟在舊金山召開(kāi)的DevNation大會(huì)上宣布推出一個(gè)開(kāi)源的語(yǔ)言服務(wù)器協(xié)議。而更有意思的是,這是微軟與Codenvy、紅帽聯(lián)合推出的。

微軟推開(kāi)源協(xié)議LSP  欲將其塑造成編程標(biāo)準(zhǔn)

微軟、Codenvy和紅帽聯(lián)合推出一個(gè)支持編程語(yǔ)言和集成開(kāi)發(fā)環(huán)境之間溝通的開(kāi)源通用協(xié)議。

這個(gè)消息聽(tīng)起來(lái)可能有些令人震驚。但要知道,微軟一直以來(lái)都在深層次上采用開(kāi)源方法。另外,微軟也一直努力將Visual Studio和開(kāi)源Eclipse開(kāi)發(fā)環(huán)境合在一起。除此之外,微軟還推出了在紅帽企業(yè)Linux(RHEL)里運(yùn)行SQL Server、.NET Core 1.0版和ASP.NET。綜合以上種種,現(xiàn)在看到微軟和其開(kāi)源合作伙伴創(chuàng)建了語(yǔ)言服務(wù)器協(xié)議(LSP)也就不會(huì)覺(jué)得太奇怪了。

據(jù)了解,LSP旨在提供一個(gè)將編程語(yǔ)言整合到各種代碼編輯器及集成開(kāi)發(fā)環(huán)境(IDE)的通用方法,并為各種編程語(yǔ)言在不同軟件工具里提供豐富的編輯體驗(yàn),擴(kuò)展開(kāi)發(fā)人員的靈活性和生產(chǎn)力。

Codenvy CEO兼Eclipse Che項(xiàng)目負(fù)責(zé)人Tyler Jewell表示:“在過(guò)去,大多數(shù)編程語(yǔ)言只是針對(duì)一個(gè)工具進(jìn)行優(yōu)化,這就使得開(kāi)發(fā)人員在使用自己熟悉和喜歡的編輯器時(shí)受到限制,也限制了語(yǔ)言提供商的機(jī)會(huì)。”他還表示,“開(kāi)發(fā)者可利用微軟、紅帽、Codenvy共同支持的通用協(xié)議,在自己喜歡的工具里獲得任何關(guān)于任何編程語(yǔ)言的智能用法。”

LSP是一個(gè)開(kāi)源項(xiàng)目,其中定義了語(yǔ)言服務(wù)器里基于JavaScript對(duì)象符號(hào)(JSON)的數(shù)據(jù)交換協(xié)議。目前,該項(xiàng)目托管在GitHub上,用的是創(chuàng)造通用和麻省理工學(xué)院授權(quán)。

LSP旨在促進(jìn)編輯器和語(yǔ)言服務(wù)器之間的互操作性,令開(kāi)發(fā)人員能夠使用各種智能編程語(yǔ)言助手,這些語(yǔ)言助手的主要功能包括:找符號(hào)、語(yǔ)法分析、代碼補(bǔ)全、定義定位、綜視以及利用所選用的編輯器或IDE重構(gòu)代碼。

LSP目前支持以下語(yǔ)言:C++、PowerShell、JSON、CSS/LESS/SASS、Xtext、Crane PHP、Haxe、Java和RAML。集成開(kāi)發(fā)環(huán)境方面,微軟Visual Studio Code和Eclipse Che目前已經(jīng)實(shí)現(xiàn)了LSP協(xié)議。LSP協(xié)議在Eclipse Che的實(shí)現(xiàn)是個(gè)開(kāi)源代碼分支,第三季度開(kāi)始提供給一般用戶(hù)下載。

微軟杰出工程師Erich Gamma 表示:“我們?cè)趯mnisharp C#和TypeScript整合到到VS Code后就定義了通用語(yǔ)言服務(wù)器協(xié)議。經(jīng)過(guò)兩次語(yǔ)言服務(wù)器的整合,有一點(diǎn)變得很明顯,那就是對(duì)于工具提供商和語(yǔ)言提供商來(lái)說(shuō),一個(gè)共同的協(xié)議是一個(gè)雙贏結(jié)果。如此,語(yǔ)言提供商可以將自己的語(yǔ)言支持拿出來(lái),其他工具提供商就可以拿去用,就很容易了。”

語(yǔ)言服務(wù)器協(xié)議方面的協(xié)作提供的功能包括:

開(kāi)發(fā)人員的靈活性和選擇性:開(kāi)發(fā)人員可以在使用新編程語(yǔ)言時(shí)試用各種豐富編輯體驗(yàn),而同時(shí)仍繼續(xù)使用自己的首選工具。多個(gè)操作系統(tǒng):編程語(yǔ)言提供商可以在多種操作系統(tǒng)里支持幾種工具,可最大限度地實(shí)現(xiàn)覆蓋范圍和和相關(guān)性。編輯器支持:微軟Visual Studio Code和Eclipse Che、新一代的Eclipse IDE增添了對(duì)LSP協(xié)議的支持。多種編程語(yǔ)言的支持:除了今天起可供使用的程語(yǔ)言服務(wù)器,年內(nèi)計(jì)劃將啟動(dòng)更多支持LSP的語(yǔ)言服務(wù)器。其中包括Omnisharp項(xiàng)目的C#, Typefox的xText和R、Ensime的JavaFX和微軟的CSS。紅帽開(kāi)源了一個(gè)項(xiàng)目的工作,以提供首個(gè)獨(dú)立的Java語(yǔ)言服務(wù)器,紅帽提議將其捐給Eclipse基金會(huì)。開(kāi)放合作:Codenvy、微軟和紅帽致力于與開(kāi)源社區(qū)合作開(kāi)發(fā)LSP協(xié)議。LSP協(xié)議托管在公共存儲(chǔ)服務(wù)器里,任何人都可以提交反饋,或是貢獻(xiàn)項(xiàng)目修改請(qǐng)求,達(dá)到提高和完善LSP項(xiàng)目的目的。語(yǔ)言服務(wù)器注冊(cè):語(yǔ)言服務(wù)器在全球性注冊(cè)表里公開(kāi)發(fā)布,該注冊(cè)表由Codenvy建立,是Eclipse項(xiàng)目的一部分,托管在Eclipse基金會(huì)里。任何工具軟件借助全球性注冊(cè)表就可以找到語(yǔ)言服務(wù)器并對(duì)其進(jìn)行使用。

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號(hào)-6京公網(wǎng)安備 11010502049343號(hào)