写点什么

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

评论

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

边缘计算加持下的智慧社区

边缘计算

量化策略系统搭建,马丁策略交易

手把手教你写一个经典躲避游戏

HZFEStudio

大前端 游戏 canvas

用C++ 和OpenCV 实现视频目标检测(YOLOv4模型)

博文视点Broadview

使用 rocketmq-spring-boot-starter 来配置、发送和消费 RocketMQ 消息

阿里巴巴云原生

容器 开发者 云原生 中间件 API

mmkv跨进程,面试字节跳动Android研发岗,灵魂拷问

欢喜学安卓

android 程序员 面试 移动开发

游戏测试-战斗内核的自动化测试

行者AI

人工智能

RocketMQ NameServer工作原理与源码解析

HByte

RocketMQ

区块链电子签章应用平台--助推企业数字化转型升级

13530558032

PassJava 初始化项目和添加微服务

悟空聊架构

LeetCode题解:73. 矩阵置零,栈,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

B站HR炫耀资产、贬低面试者?无独有偶,校招污点事件记录帮你避雷

北游学Java

Java 面试

NumPy之:标量scalars

程序那些事

Python 数据分析 Numpy 程序那些事 scalar

合约交易所跟单,合约跟单社区开发

如何推进一个“以行动为导向的”事件驱动架构?

VoltDB

数据库 数据分析 实时数据分析 事件驱动架构

马斯克的狗狗币实验

猫Buboo

扩展 GRTN:云原生趋势下的 RTC 架构演进

阿里云视频云

阿里云 云原生 RTC SRS流媒体服务器

40个问题让你快速掌握Java多线程的精髓

华为云开发者联盟

Java 多线程 synchronized Thread Semaphore

区块链食品溯源--为食品溯源认证

13530558032

源中瑞智慧党建系统,打造党建管理系模式

13530558032

面对大规模 K8s 集群,如何先于用户发现问题?

阿里巴巴云原生

容器 云原生 k8s 监控 调度

浅谈BSS3.0产品“守成”之策下 • 运维提升篇

鲸品堂

软件 运维 提升

亲爱的开发者,您收到一个启动智能世界的魔方

白洞计划

Coinbase上市意味着什么?

猫Buboo

图算法系列之深度优先搜索(一)

Silently9527

Java 深度优先搜索 图算法

ndk开发环境,个人开发者做一款App需要知道的事情,绝对干货

欢喜学安卓

android 程序员 面试 移动开发

新思科技发布《疫情中的安全隐患:移动应用程序安全现状》报告

InfoQ_434670063458

App 新思科技 移动应用程序安全

闲来无事,写脚本,install_wordpress

ilinux

编程实战:如何管理代码里的常量

华为云开发者联盟

常量 代码 web开发 final常量类 复用常量

架构实战营 - 架构设计文档模板

华仔

架构设计 文档模板

Pytorch数据加载

Sakura

4月日更

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