选自towardsdatascience

作者:Dimitris Poulopoulos

机器之心编译  编辑:陈萍

微软推出的 VS Code Python 语言插件 Pylance,给 Python 带来编译语言般的开发支持。对于最近更新的 VS Code 版本,除了保留 Pylance 原始特性外,又引入了新特性。

Pylance 是微软今年推出的 Python 语言服务器,可以利用语言服务器协议与 VS Code 进行通信。Pylance 在 VS Code 中为 Python 提供了快速、特性丰富的语言支持,并依赖于核心的 Python 扩展,从而极大地改善了 VS Code 中的 Python 体验。

随着本月 VS Code 的更新,Pylance 可以执行用户期待已久的操作,将 Python 开发体验带到一个新的水平。在本文中,机器学习工程师 Dimitris Poulopoulos 将为读者介绍 Pylance 的功能以及在新版 VS Code 中的可用最新特性。

Python stub 文件

Pylance 利用类型 stub 文件(.pyi 文件)和惰性类型推断为使用者提供了高效的开发体验。

什么是 stub 文件呢?

Stub 文件为 Python 模块提供类型提示信息。完整的官方信息可以在 PEP-484 中的 Stub-files 章节中找到。例如,下面的 Python 函数存在于 my_function.py 模块:

def add(a, b):return a + b

我们也可以创建一个新的 stub 文件 my_function.pyi,以提供类型提示:

def add(a: int, b: int) -> int: ...

注意:在 stub 文件中,定义函数末尾的「...」是语法的一部分。

然而,我们可以在 Python 模块中插入类型提示,而不需要创建新的 stub 文件,如下代码所示

def add(a: int, b: int) -> int:return a + b

问题来了:我们为什么要使用 stub 文件呢?这里有几个原因:例如保持. py 文件向后兼容;向现有代码库中提供类型提示,并希望尽量减少源代码本身的更改等等。

讲完 stub 文件优点,我们再回到 Pylance 本身。stub 文件通过丰富的类型信息增强了 Python IntelliSense 体验,帮助开发者更快地编写代码。更重要的是,Pylance 已经为流行模块提供了一个 stub 集合,其内置的 stub 库提供精确的类型检查以及快速自动补全功能。

Pylance 特性展示

和其他 Python 语言服务器一样,Pylance 也是围绕提升开发效率和体验进行优化。Pylance 特性有很多,下面介绍几个比较重要的特性:

类型信息显示:当你把鼠标悬浮在对应的函数上方时,就可以显示对应的函数文档。

自动导入功能:在使用 Pycharm 的时候,当用到某个包或者模块时,可以通过快捷键 Alt+Enter 快速导入对应的模块。通过 Pylance 也可以实现相同的功能,现在我们可以自动导入已经安装好的标准库模块。

类型检查:类型检查可以帮助我们验证参数在传入函数执行前类型是否正确。Pylance 中类型检查默认是关闭的,需要在设置中启动,操作方法为:设置「python.analysis.typeCheckingMode」为「basic」或者是「strict」。

VS Code 更新引入了 Pylance 新特性

最近,VS Code 更新引入了几个新的 Pylance 特性,其中代码提取和 Pylance Insiders 程序非常重要。

代码提取:我们可以通过单击来提取代码中的方法和变量。

Pylance Insiders:Pylance Insiders 程序,它提供了对新语言服务器特性和改进的早期访问。要启用 insiders,请设置「pylance.insidersChannel」:「daily」。

原文链接:https://towardsdatascience.com/pylance-the-best-python-extension-for-vs-code-ae299f35548c

推荐阅读
误执行了rm -fr /*之后,除了跑路还能怎么办?!程序员必备58个网站汇总大幅提高生产力:你需要了解的十大Jupyter Lab插件

微软推出的Pylance,随着VS Code的更新,性能又前进了一步相关推荐

  1. 微软推出新版Xbox One手柄 配对更迅速

    如果你也遇到过Xbox One手柄无故失联的问题,那么微软最新推出的手柄固件更新对你来说应该是一个好消息,而这应该也是自Xbox One发布以来微软推出的第三次手柄固件更新. 据悉,本次更新将着重解决 ...

  2. 微软 python_微软推出 Pylance,改善 VS Code 中的 Python 体验

    微软宣布推出一种新的 Python 语言服务器,名为 Pylance,其可利用语言服务器协议与 VS Code 进行通信.Pylance 这个名字是对 Monty Python 的 Lancelot ...

  3. 微软推出 Pylance,改善 VS Code 中的 Python 体验

    源自:编程派 微软宣布推出一种新的 Python 语言服务器,名为 Pylance,其可利用语言服务器协议与 VS Code 进行通信.Pylance 这个名字是对 Monty Python 的 La ...

  4. 微软进一步融合 Linux,VS Code 官方支持树莓派

    近日,微软官方发布了 Visual Studio Code 1.50.0 ,新版本增加了对 Linux Armv7 和 Arm64 体系结构设备的支持,其中包括树莓派.Chromebook 与其他基于 ...

  5. bing浏览器_微软推出全新 Edge 浏览器,这 3 大特色亮点 Chrome 都没有

    微软基于 Chromium 架构打造的全新一代 Edge浏览器正式版,今(1/16)于官网正式上线,适用系统平台,包括:Windows 10.Windows 7.Windows 8.1 与 macOS ...

  6. AI 一分钟 | 微软推出全新人工智能平台;多名用户反映亚马逊 Echo 智能音箱突然发笑

    整理 | Leo 一分钟AI 1.华为麒麟670曝光,定位中端新增AI功能 2.海尔与百度启动智慧家庭战略合作,加速布局语音交互技术商业化 3.多名用户反映亚马逊 Echo 智能音箱突然发笑 4.华为 ...

  7. 微软推出 AI 开发免费电子书,手把手教你构建智能聊天机器人

    日前,微软推出 AI 开发者免费电子书,教导大家利用微软 AI 平台开发智能聊天机器人.该电子书不长,核心内容共有四十多页,其中涵盖大量代码,相信对于 AI 初学者来说,这将是一本很有用的实战教程. ...

  8. 微软推出新逆天开源语言Bosque,告别 for 循环,提高开发效率!

    拥抱开源的微软近日又为开发者带来好消息:在受 TypeScript 语法类型与 ML 和 Node/JavaScript 语义启发下,微软推出了全新的开源编程语言 Bosque. Bosque 创作者 ...

  9. 微软推出Visual Studio Kubernetes工具包预览版

    微软表示,利用 Visual Studio Kubernetes 这个工具,使用者可以直接在该环境中,构建 Kubernetes 容器应用程序项目,或者让现有的 .NET 网页应用程序也兼容 Kube ...

最新文章

  1. 操作系统c语言两个进程制约且互斥,电大计算机本科《操作系统》作业2及答案...
  2. view桌面池计算机显示错误,学员问答之3-View桌面问题
  3. Django缩略图实现
  4. 【DP】【Asia - Harbin - 2010/2011】【Permutation Counting】
  5. LeetCode 277. 搜寻名人(思维题)
  6. android Camera 录像时旋转角度
  7. 2019-04-17 PowerShell基本语法
  8. XP下安装ubuntu双系统
  9. GlobalMapper20使用控制点对地形数据(高程数据)进行高程纠正(高程拟合/纠偏/配准)
  10. HTML+CSS+JavaScript网页特效源代码(复制代码保存即可使用)
  11. easyui java下拉列表项目_EasyUI/TopJUI之如何动态改变下拉列表框ComboBox输入框的背景颜色...
  12. 理解AI:为什么要在人工智能系统中寻求可解释性呢?
  13. 成功上岸,心得分享(计算机专业)
  14. LimeSDR官方系列教程(一):LimeSDR简介
  15. 老张和小梁的求职之旅
  16. UEBA架构设计之路3:复杂事件处理引擎
  17. ECshop生成网站地图url
  18. TF-IDF算法加权
  19. mysql分表 ---Merge
  20. 快速远程桌面公司内网电脑,远程OA/ERP/BUG/NAS【无需公网IP】

热门文章

  1. Web性能优化与Http2
  2. git commit Please tell me who you are it config --global user.email you@example.com
  3. 树莓派 mysql集群_多树莓派集群服务器
  4. div置于页面底部_网易内部PPT模板有点丑,如何花最少的时间提高页面颜值?
  5. cad蜂鸟工具_蜂鸟视图地图数据中台,全面提升商业地产的可视化信息管控
  6. mysql 分组_mysql分组查询(总结)
  7. java 重用性_Java开发重用性必备的三大核心知识点
  8. rac ogg to mysql_GoldenGate从oracle迁移数据到mysql
  9. docker容器内访问外部mysql_详解Docker容器内应如何访问本机(宿主机)
  10. MySQL 错误 #1113