写点什么

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:386420

评论

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

知乎 TiDB 实践系列 | tidb-operator 生产实战篇(TiDB v8)

TiDB 社区干货传送门

实践案例 管理与运维 安装 & 部署 TiDB Cloud

TiDB 版本升级:glibc 2.17 升级到 glibc 2.28 最佳实践

TiDB 社区干货传送门

版本升级

AI 技术开发口语对话机器人

北京木奇移动技术有限公司

AI技术 软件外包公司 AI口语练习

代码片段管理工具SnippetsLab for Mac激活版

小玖_苹果Mac软件

TiDB:AUTO_INCREMENT 实现连续自增的改造要点

TiDB 社区干货传送门

迁移 实践案例 管理与运维

天下武功,唯快不破 : TiDB DDL 语句执行性能整体提升 10 到 50 倍

TiDB 社区干货传送门

8.x 实践

防火墙软件Little Snitch for mac激活版

小玖_苹果Mac软件

详解GaussDB事务和并发控制机制,提升事务并发处理效率

华为云开发者联盟

数据库 并发控制 GaussDB

博客编写预览发布工具MarsEdit for mac激活版

小玖_苹果Mac软件

Java 调用 Go 解决方案

FunTester

2024 TiDB 社区年度总结,又携手共进了一年,2025年,一起迎接变化,挑战变化!

TiDB 社区干货传送门

软件包提取工具Pacifist for mac激活版

小玖_苹果Mac软件

智能PDF编辑器PDFelement Pro 11 for mac激活版

小玖_苹果Mac软件

缓存之美——如何选择合适的本地缓存?

京东科技开发者

开年「荣誉三重奏」,融云斩获技术、产品、出海三项大奖!

融云 RongCloud

总结 JavaScript 中的变体函数调用方式

李游Leo

JavaScript 前端 前端‘’

结合LangChain实现网页数据爬取

测吧(北京)科技有限公司

测试

在线CAD绘制门和窗(WEB开发CAD家装设计软件)

WEB CAD SDK

网页CAD 在线CAD WEB CAD web cad sdk

为什么软件测试开发需要智能体(AI Agent)?

测试人

软件测试

代码之美:聊聊代码整洁之道

京东零售技术

2025 年 AI 与数据工程领域十大趋势前瞻

Baihai IDP

程序员 AI 数据工程

域名管理常见问题:IP、域名和DNS之间的区别和关系

国科云

磁盘清理工具Magic Disk Cleaner for Mac激活版

小玖_苹果Mac软件

TiDB:Prometheus 安全访问策略配置全指南

TiDB 社区干货传送门

监控 集群管理 管理与运维

TiDB 升级高版本时 “mysql.tidb_runaway_watch” 不存在问题解决攻略

TiDB 社区干货传送门

版本升级 集群管理 管理与运维 6.x 实践 7.x 实践

使用JMeter玩转tidb压测

TiDB 社区干货传送门

性能测评

使用 Taro 开发鸿蒙原生应用 —— 快速上手,鸿蒙应用开发指南

京东科技开发者

数字化时代下的数字化资产及其治理

京东科技开发者

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