怅然人生苦短,我要在VSCode里面用Python( 三 )

输入这段代码时 , VSCode自动缩进了for和if下的语句 , 自动加上了结尾大括号 , 并为你提供输入建议 。 这就是IntelliSense的威力 。
运行Python代码
既然写完了代码 , 我们就可以运行它了 。 因为VSCode可以直接在编辑器里运行代码 , 所以我们完全不需要离开编辑器 。 按Ctrl+S保存文件 , 接着在编辑器窗口中点击鼠标右键 , 选择Run Python File in Terminal 。
怅然人生苦短,我要在VSCode里面用Python
本文插图
可以看见 , 窗口下方出现了Terminal选项卡 , 显示了代码的输出 。
对Python代码检查器的支持
你可能在写代码的时候看见过一个弹出框 , 上面写着代码检查器不可用(linting was not available) 。 你可以在弹出框中快速安装一个代码检查器 , 默认安装的是PyLint 。 VSCode也支持其他检查器 , 包括:flake8、mypy、pydocstyle、pep8、prospector、pyllama、bandit等 。
Python代码检查器页面有配置每一种检查器的详细资料 。 注意 , 代码检查器的选择是项目级别的工作区设置 , 而不是全局用户设置 。
编辑一个已有的Python项目
在埃拉托斯特尼筛法的例子中 , 你创建了一个单独的Python文件 。 这作为例子来讲很合适 , 但通常你会创建更大的项目 , 并在其上工作一段时间 。 一个典型的创建新项目的工作流程如下:

  • 创建一个存放项目的文件夹(其中可能包含一个新的Github项目)
  • 切换到新文件夹
  • 用命令代码创建一个初始Python代码文件
在Python项目中使用VSCode会给你带来更多精彩的功能 , 让我们看看VSCode是怎样对付大型工程的 。
早在上个世纪我还是一名年轻的程序员时 , 我用调度场算法写过一个将算式解析为中缀表达式的计算器程序 。 为了展示VSCode中项目专属的特性 , 我将算法重构成了Python的一个算式求值库:
大家可以随意克隆至本地以进行后面的操作 。
本地文件夹建好后 , 你可以通过VSCode快捷地打开整个文件夹 , 我比较喜欢下面这种方式:
cd /path/to/projectcode .当这样打开时 , VSCode将检测到并开启任何项目中存在的virtualenv、pipenv或conda虚拟环境 , 你甚至都不用自己手动去启动虚拟环境!以下几种方式都可以在用户界面中打开一个文件夹:菜单栏中点击File—Open Folder;按下快捷键Ctrl+K或Ctrl+O;在命令盘中键入file:open folder 。
我的公式求值库项目打开后看起来是这样的:
怅然人生苦短,我要在VSCode里面用Python
本文插图
当VSCode打开文件夹时 , 它同时也会打开你最近打开的文件(这个行为是可配置的) 。
你可以打开、编辑、运行、调试文件列表中的任何文件 。
左侧活动区的探索者视图向你展示了文件夹中的所有文件 , 并告诉你在当前打开的选项卡中有多少编辑了但还没有保存的文件 。
对测试的支持
如果当前环境安装了测试框架 , VSCode可以自动识别已有的用测试框架编写的测试代码 。 我用unittest为我的公式求值库写了一个单元测试 , 大家可以用它作为例子来学习 。
你可以在项目中的任何一个文件中右键选择Run Current Unit Test File来运行已有的单元测试 。 VSCode会询问你使用哪种测试框架、项目中测试代码存放的路径 , 以及测试文件的命名方式 。
这些设置都将作为工作去设置被保存在项目.vscode文件夹下的settings.json文件中 , 你也可以在那里更改这些设置 。 对于我的公式求值项目 , 我们选择用unittest框架 , 测试代码在当前目录下 , 测试代码命名为*_test.py 。
一旦配置好了测试框架、找到了测试代码 , 你就可以点击状态栏的Run Tests来运行所有的测试 。