MS Terminal现在可以直接获取安装包了,社区版本的表现很令人满意。所以,如果在Windows系统下进行Python编程,命令行环境可以考虑使用MS Terminal,这个工具能够处理很多关于包管理和环境配置的难题。
MS Terminal 的效果怎么样
MS Terminal 最突出的用途在于能够同时打开多个标签页,并且每一个标签页都可以关联到不同的命令行环境或者应用程序,比如命令提示符,也可以用来通过 SSH 连接到树莓派之类的设备。图示部分具体展示了这种多标签页的使用方式。

不仅如此,除了实用性之外,更关键的是外观,比如我们经常使用 zsh 来打造更漂亮的终端界面。尽管 zsh 当前的 GitHub 上被点赞的数量已经超过九万四千,不过它的 ReadMe 文件中明确说明它更适合在苹果电脑或者 Linux 系统上使用。而最新推出的 MS Terminal 不论在视觉呈现还是字符表现,都远胜以往。
底色不透明度、字样反光效果都可以自行设定,还可以设定表情符号等记号。以下为基本呈现方式,我们可以依据个人需求调整整体布局。

当前项目持续进行中,众多功能正逐步优化和扩充。鉴于这是微软官方负责的开源计划,我们抱有相当大的期待,特别是在命令行界面方面,有望减少开发期间出现的各类错误。倘若用户在 Windows 平台上发现更优越的命令行解决方案,欢迎在文末进行分享。
安装和配置 VS Code
先来说说编程时离不开的终端应用,接下来要谈谈 VS Code,这个是 Python 编程的关键软件。先从最初的安装、环境维护开始,再说到编写、测试、发布程序,我们将展示如何得心应手地运用 VS Code。
这个编辑器能部署在任何系统上。官方站点列出了针对 Windows、Mac 和 Linux 的详尽安装指引。它会定期推出新版,里面既包含新特性,也修复了已知问题。所有安装相关资料,都可以在 Visual Studio Code 官方网页查到。

除此之外,除了名字有些相似之外,Visual Studio Code(简称 VS Code)和那种运行在 Windows 系统上的规模宏大的 Visual Studio,几乎找不到任何其他共同点。
VS Code 自身具备多种语言支持能力,并且它的扩展体系能够兼容众多其他组件。该软件每月都会进行更新,具体信息可以在微软 Python 官方博客中查阅。所有用户都可以复制微软的 VS Code Github 项目代码库,并提交自己的代码贡献。
VS Code UI 已有详细记录,这里不予赘述:

Python 扩展
正如前面提到的,Visual Studio Code 借助详尽的插件体系,能够为多种编程语言提供开发环境。针对 Python 语言,其对应的插件允许用户在 Visual Studio Code 软件中进行 Python 编程,并且具备一系列特定的功能。
兼容 Python 3.4 以上版本,同样适配 Python 2.7 版本,可运用 IntelliSense 实现代码补全功能,具备代码审查与调试功能,提供代码模板支持,能够执行单元测试,自动配置 conda 与虚拟环境,适用于 Jupyter 运行环境及 Jupyter 笔记本进行编程操作。

Visual Studio Code 插件不只是能进行编码工作,它还拥有其他用途,例如,可以用来编辑文本文件,或者进行简单的格式调整,甚至还能辅助进行一些数据分析和处理,功能相当丰富,远不止单一的编程范畴。
新键位映射能让那些已经掌握过 Atom,Sublime Text,Emacs,Vim,PyCharm 或其他编辑器的用户更快适应。可定制的主题界面,无论用户更偏爱明亮的,黑暗的,还是更鲜艳的编码环境都可以选择。语言插件支持本地化功能。
以下是比较有用的一些其他扩展和设置:
GitLens 在编辑界面直接集成了丰富的 Git 操作,涵盖非提交信息记录和仓库构建相关功能。借助菜单里的文件,自动存储选项,能便捷实现自动存储。系统预设的延迟是1000毫秒,支持用户进行修改设置。设置同步功能借助 GitHub,能让用户在不同设备间共享自己的 VS Code 参数,如果用户在多台电脑上操作,有助于确保运行环境统一Docker 使用户能够便捷高效地运用 Docker, 辅助编写 Dockerfile 和 docker-compose.yml, 整合打包并推行项目, 亦可针对项目制作恰当的 Docker 文档。
当然,在运用 VS Code 的过程中,你或许能找到更多有益的插件,请在留言区公布你的心得和配置!
点击任务栏里的插件图标能够找到并安装新的插件跟模板。输入所需词语可以搜寻插件,能够按照好几种方法整理搜索到的东西,便捷地完成插件安装。在这篇文章里,在任务栏的插件那一栏输入 python 再点安装就能装上 python 插件。
用户可以通过相同的方式查找和安装上述任何扩展。
Visual Studio Code 配置文件
值得注意的是,这款代码编辑器支持借助个人与工作区级别的设定来完成深度定制。
用户设定在所有 Visual Studio Code 实例里都是通用的,而工作区设定针对的是特定文件夹或项目的工作环境。工作区设定具备很高的自由度,在接下来的内容里会经常提及这个设定。工作区配置以.json格式保存在项目本地的工作区文件夹.vscode里。
启动新的 Python 程序
我们借助一个全新的 Python 程序来研究 Visual Studio Code 的 Python 编程功能。在 VS Code 环境下,按下 Ctrl + N 可以创建新文档。(或者,用户能够通过点击「文件」菜单再选择「新建」选项来达成同样效果。)
不论你怎样操作,你应当会见到一个如同以下样式的 VS Code 界面:

打开新文件后,你即可以输入代码。
输入 Python 代码
为了验证功能,我们能够迅速编写埃拉托斯特尼筛法的程序,这种算法能够筛选出所有小于指定数值的素数,在刚刚开启的新页面里输入下面这段指令:

等等,这是状况如何?为何 Visual Studio Code 并未执行任何关键词着色,也未曾实施任何自动格式化,更未提供任何切实有用的功能?它到底提供了哪些内容?
结果是,VS Code 并不清楚它所编辑的文档具体属于哪种格式。该文档区域被标记为空白文档,若向右下方窗口观察,便能识别出它是普通文本。
要启动 Python 插件,需要将文件存盘,可以通过菜单里的文件保存选项,或者借助命令面板里的文件保存功能,亦或是直接按下 Ctrl + S 来完成。保存时文件名必须是 sieve.py。VS Code 识别到 .py 后缀后,会自动将其当作 Python 代码来处理。
现在你的窗口视图应如下所示:

现在感觉顺畅多了,VS Code 会自行把文件调整成 Python 代码的样子,你可以在左下角查看语言模式来确认这一变化。
如果电脑上装了不止一个 Python 版本,比如 Python 2.7、Python 3.x 或 Anaconda 环境,那么想要调整 VS Code 中默认的 Python 解释器,可以点击语言模式旁边的选项,或者从命令面板里找到 Python: 选择解释器这个命令来操作。通常情况下,VS Code 内置了遵循 pep8 样式的校验功能,不过用户还有其他格式化工具可供选用,比如 black 或 yapf。

现在能够补充剩余的 Sieve 代码了,如果需要查看 IntelliSense,应当直接输入该代码,而不是进行复制粘贴,那样之后会看到以下内容:
在输入代码时,对于 for 和 if 语句,VS Code 会自动调整其下方行的缩进,补充右括号,同时提供内容建议。
运行 Python 代码
程序现已编写完毕,可以直接启动使用。无需借助编辑器执行:Visual Studio Code 支持在编辑界面直接执行该应用。先保存文档(Ctrl + S),接着在编辑区域右击,并从菜单中挑选在终端(Terminal)里执行 Python 文件(Run Python File)这个选项。
你会看到终端窗格显示在窗口的底部,并显示代码输出结果。
编辑现有的 Python 项目
在筛选法演示中,你编写了一个 Python 文件。这种做法作为示范尚可,然而很多时候,你需构建规模更宏大的工程,并在较长时间跨度内持续进行开发工作。
典型的新项目工作流程可能如下所示:
建立一个容器来归档工作(或许涉及一个崭新的 GitHub 存储库),接着进入那个容器,然后输入指令 code filename.py 来生成基础的 Python 程序文本
在 Python 整体工程而非单个脚本中运用 Visual Studio Code 带来了诸多增强,让这款编辑器得以充分展现其价值。接下来探讨它在规模较大的工程里具体表现。
如果我们创建了一个计算工具,这个工具借助埃兹格·迪科斯彻提出的调度场景法的一种改良版,来解读用中缀形式书写的算式。
为了阐释 Visual Studio Code 的项目导向特性,我们将以 Python 语言重新构建调度场算法,并将其开发成方程式解析工具包,GitHub 仓库链接为:https://github.com/JFincher42/PyEval。
新建的本地目录确立之后,能迅速在 VS Code 环境下打开全部内容。鉴于目录及基础文档均已备妥,参照先前指引,首选方案需作相应调整:
cd /path/to/projectcode .
当这种方式启动后,VS Code 能够识别并应用它所检测到的所有 virtualenv、pipenv 或 conda 环境,无需事先激活虚拟环境。借助菜单里的文件,打开文件夹选项,或使用键盘快捷键 Ctrl+K 和 Ctrl+O,亦或从命令区域选择文件,打开文件夹功能,均能实现界面中文件夹的调用。
以下是创建的方程式 eval 库项目:

Visual Studio Code在启动时若检测到已打开的目录,会自动加载该目录下先前访问过的文档(此项功能可进行设置)。用户能够对清单中所列的文档执行打开、修改、执行及调试等操作。左侧功能面板中的资源管理器界面,展示了该目录内所有文档的列表,并且会标明当前打开的文档集中存在多少份未保存的修改。
代码测试的支持
VS Code 能自动发现 unittest、pytest 或 Nose 框架里写的 Python 测试,不过这需要先在当前环境里装好这些框架。作者用 unittest 框架写了个针对方程式 eval 库的测试,这个例子可以参考它。
要执行项目里所有 Python 代码的单元测试,需要右击文件并选取立即执行当前测试文件选项。系统会要求选择测试框架,接着会在整个项目里寻找测试代码,并确定测试文件命名的规则。
这些都被储存为本地.vscode/settings.json文件里的工作区配置,允许进行更改。针对这个等式项目,可以选择 unittest、所在目录以及模式 *_test.py。
测试框架配置完毕并呈现测试界面之后,请点击状态栏(Status Bar)里的执行测试(Run Tests)按钮,同时从指令面板中挑选一个选项,即可启动全部测试流程。

在 VS Code 中打开测试文件后,点击状态栏的 Run Tests,再选择 Run Unit Test Method 以及其他特定测试,也能单独运行某个测试。这种做法让定位单个失败的测试变得容易,重新执行失败测试也变得简单,从而可以节省很多时间。检测数据在 Python 测试记录中的输出区域里展现出来。
调试支持
尽管 VS Code 属于代码编写工具,但直接运用它来调试 Python 程序也完全可行。这款软件内置了丰富的实用功能,足以媲美专业的代码调试软件,具体包含以下特性:
自动变量跟踪监看表达式断点调用堆栈检查
你可以在活动栏上的 Debug 视图中看到这些功能:

调试工具能够对在嵌入式终端或外部终端环境里执行的 Python 程序实施操控,能够与已启动的 Python 进程建立连接,甚至可以用来诊断 Django 和 Flask 类型的软件。
在单个 Python 文件里调试程序十分便捷,如同按下 F5 键来启动调试工具。运用 F10 键能够实现函数的跳过操作,而 F11 键则用于进入函数内部进行调试。若需退出调试模式,可以按下 Shift + F5 组合键。设置断点的操作可以通过 F9 键完成,或者直接在编辑器窗口左侧空白区域单击来设置。
启动对 Django 或 Flask 应用等复杂项目的调试工作,务必先完成调试环境的配置。调试环境的建立过程并不复杂。先在 Debug 界面中找到 Configuration 的下拉菜单,接着点击添加配置的选项,再指定使用 Python 语言。

Visual Studio Code会在名为.vscode/launch.json的目录里生成调试配置文件,这个文件能供用户设定特定的Python参数,还能配置调试Django和Flask这类特定软件的环境。
你可以远程进行调试,同时也能检查 Jinja 与 Django 的模板文件。需要关闭编辑器里的 launch.json 文件,接着从配置列表中为应用挑选恰当的设置。
Git 集成
VS Code 内含版本管理功能,同样兼容 Git 与 GitHub。用户能安装其他版本控制系统的插件,并并行运用。要进入版本管理界面,可从源代码管理面板着手。

当项目目录下存在.git目录时,VS Code将主动启用全部Git / GitHub相关功能,使用者能够开展多种操作,例如:
上传文档至版本库以便将修改内容传送到远端仓库,同时从该仓库获取更新内容,确认分支和标记,或建立新的分支与标记,审视并处理合并时产生的分歧,观察文件的变动情况
所有这些功能都可以直接从 VS Code UI 获得:

VS Code能够侦测到编辑器外部发生的变动,并且可以正常运行。
提交最新修改到 VS Code 非常方便。改动过的文件会在源代码管理界面中呈现,并附有 M 图标,新增但未追踪的文件则标记为 U 图标。将光标移至文件处点击加号(+)能够保存改动。在界面顶端输入提交说明,再点选确认按钮即可完成提交。

也可以在 VS Code 软件里把本地提交的内容传到 GitHub 上。先在源代码管理界面里找到同步选项,或者直接点一下分支旁边状态栏里的同步按钮来更新改动。
依照作者的见解,Visual Studio Code 是众多通用编辑器中最为出色的一个,同时也是 Python 编程的理想选择。建议你在 Python 编程时也使用 Visual Studio Code 编辑器,相信它会带给你令人满意的体验。
参考文章:
将网址中的链接内容进行改写,可以分成若干个部分,每个部分之间用逗号隔开,同时确保不改变原有的网址结构,也不添加任何英文单词,仅对中文部分进行调整,例如将“长句拆分成多个小分句”改为“将连续的语句分解为若干独立的短句”,并保持句末的标点符号不变。






