<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          微軟欲閉源VS Code的C#擴(kuò)展惹眾怒

          共 1957字,需瀏覽 4分鐘

           ·

          2022-06-24 14:43

          出品 | OSC開源社區(qū)(ID:oschina2013)
          6 月 16 日,微軟項(xiàng)目經(jīng)理 Tim Heuer 公布了 VSCode C# 擴(kuò)展的路線圖更新,新的路線圖引入語(yǔ)言服務(wù)器協(xié)議 (LSP) 作為 VSCode C# 擴(kuò)展的基礎(chǔ)通信機(jī)制,并計(jì)劃創(chuàng)建一個(gè)新的 “LSP Tools Host” 組件作為新版 C# 擴(kuò)展的基礎(chǔ),以引入更多實(shí)用功能。但微軟在公告中稱 “LSP Tools Host” 組件將不開源,該決定隨即引發(fā)了大量批評(píng)。
          八年前, OmniSharp 團(tuán)隊(duì)用當(dāng)時(shí)的 API 和協(xié)議開發(fā)了 VS Code 中的 C# 擴(kuò)展。如今語(yǔ)言服務(wù)器協(xié)議 LSP 已成為現(xiàn)代開發(fā)工具(編輯器、IDE 等)相互交流的標(biāo)準(zhǔn)機(jī)制,因此微軟打算將 C# 擴(kuò)展切換為完全使用 LSP 進(jìn)行通信,并計(jì)劃更新現(xiàn)有的 OmniSharp 組件,使它們也以 LSP 進(jìn)行通信:
          (這里要提一句,創(chuàng)建 C# for VSCode 擴(kuò)展的 OmniSharp 團(tuán)隊(duì)雖然有很多微軟的員工,但該團(tuán)隊(duì)由社區(qū)驅(qū)動(dòng),并不屬于微軟,也就是說微軟正在收編由社區(qū)開發(fā)的 C# 擴(kuò)展,把它的發(fā)展路徑掌握在自己手中。)

          利用 LSP ,將使我們能為 C# for VS Code 擴(kuò)展帶來創(chuàng)新的功能。包括提供高級(jí)功能,以及在某些情況下提供閉源體驗(yàn),例如 IntelliCode。

          我們計(jì)劃創(chuàng)建一個(gè)新的 “LSP Tools Host” 組件,它將 Roslyn 和 Razor 等開源組件與閉源組件集成在一起,提供了更廣泛的功能。

          “LSP Tools Host” 將成為 C# for VS Code 擴(kuò)展的默認(rèn)體驗(yàn),現(xiàn)有用戶可以在現(xiàn)有的開源 OmniSharp 驅(qū)動(dòng)系統(tǒng)和新的 “LSP Tools Host” 之間進(jìn)行選擇,后者將提供一些額外功能(比如閉源功能)的訪問權(quán)限。

          “LSP Tools Host” 不會(huì)開源,但我們計(jì)劃在此過程中與社區(qū)進(jìn)行溝通,以幫助指導(dǎo)我們未來的計(jì)劃。

          簡(jiǎn)而言之,采用 LSP 通信機(jī)制之后,這個(gè)新的 LSP Tools Host 組件將是新的 C# for VS Code 擴(kuò)展的默認(rèn)功能包,會(huì)捆綁更多 “開箱即用” 的功能。也許是因?yàn)檫@個(gè)組件引進(jìn)了一些閉源的功能模塊,所以社區(qū)用戶可以幫忙開發(fā),但它不能開源。
          這則公告毫無疑問地被沖了,用戶紛紛質(zhì)疑為什么新的組件不能開源,指責(zé)微軟 “回到過去那個(gè)封閉的、利益至上的微軟”:
          面對(duì)眾人對(duì)閉源的質(zhì)疑,微軟項(xiàng)目經(jīng)理 Tim Heuer 更新了公告,進(jìn)一步解釋了 “LSP Tools Host” 組件不開源的原因:

          Razor 和 C# 的 LSP 實(shí)現(xiàn)將保持開源(Roslyn 和 Razor)。VS Code  的 C# 擴(kuò)展 (ms-dotnettools.csharp) 本身也將保持開源。

          這個(gè)新的 “LSP Tools Host” 組件只是開源和閉源功能之間的橋梁,讓我們可以同時(shí)提供這兩種功能。

          但有一說一,這個(gè)說法似乎不太能服眾,畢竟路線圖寫得明明白白: “LSP Tools Host” 將成為 C# for VS Code 擴(kuò)展的默認(rèn)體驗(yàn),現(xiàn)在則稱其只是一個(gè) “橋梁”......
          前車之鑒
          其實(shí),在 C# 擴(kuò)展之前,微軟對(duì) VSCode 的語(yǔ)言擴(kuò)展就有過收編再閉源的操作 。用戶 Pradyun Gedam 指出:此前 VSCode 的 Python 擴(kuò)展在開源解決方案 Jedi 的支持下普及,然后微軟將其收編,并構(gòu)建了一個(gè)基于 LSP 的閉源 Python 擴(kuò)展 pylance,承諾提供更好的用戶體驗(yàn)。
          然后微軟就將閉源的 pylance 設(shè)為 Python for VS Code 擴(kuò)展的默認(rèn)方案(甚至推送提示,讓用戶切換到該擴(kuò)展),同時(shí)不斷地減少對(duì)開源部分的資源投入。如今,使用 Pylance 的 Python 擴(kuò)展比 Jedi 多太多功能,以至于用戶只能選擇閉源的 pylance 擴(kuò)展。
          用戶 Gerard Smit 對(duì)此進(jìn)行了總結(jié):“擁抱、延伸和熄滅。” 這三個(gè)詞指先擁抱開源,讓社區(qū)力量為其提供更完善的功能;然后再對(duì)該功能進(jìn)行 “延伸、擴(kuò)展和改善”,隨后再閉源并強(qiáng)推 “延伸” 之后的新功能,“熄滅” 原有的由社區(qū)驅(qū)動(dòng)的開源功能。

          相關(guān)鏈接:https://github.com/omnisharp/omnisharp-vscode/issues/5276

          https://microsoft.github.io/language-server-protocol/

          https://github.com/GerardSmit
          瀏覽 45
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲视频中文 | 免费视频在线a | 黑丝空姐在线观看视频 | 一级a一级a爱片免费 | 亚洲天堂美女 |