Visual Studio Python 工具的包管理器

  • Jonathan Allen
  • 邵思华

2015 年 4 月 11 日

话题:.NETPython语言 & 开发

微软为了在 Visual Studio 中支持 Python 而仍然不断努力着。Visual Studio Python 工具 2.2的 beta 版本(PTVS)目前已经发布,其中加入了许多 VS 支持的其它语言中的标准特性,例如 C# 和 VB 中的各种功能。

这份新特性列表中的第一条是任务注释(Task Comments)。这个特性会出现在列表中的第一条让人觉得有些吃惊,毕竟从表面上来看这一功能实在是简单到家了,它要做的无非就是扫描所有以某些关键字(默认关键字包括 TODO 和 HACK)开头的注释,并将它们加入整合后的任务列表中。

下一项功能是代码的折叠,这一功能也被称为“大纲”,Steve Dower 是这样写的:

这一条大概是用户要求最多的特性了,因此我们决定加入对它的支持。现在你可以将几乎任何类型的多行代码进行折叠,无论是代码的哪一部分都支持这一功能。包括函数、类、列表、字典、循环、异常处理器,甚至是多行的字符串。

他继续说道,Python 也将支持代码节(region),由于 # 符号本身就是 Python 中的一种注释字符,因此 Visual Studio 能够在不改变语言本身的情况下,支持以 # 开头的代码行。

这一点让人想到了 Visual Studio 开发者所面对的一些限制条件。我们为.NET 所创建的编程语言,例如 VB、C# 和 F#,它们在开发时就特别考虑到了在 IDE 中具有良好的用户体验。如果需要在 IDE 中加入新的功能,也可以对语言本身进行修改以支持新的特性。但如果要通过改动 Python 语言的方式加入一些注释方面的小技巧,这种方法就不可行。一方面,微软必须对 Python 的语言标准提交一个改动请求,另一方面,微软必须耐心地等待,直到各种不同的 Python 实现中的大部分、甚至是全部实现都已经认可这个新的改动。

微软能够做到的是提供一些代码小片段,他们在 Python 中的使用方式与在 C# 和 VB 中的使用方式一样。开发者可以像往常一样随意添加新的小片段,也可以选择将它提交给微软,以包含在将来版本的 PTVS 中。

包管理

在 Visual Studio 中的环境窗口将得到全面更新。一方面它能够更方便地检查有哪些环境已经安装了,并且能够访问它们的交互窗口,另一方面,它现在能够支持包的管理。在 Python 中,Python 包索引的作用与 NuGet 的作用相同,而现在你也可以直接在 Visual Studio 中对 Python 包索引进行搜索了。

调试

在调试这一功能点上,PTVS 正在迎头赶上。现在断点已经支持计数器了,这在调试循环,或是调试一些经常会进行排查函数时非常有用。

新版本现在也支持自动窗口(Autos)了。这里为非 VS 用户解释一下,自动窗口本质上就是一种观察(watch)窗口,其中的内容会根据最后一行执行的代码进行自动更新。简单地说,就是自动窗口能够显示接近当前行指示符的本地变量与表达式的值。

Visual Studio Python 工具支持 VS 2013 和 VS 2015 CTP6 版本。

查看英文原文Package Management for Python Tools for Visual Studio

.NETPython语言 & 开发