一、整合 Python 直译器 (Interpreter) & 互动视窗 (Interactive)

Visual Studio 高度整合 Python 直译器,让您能够在开发过程中切换不同版本的 Python 直译器。此项功能除了能够切换至您所熟悉的 Python 版本进行开发外,更可确保您的程序在不同 Python 版本下运行的函式相容性是合法的,如下图代码当中的 print 函式,在 Python 2.7 环境下为合法的 (红色箭头指向目前为使用 Python 2.7 全域环境直译器)。

若您的系统有安装不同版本的直译器,将会替您整合至 Visual Studio 当中供您选择。如您安装直译器的路径非预设路径或欲自订直译器函示库、直译器位元时,您亦可自行于 Visual Studio 新增自订直译器。

接着我们示范切换至不同版本的 Python 环境,这里以切换至 Python 3.5 为例。

此时会发现 Visual Studio 自动侦测到非该环境版本所支持的函式,透过下引号提示使用者错误的代码片段,提供使用者快速寻找出不同版本间不相容之处,以便快速进行修正工作。

并提供于 Visual Studio 内启动不同版本的互动 (Interactive) 视窗,就像以往在 Python 命令列下做的事情一样,此互动视窗提供您进行初步撰写、测试,以及验证您设计想法的一个简易执行环境。

二、整合 Python 虚拟开发环境 (Virtual Environment)

Visual Studio 提供完整的 Python 虚拟环境来为不同项目提供独立的 Python 执行环境,如此一来可避免多个项目间彼此共用一个全域环境使得有太多与该项目不相关的套件在环境中,增加开发环境的複杂度。或者您能够在不同环境中安装不同版本的套件,以便测试在不同的版本中所使用到套件的函式是否有不一样之处。

如下图,我们创建多个虚拟环境,用此来安装不同版本的套件以进行相容性测试,而创建出来的虚拟环境能于稍后提供给其他项目使用,减少安装及创建环境所花费冗馀的设定时间。

在创建虚拟环境时能够透过其他虚拟环境或者全域环境内已安装的套件产生 requirements 档,此档桉将可在稍后创建新的虚拟环境时作为参考,提供快速设置新的虚拟环境所需的套件清单。

三、整合 Python 套件管理员 (Package Manager)

在 Python 中有许多有用的第三方套件能够透过 pip 或者 easy_install 套件管理员安装,让您能在代码中呼叫这些套件中的函式,协助您更快的达成开发目标。而在 Visual Studio 中高度整合这些套件管理员,让您不需要输入繁琐的指令即可简单的安装套件。

如下图,可于方案总管内在欲安装套件的 Python 环境下点击滑鼠右键,即可看到安装 Python 套件的选项。

接着如下图输入您要安装的套件名称,在这裡您也可以指定版本安装,或者不指定则安装最新版本的套件。另外需要注意的是若您使用 easy_install 选项,将不会替您即将安装的套件整合至方案总管当中,如此一来将无法使用 Visual Studio 完整管理这些透过 easy_install 安装的套件。

四、IntelliSense 对 Python 完整的支持

Visual Studio 针对 Python 亦提供以往在 C#、VB、VC++ 等语言上 IntelliSense 的支持,例如:列出物件成员、函式呼叫参数与返回值资讯、快速谘询和自动完成文字等辅助功能,让您在撰写物件或者呼叫函式时能够更有信心,提高撰写效率。

下图展示 IntelliSense 功能协助列出物件中所公开的成员内容。

下图展示 IntelliSense 功能提供函式呼叫参数资讯。

另外 IntelliSense 提供快速动作,例如键入 main 后按下「T,即可帮您自动补完合适的代码区段与相关参考。

五、对 Python 使用侦错模式 (Debugging)

Visual Studio 针对 Python 支持完整侦错功能,例如在程序执行时能够暂止于中断点处,此时能检视或修改当下执行情况的区域变数以及呼叫堆叠,并能于侦错模式下使用您熟悉的重要功能让您能更简易快速的掌握程序执行的情况。

另外,Visual Studio 对 Python 支持了溷合侦错模式 (Mixed-Mode debugging),若您的 Python 代码中有使用到外部如 C/C++ 等 Native Code 并拥有该 Native Code 的原始码项目时便能进行溷合侦错模式。而与一般侦错模式一样,在 Python 外的语言仍可进入中断点改变其变数值。

相同的,您也能够于混合侦错模式下自由的跳跃至不同代码的呼叫堆叠当中进行代码及变数的巡览。

版本控制

Visual Studio 整合版本控制,其支持 Git 与 Visual Studio Team Services 版本控制,透过 Visual Studio 您现在不需要额外工具就能够直接于 Visual Studio 内对您的 Python 项目直接进行版本提交、复原、比较、检视代码历史纪录等版本控制所用到的常用功能。

六、跨平台远端侦错 (Remote Debugging)

Visual Studio 替 Python 程序加入了远端除错的能力,透过这个 Python 套件让您能够使用 Visual Studio 连接在不同的作业系统上 (如 Linux) 执行的 Python 程序。此项功能使得您在跨平台开发时更能够获得一致的开发体验与提升整体开发效率!

如下图展示 Python 程序运作在一块 Linux 嵌入式开发板上,同时在个人电脑内的 Windows 10 运行着 Visual Studio 2015,其透过 ptvsd 套件能让您远端附加至序,直接对 Linux 嵌入式开发板上运行的 Python 程序进行如您所熟悉的侦错模式。并保有完整的侦错模式功能像是区域变数检视、呼叫堆叠分析等完整侦错功能来进行程序的分析与追踪。

visual studio可以开发python吗_Visual Studio上开发Python六大功能相关推荐

  1. python:在Windows上使用 Python

    python:在Windows上使用 Python 4.1. 完整安装程序 4.2. Microsoft Store包 4.3. nuget.org 安装包 4.4. 可嵌入的包 4.5. 替代捆绑包 ...

  2. visual studio安装python插件_Visual Studio 2012 Ultimate 上安装 Python 开发插件 PTVS

    Visual Studio 2012 Ultimate 上安装Python 开发插件PTVS 转载于ITNOSE1.我的环境 操作系统:Win7 旗舰版Service Pack 1 VS版本:Micr ...

  3. 如何装python软件_Visual Studio 中的 Python 教程步骤 5,安装包 | Microsoft Docs

    步骤 5:在 Python 环境中安装程序包Step 5: Install packages in your Python environment 03/09/2020 本文内容 Python 开发者 ...

  4. python windows 客户端开发_如何在Windows上使用Python进行开发

    本文由葡萄城技术团队于原创并首发 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 一直以来C#都是微软在编程语言方面最为显著的Tag,但时至今日Python ...

  5. python 开发板-MicroPython:STM32 上 的 Python 开发

    虽然Python在国外是一门非常火的语言,在黑客界更是赫赫有名,然而中国的大学却极少开设 Python 课程,故而国内 Python 程序员多属自学.而一个没有MCU编程经验的初学者,要想让芯片跑起来 ...

  6. python数据分析开发环境_在MAC上搭建python数据分析开发环境

    最近工作转型到数据开发领域,想在本地搭建一个数据开发环境.自己有三年python开发经验,马上想到使用numpy.scipy.sklearn.pandas搭建一套数据开发环境. ubuntu的环境,百 ...

  7. python网页编辑器-史上超强 Python 编辑器,竟然是张网页?!

    原标题:史上超强 Python 编辑器,竟然是张网页?! 导读:俗话说,磨刀不误砍柴工,要想闯荡编程世界,一套趁手的编辑器是必不可少的.对 Python 语言的使用者来说,不论你是刚开始学习编程知识的 ...

  8. 在哪个Linux发行版上运行python,怎么在linux上运行python

    Linux默认是已经安装好了Python程序 目前来说,大多数的Linux发行版是安装了两个版本的Python程序 一个是Python 2.x 一个是Python 3.x 一些系统自带的程序文件需要P ...

  9. 【Python学习 】Python实现的FTP上传和下载功能

    一.背景 最近公司的一些自动化操作需要使用Python来实现FTP的上传和下载功能.因此参考网上的例子,撸了一段代码来实现了该功能,下面做个记录. 二.ftplib介绍 Python中默认安装的ftp ...

最新文章

  1. 用C#语言构造蜘蛛程序
  2. mahout in Action2.2-给用户推荐图书(2)-分析对用户推荐书目的结果
  3. electron 菜单栏_如何在Electron JS中添加任务栏图标菜单?
  4. 史上最全Oracle文件损坏处理办法(附实验步骤)
  5. jQuery九宫格鼠标悬停动画效果
  6. vue cli 4 多环境_Vue 笔记整理19
  7. java中,正则表达式的使用 (最普通使用,Group,贪婪模式)
  8. CS224N刷题——Assignment1.11.2_Softmax神经网络基础
  9. Latex编辑线性规划、最优化模型
  10. Flash闪存储存原理以及NAND flash、NOR flash(详细)对比总结
  11. idea一顿切换分之后编译项目提示找不到其他分支类的解决办法~
  12. ASP.NET学习——导航条设计方案
  13. ctab法提取dna流程图_CTAB法原理(植物DNA提取经典方法)
  14. 音视频开发系列(7):完成本地摄像头直播推流
  15. 如何调教ChatGPT
  16. 【算法竞赛进阶指南】POJ 3349 —— SnowflakeSnowSnowflakes
  17. 永久60服务器消息,魔兽世界怀旧服:永久60级已经成为了另一个游戏,这如你所愿吗?...
  18. 基于XAMPP的Testlink安装和配置
  19. HTML——制作新闻网页
  20. 大数据分析-考试复习

热门文章

  1. Angular应用的angular.json文件字段一览
  2. SAP Spartacus ProductConnector和ProductService实现
  3. Spring Bean 后置处理器PostProcessor
  4. SAP gateway处理multiple key的逻辑
  5. SAP云平台CloudFoundry环境里新建SAP UI5应用后,自动生成了哪些组件
  6. SAP SD数据库表一览
  7. 实现ABAP条件断点的三种方式
  8. 如何免费获得Gartner关于field Service management各产品魔力象限报告
  9. OData model cache logic in gateway system
  10. Cloud for Customer UI Designer里embedded component刷新的讨论