微软再出神器,这次终于对 Python下手了

  • A+
所属分类:安全闲碎

阅读本文大概需要 3 分钟。


微软又出良心工具了!

微软于 7 月 1 日发布一款新的 VS Code 插件,名为 Pylance,这个名称是向 Monty Python 的 Lancelot 致敬。

Pylance 距离截稿不足 2 天时间,VS Code 插件安装量已经达到 6800+

在 2018 年,Microsoft 的 Python 团队发布了 Python 语言服务器,将 Visual Studio 的丰富 Python IntelliSense 支持引入了 VS Code。

为了提供更好的用户体验,开发团队基于 Microsoft 的 Pyright 静态类型检查工具将 Pylance 开发为一种全新的语言服务器。

Pylance 利用类型存根(.pyi 文件)和类型推断来提供高性能的开发体验。Pylance 通过丰富的类型信息增强了 Python IntelliSense 体验,可帮助更快地编写更好的代码。Pylance 还提供了快速、准确的自动完成和类型检查。

另外,需要注意的是,微软虽然发布了 Pylance,但是并没有开源 Pylance的源代码。

下面就来介绍一下这款新鲜出炉的 VS Code 插件!

Pylance

安装

和其他 VS Code 插件一样,可以直接点击侧边活动栏的插件市场图标,搜索 Pylance 进行安装。

安装之后,打开一个新的 .py 文件即可使用。

特性

和其他 Python 语言服务器一样,Pylance 也是围绕提升开发效率和体验进行优化,它主要有如下特性:

  • Docstrings
  • 参数提示
  • 自动导入
  • 代码补全
  • 代码诊断
  • 引用和跳转
  • 代码大纲
  • 类型检查
  • 支持多工作区
  • 带有类型信息的签名帮助
  • 兼容 IntelliCode 和 Jupyter notebook

对于这些特性,我不逐个进行展开介绍,从中挑选几个我个人认为不错的进行介绍一下。

Docstrings

阅读类、方法、函数文档是开发中非常常用的一种场景,Pylance 提供了一种易于阅读文档的方式,只需要把鼠标悬浮在对应的类、函数、方法上方就可以显示对应的字符串字符串文档。微软再出神器,这次终于对 Python下手了

参数提示

在调用一个函数、类、方法时,Pylance 能够提示详细的参数信息。

微软再出神器,这次终于对 Python下手了

自动导入

在使用 Pycharm 的时候,当我们用到某个包或者模块时,可以通过快捷键 Alt+Enter 快速 import 对应的模块。通过 Pylance 也可以实现相同的功能。

微软再出神器,这次终于对 Python下手了

代码补全

Pylance 能够像大多数代码补全工具那样,能够自动补全代码,而且补全速度很快、且准确。

微软再出神器,这次终于对 Python下手了

代码诊断

Pylance 可以对 Python 代码进行诊断,对于不符合Python语法的代码进行划线提示。对于规范编码、提升代码质量具有很大帮助。

微软再出神器,这次终于对 Python下手了

引用和跳转

这是开发过程中非常基本的一项功能,因此,作为一款语言服务器,自然应该支持引用和跳转。

微软再出神器,这次终于对 Python下手了


类型检查

Pylance 中类型检查默认是关闭的,如果对 Python 类型检查感兴趣,可以在设置中打开。类型检查包括 2 种模式,分别是模式或严格模式。此设置使用 Pyright s 类型检查分别对代码应用基本或全面的规则集。这种模式产生的诊断可以帮助提高代码质量,并帮助你更容易地找到边界情况。

微软再出神器,这次终于对 Python下手了

支持多工作区

Pylance 支持多根工作区,这样就可以在同一个 Visual Studio 代码会话中打开多个文件夹,并且在每个文件夹中都有 Pylance 功能。

微软再出神器,这次终于对 Python下手了


推荐阅读

1

30 个极简 Python 代码,拿走即用

2

用“讲故事”的方式,带你认识 Python 编码问题的起源和发展!

3

什么是 Docker?看这一篇干货文章就够了!

4

市面上好用的 Markdown 编辑器,我给你整理好了




崔庆才

静觅博客博主,《Python3网络爬虫开发实战》作者

隐形字

个人公众号:进击的Coder

微软再出神器,这次终于对 Python下手了
微软再出神器,这次终于对 Python下手了
微软再出神器,这次终于对 Python下手了

长按识别二维码关注





好文和朋友一起看~

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: