ArchSummit全球架构师峰会全新主题——「智能进阶·架构重塑」>>> 了解详情
写点什么

VS Code 更新 Python 支持,微软为支持 Pylance 抛弃开源语言服务器

  • 2021-09-08
  • 本文字数:1117 字

    阅读完需:约 4 分钟

VS Code 更新 Python 支持,微软为支持Pylance抛弃开源语言服务器

9 月初,Microsoft 宣布更新了 Visual Studio Code 中对 Python 的支持,并引入了 Web 浏览器中的编辑功能。该公司还将其开源的 Python 语言服务器存档,以支持闭源的 Pylance。

 

11 月份,微软将再次更新 Python in Visual Studio Code 扩展,而 Microsoft Python 语言服务器也将随之结束生命周期。弃用后,Microsoft Python 语言服务器存储库将被标记为已存档,不过开发者仍然可以在语言服务器的代码库上进行分叉和构建。

 

Python 2.7 用户的 IntelliSense 支持来自Jedi 0.17,这也将是支持 Python 2.7 的最后一个 Jedi 版本。从 10 月份开始,微软将只支持 Jedi 0.18 和更高的版本,不再提供对 Jedi 0.17 的支持,同时放弃支持 ctags 和 rope。官方建议是升级到 Python 3 或最好使用 Pylance 。但某些 Python 库仅存在于 2.x 版本中,这也可能是一个问题。

 

语言服务器是驱动 VS Code 编辑器中特定编程语言的功能引擎,例如支持语法突出显示、代码完成和错误检测。微软第一次使用 Python 语言服务器是在 2018 年,并且将其开源

 

2020 年 6 月,微软宣布使用性能更高、功能更丰富的新 Python 语言服务器 Pylance ,并最终放弃了旧语言服务器 Microsoft Python 语言服务器。此后,微软团队一直在改进Pylance 和开源语言服务器Jedi 中的语言服务器支持

 

Pylance 可利用语言服务器协议与 VS Code 进行通信。据介绍称,Pylance 是以微软的静态类型检查工具 Pyright 作为基础开发的全新的语言服务器,利用类型 stubs(.pyi 文件)和惰性类型推断来提供高性能的开发体验。Pylance 通过丰富的类型信息增强用户的 Python IntelliSense 体验,帮助用户更快、更好地编写代码。Pylance 扩展还随附了热门模块的形态存根档(Type Stub)集合,以提供快速、准确的自动完成和类型检查。

 

根据统计数据,Python 扩展组件的安装量超过 4100 万,而第三方 Python 扩展组件的安装量仅 300 多万,后者使用 pyLint 或 flake8 作为 linter(均为开源)。

 

Pylance 现在已经成为 Python for Visual Studio Code 的默认语言支持,微软几乎所有的用户都已切换到了该新语言服务器。

 

尽管 VS Code 是免费和开源的,但与微软最初的 Python 语言服务器不同,Pylance 是闭源的,这也是其不太吸引开发者的地方。

 

Pylance 的许可声明显示,开发者只能在 Microsoft Visual Studio、Visual Studio for Mac、Visual Studio Code、Azure DevOps、Team Foundation Server 和后续 Microsoft 产品和服务(统称为,Visual Studio 产品和服务)中,来开发和测试应用程序。

 

语言服务器是 VS Code 的基础。尽管 Pylance 是建立在一个单独的开源项目Pyright 之上,但这样的改变一定程度上还是破坏了编辑器的开源状态,并使社区更难修复问题和提出改进建议。

 

2021-09-08 10:385111

评论

发布
暂无评论
发现更多内容

如何理解DevOps?

老张

DevOps 软件工程

Flomesh Ingress 使用实践(二)TLS 进阶

Flomesh

HTTP ingress Pipy

架构杂谈——互联网系统架构演进

小小怪下士

Java 程序员 后端 架构设计

一次JSF上线问题引发的MsgPack深入理解,保证对你有收获

京东科技开发者

测试 序列化 msgpack 核心压缩

Apipost如何自定义响应参数?

叶小柒

疫情大环境下科技互联网公司开源节流降本增效

laofo

研发效能 降本增效 开源节流

疫情时代的宠儿:抗生素行业,今后何去何从

前嗅大数据

大数据 数据分析 网络爬虫 抗生素

天翼云以10.2%份额位列中国公有云IaaS+PaaS市场第三

天翼云开发者社区

如何合并与拆分 Word 表格中的单元格

Geek_249eec

C# word VB.NET

TDengine 荣获 2022 金猿奖“大数据产业最具投资价值企业”“大数据产业创新技术突破”

TDengine

数据库 tdengine 时序数据库

开发者变富攻略 | 如何使用开源工具,科学记账?

LigaAI

程序人生 敏捷开发 复式记账 企业号 2 月 PK 榜 Beancount

泼辣修图2023官方网页版入口在哪里?

茶色酒

泼辣修图2023

周鸿祎瞄准中小微客户提供免费SaaS,思路:50万企业×2万年费=100亿补贴

B Impact

【FAQ】申请运动健康服务验证环节常见问题及解答

HMS Core

HMS Core

共铸国云智领未来| 如心未来社区的“幸福密码”

天翼云开发者社区

跨境SaaS企业“会议营销"实战:立足商机注定平庸,300分客户转不转“MQL"?

B Impact

高效管理,让工作事半功倍

石云升

极客时间 2月月更 技术领导力实战笔记

面试官:什么是双亲委派模型?

王磊

java面试

用 NFTScan 的角度解析 Yuga labs NFT 项目系列

NFT Research

NFT BAYC

数字先锋| 枣庄政务云全新升级,居民办事体验upup!

天翼云开发者社区

利用 Addax 异构迁移数据到 Databend

Databend

基于SLO告警(Part 2):为什么使用MWMB方法

Grafana 爱好者

可观测性 Grafana Prometheus SRE SLO

AI时代的信息技术部怎么改革?

FN0

小程序 超级app

应用可靠性与性能不给力?HarmonyOS HiViewDFX了解一下

HarmonyOS开发者

HarmonyOS

Apipost全局参数和目录参数怎么用?

不想敲代码

接口文档 apipost API调试

Java高手速成 | JSP MVC模式项目案例

TiAmo

mvc java; jsp

安全可信| 首批+先进!天翼全栈混合云一举斩获三项可信云评估

天翼云开发者社区

用Apipost进行gRPC调试教程

不想敲代码

微服务 gRPC 接口调试

时序电路建模基础

timerring

FPGA

「钞能力养成指北」前传:开年变富,开发者如何迈出第一步?

LigaAI

敏捷开发 新年计划 复式记账 图论 企业号 2 月 PK 榜

2023云原生安全值得关注的3个方向

HummerCloud

ebpf 云原生安全 SBOM

VS Code 更新 Python 支持,微软为支持Pylance抛弃开源语言服务器_语言 & 开发_褚杏娟_InfoQ精选文章