写点什么

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

评论

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

在 Go 语言单元测试中如何解决 MySQL 存储依赖问题

江湖十年

golang Web 后端 单元测试 测试 单元测试

RLHF 技术:如何能更有效?又有何局限性?

Baihai IDP

人工智能 强化学习 白海科技 RLHF 大语言模型

飞桨AI Studio可以玩多模态了?MiniGPT4实战演练!

飞桨PaddlePaddle

人工智能 百度 paddle 飞桨 百度飞桨

直播平台源码开发,信息收发功能搭建

山东布谷科技

软件开发 直播 源码搭建 消息发送 直播平台源码

面试官:说出 Java 中的 7 种重试机制

java易二三

编程 程序员 面试 计算机

零信任体系化能力建设(1):身份可信与访问管理

权说安全

7月征文活动结果出炉,快来看看有没有你

InfoQ写作社区官方

热门活动 年中技术盘点

企业号 8 月 PK 榜,火热开启!

InfoQ写作社区官方

热门活动 企业号 8 月 PK 榜

未来前端框架将持续推进组件化开发

没有用户名丶

这次是运行在 Intel AIxBoard™ 开发板上的 TDengine 预测“未来”

爱倒腾的程序员

细数不懂Spring底层原理带来的伤与痛

java易二三

spring 程序员 Spring Boot 计算机 底层原理

Java高级特性——反射

java易二三

Java 编程 计算机

Android 架构模式如何选择

vivo互联网技术

mvc Compose MVVM 解耦 MVI

Spring AOP 中的代理对象是怎么创建出来的?

江南一点雨

Java spring

竞速榜实时离线对数方案演进介绍 | 京东云技术团队

京东科技开发者

实时数据 企业号 7 月 PK 榜 竞速榜 离线数据

微信业务架构图&学生管理系统架构设计

艾瑾行

架构实战营

如何为Spring和Mybatis增加可逆计算支持

canonical

Spring Boot mybatis 低代码 可逆计算 Nop平台

特性快闪:使用 Databend 玩转 Iceberg

Databend

解析游戏陪练app源码的开发与意义

山东布谷网络科技

游戏 开源代码 APP软件开发

你不知道的ES2023 | 京东云技术团队

京东科技开发者

JavaScript ecmascript 前端 ECMAScript 6 企业号 7 月 PK 榜

火山引擎AB测试:广告实验深度打通巨量引擎,高效测试广告素材

字节跳动数据平台

大数据 A/B测试 对比试验 企业号 7 月 PK 榜 数字化增长

MYSQL中JSON类型介绍 | 京东物流技术团队

京东科技开发者

json MySQL 数据库 企业号 7 月 PK 榜

解析架构设计:构建可靠、高效的软件系统

前端连环话

前端架构 架构设计 前端工程化 技术 优化体系

TypeScript 玩转类型操作之字符串处理能力

小乌龟快跑

typescript 面试 前端

【华秋干货铺】一文轻松搞定PCB叠层和阻抗设计

华秋电子

【实践篇】最全的【DDD领域建模】小白学习手册(文末附资料) | 京东云技术团队

京东科技开发者

架构 DDD 领域建模 企业号 7 月 PK 榜

javascript运算符与流程控制

timerring

JavaScript

[开源]免费开源MES系统

万界星空科技

开源

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