转自 imbennyguo AI科技大本营
作者 | imbennyguo 出品 | CSDN博客 在程序员圈子里,Visual Studio Code(以下简称VSCode)可以说是目前最火的代码编辑器之一了。 它是微软出品的一款可扩展的轻量级开源编辑器,并且支持全平台系统。这些特性使得VSCode颇受欢迎,这也使其成为了一个很棒的Python开发平台。 在本文中,你将学到如何在VSCode中进行高效的Python开发,其中包括:- 安装VSCode-安装插件让Python开发更便利
- 编写一个简单的Python应用
- 学习如何在VSCode中运行和调试已有的Python程序
- 在VSCode中使用Git和GitHub来管理代码
为Python开发安装插件
正如上文中提到,VSCode可以通过自身良好的扩展性质来支持各种编程语言的开发。 Python插件使我们可以更方便地在VSCode中进行Python开发,它有以下功能和特点:支持Python2.7和Python3.4+的Pyhon版本
使用IntelliSense进行代码补全
代码检查器
对调试的支持
代码段功能
对单元测试的支持
自动应用虚拟环境
可在Jupyter环境和Jupyter Notebook中编辑代码
VSCode配置文件
VSCode通过 用户(user) 和 工作区(workspace) 设置实现高度可配置化。 用户设置是应用于所有VSCode实例的全局性设置,而工作区设置是应用于特定文件夹或项目的局部设置。工作区设置给VSCode提供了极大的灵活性,我们在之后调出的都是工作区设置。 工作区设置以json格式保存在项目目录下.vscode文件夹中。写个Python程序
让我们从一个Python程序开始探索如何在VSCode中进行Python开发。你可以在VSCode中使用快捷键Ctrl+N来编辑一个新文件(也可以在菜单栏中选择File–New File)。 Tips:VSCode用户界面提供了命令盘(command palette)功能,使你可以手不离键盘就能搜索、执行各项命令。按下Ctrl+Shift+P打开命令盘,键入new file,按下回车,也可以编辑一个新文件。 无论用哪种方法,你应该可以看到类似下面这样的窗口: 新文件打开后,就可以开始写代码啦。 我们快速写一个埃拉托斯特尼筛法(用来寻找不超过一个数的所有质数)作为测试代码。从下面这两行开始:sieve = [True] * 101for i in range(2, 100):
你应该看到类似下面的场景:
等等,发生什么了?为什么VSCode没有任何关键词高亮,格式自动调整等有用的东西?要它何用?
答案是,目前VSCode还不知道你在写什么。这个文字缓冲区叫做Untitled-1,如果你看看窗口右下角,你会发现写着Plain Text,也就是说VSCode还不知道你在写Python代码。
为了让Python插件发挥作用,我们需要将文件存储为后缀为py的文件,如sieve.py。你可以通过菜单栏File–Save File,或者按下Ctrl+S,或在命令盘键入save file来做到这一点。VSCode看到py后缀就会将文件解释为Python代码。现在你的窗口应该长这样:
好多了有没有!VSCode自动按照Python语言重新确定了格式,你可以在窗口左下角验证当前编程语言的正确性。
如果你同时安装了多个版本的Python(如Python2.7,Python3.x和Anaconda),你可以通过点击左下角的语言(这里的Python x.x.x)或在命令盘中选择select interpreter来切换Python解释器。VSCode默认用PEP8标准来格式化Python代码,但你也可以选用其他标准。
现在让我们完成剩余筛法代码。为了能观察到IntelliSense发挥作用,请不要直接复制粘贴这段代码。亲手输入,你将看到下面的画面:
下面是埃拉托斯特尼筛法中“筛”这个部分的完整代码:
sieve = [True] * 101for i in range(2, 100):if sieve[i]:
print(i)for j in range(i*i, 100, i):
sieve[j] = False
输入这段代码时,VSCode自动缩进了for和if下的语句,自动加上了结尾大括号,并为你提供输入建议。这就是IntelliSense的威力。
运行Python代码
既然写完了代码,我们就可以运行它了。因为VSCode可以直接在编辑器里运行代码,所以我们完全不需要离开编辑器。按Ctrl+S保存文件,接着在编辑器窗口中点击鼠标右键,选择Run Python File in Terminal。 可以看见,窗口下方出现了Terminal选项卡,显示了代码的输出。 对Python代码检查器的支持 你可能在写代码的时候看见过一个弹出框,上面写着代码检查器不可用(Linting was not available)。你可以在弹出框中快速安装一个代码检查器,默认安装的是PyLint。VSCode也支持其他检查器,包括:Flake8、Mypy、Pydocstyle、Pep8、Prospector、Pyllama、Bandit等。 Python代码检查器页面有配置每一种检查器的详细资料。注意,代码检查器的选择是项目级别的工作区设置,而不是全局用户设置。编辑一个已有的Python项目
在埃拉托斯特尼筛法的例子中,你创建了一个单独的Python文件。这作为例子来讲很合适,但通常你会创建更大的项目,并在其上工作一段时间。一个典型的创建新项目的工作流程如下:创建一个存放项目的文件夹(其中可能包含一个新的GitHub项目)
切换到新文件夹
用命令代码创建一个初始Python代码文件
cd /path/to/project
code .
当这样打开时,VSCode将检测到并开启任何项目中存在的virtualenv、pipenv或conda虚拟环境,你甚至都不用自己手动去启动虚拟环境!以下几种方式都可以在用户界面中打开一个文件夹:菜单栏中点击File–Open Folder;按下快捷键Ctrl+K或Ctrl+O;在命令盘中键入file:open folder。
我的公式求值库项目打开后看起来是这样的:
当VSCode打开文件夹时,它同时也会打开你最近打开的文件(这个行为是可配置的)。你可以打开、编辑、运行、调试文件列表中的任何文件。左侧活动区的探索者视图向你展示了文件夹中的所有文件,并告诉你在当前打开的选项卡中有多少编辑了但还没有保存的文件。
对测试的支持
如果当前环境安装了测试框架,VSCode可以自动识别已有的用测试框架编写的测试代码。我用unittest为我的公式求值库写了一个单元测试,大家可以用它作为例子来学习。 你可以在项目中的任何一个文件中右键选择Run Current Unit Test File来运行已有的单元测试。VSCode会询问你使用哪种测试框架、项目中测试代码存放的路径,以及测试文件的命名方式。 这些设置都将作为工作去设置被保存在项目.vscode文件夹下的settings.json文件中,你也可以在那里更改这些设置。对于我的公式求值项目,我们选择用unittest框架,测试代码在当前目录下,测试代码命名为*_test.py。 一旦配置好了测试框架、找到了测试代码,你就可以点击状态栏的Run Tests来运行所有的测试: 你甚至可以通过点击状态栏的Run Tests,然后选择Run Unit Test Method来运行单个测试。这样我们就可以单独运行失败的测例,能够节省一大笔时间!测试结果输出在Output选项卡中。对调试的支持
即使VSCode是个编辑器,但在其中调试代码也是可行的。VSCode提供了许多好的代码调试器所拥有的特性:自动变量追踪
watch表达式
断点
调用栈检查
提交文件到Git
向远程仓库推送更新,或从远程仓库拉更新
切换已有分支或新建分支
查看并解决合并冲突
查看代码差别
结论
VSCode是目前最棒的通用编辑器,也是Python开发者的绝佳选择。通过这篇文章你学到了:如何安装VSCode-如何查找、安装插件来开启对Python的支持
如何用VSCode更轻松地编写Python程序
如何用VSCode运行、调试Python代码
如何在VSCode中使用Git和GitHub
【end】