VS Code 更新 Python 支持,微軟爲支持Pylance拋棄開源語言服務器

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"9月初,Microsoft 宣佈"},{"type":"link","attrs":{"href":"https:\/\/devblogs.microsoft.com\/python\/python-in-visual-studio-code-september-2021-release\/","title":null,"type":null},"content":[{"type":"text","text":"更新"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"了 Visual Studio Code 中對 Python 的支持,並引入了 Web 瀏覽器中的編輯功能。該公司還將其開源的 Python 語言服務器存檔,以支持閉源的 Pylance。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"11月份,微軟將再次更新 Python in Visual Studio Code 擴展,而Microsoft Python 語言服務器也將隨之結束生命週期。棄用後,"},{"type":"link","attrs":{"href":"https:\/\/github.com\/microsoft\/python-language-server","title":null,"type":null},"content":[{"type":"text","text":"Microsoft Python 語言服務器存儲庫"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"將被標記爲已存檔,不過開發者仍然可以在語言服務器的代碼庫上進行分叉和構建。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"Python 2.7 用戶的 IntelliSense 支持來自"},{"type":"link","attrs":{"href":"https:\/\/github.com\/davidhalter\/jedi\/releases\/tag\/v0.17.2","title":null,"type":null},"content":[{"type":"text","text":"Jedi 0.17"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":",這也將是支持 Python 2.7 的最後一個Jedi版本。從10月份開始,微軟將只支持Jedi 0.18和更高的版本,不再提供對Jedi 0.17的支持,同時放棄支持ctags和rope。"},{"type":"link","attrs":{"href":"https:\/\/github.com\/microsoft\/vscode-python\/wiki\/Limited-support-for-Python-2.7","title":null,"type":null},"content":[{"type":"text","text":"官方建議"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"是升級到 Python 3 或最好使用 Pylance 。但某些 Python 庫僅存在於 2.x 版本中,這也可能是一個問題。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"語言服務器是驅動 VS Code 編輯器中特定編程語言的功能引擎,例如支持語法突出顯示、代碼完成和錯誤檢測。微軟第一次使用 Python 語言服務器是在 2018 年,並且將其"},{"type":"link","attrs":{"href":"https:\/\/github.com\/microsoft\/python-language-server","title":null,"type":null},"content":[{"type":"text","text":"開源"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"2020 年 6 月,微軟宣佈使用性能更高、功能更豐富的新 Python 語言服務器Pylance ,並最終放棄了舊語言服務器 Microsoft Python 語言服務器。此後,微軟團隊一直"},{"type":"link","attrs":{"href":"https:\/\/devblogs.microsoft.com\/python\/python-in-visual-studio-code-may-2021-release\/","title":null,"type":null},"content":[{"type":"text","text":"在改進"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"Pylance 和開源語言服務器"},{"type":"link","attrs":{"href":"https:\/\/github.com\/pappasam\/jedi-language-server","title":null,"type":null},"content":[{"type":"text","text":"Jedi 中的"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","text":"語言服務器支持"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Pylance 可利用語言服務器協議與 VS Code 進行通信。據介紹稱,Pylance 是以微軟的靜態類型檢查工具 Pyright 作爲基礎開發的全新的語言服務器,利用類型 stubs(.pyi 文件)和惰性類型推斷來提供高性能的開發體驗。Pylance 通過豐富的類型信息增強用戶的 Python IntelliSense 體驗,幫助用戶更快、更好地編寫代碼。Pylance 擴展還隨附了熱門模塊的形態存根檔(Type Stub)集合,以提供快速、準確的自動完成和類型檢查。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"根據統計數據,Python 擴展組件的安裝量超過 4100 萬,而第三方 Python 擴展組件的安裝量僅 300 多萬,後者使用 pyLint 或 flake8 作爲 linter(均爲開源)。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"Pylance 現在已經成爲 Python for Visual Studio Code 的默認語言支持,微軟幾乎所有的用戶都已切換到了該新語言服務器。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"儘管 VS Code 是免費和開源的,但與微軟最初的 Python 語言服務器不同,Pylance是閉源的,這也是其不太吸引開發者的地方。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"Pylance的"},{"type":"link","attrs":{"href":"https:\/\/marketplace.visualstudio.com\/items\/ms-python.vscode-pylance\/license","title":null,"type":null},"content":[{"type":"text","text":"許可"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"聲明顯示,開發者只能在 Microsoft Visual Studio、Visual Studio for Mac、Visual Studio Code、Azure DevOps、Team Foundation Server 和後續 Microsoft 產品和服務(統稱爲,Visual Studio 產品和服務)中,來開發和測試應用程序。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"語言服務器是 VS Code 的基礎。儘管Pylance 是建立在一個單獨的開源項目"},{"type":"link","attrs":{"href":"https:\/\/github.com\/microsoft\/pyright","title":null,"type":null},"content":[{"type":"text","text":"Pyright 之上"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":",但這樣的改變一定程度上還是破壞了編輯器的開源狀態,並使社區更難修復問題和提出改進建議。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章