<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#擴展惹眾怒

          共 1873字,需瀏覽 4分鐘

           ·

          2022-07-09 20:11

          不點藍字關(guān)注,我們哪來故事?


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

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

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

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

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

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

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

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

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


          END



          若覺得文章對你有幫助,隨手轉(zhuǎn)發(fā)分享,也是我們繼續(xù)更新的動力。


          長按二維碼,掃掃關(guān)注哦

          ?「C語言中文網(wǎng)」官方公眾號,關(guān)注手機閱讀教程 ?

          瀏覽 33
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <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>
                  国产精品久久综合色 | 波多野成人无码精品视频 | 最新人人操 | 89bbbb在线播放 | 欧美插穴 |