VS Code 配置 Python 开发环境
本文基于 vs code 1.36.1
vs code 里是不包括 python 的,所以你首先得安装一个 python。
1、终端运行 python
安装完 python 之后,我们可以用任何一个文本编辑工具开始写 python 代码,然后在 cmd 中运行代码。
在 vs code 中,在不安装任何插件的情况下,也可以运行 python 代码。
新建一个 test.py 文件,输入 print('hello world!')
。
点击 查看 -> 终端(快捷键 ctrl + `)打开终端,输入 python test.py
即可运行,跟在 cmd 中运行 python 代码是一样的。
2、安装 python 插件
在不安装插件的情况下,点击 调试 -> 启动调试(快捷键 f5)是没办法运行代码的。会让你选择环境,而你根本就没有环境可选。
在 vs code 的应用商店(快捷键:ctrl + shift + x)里搜索 python 插件,并安装。如下图:
按 ctrl + shift + p(或f1),在打开的输入框中输入 python: select interpreter
搜索,选择 python 解析器。
选择好解析器之后,我们就可以直接在 vs code 里运行(快捷键 ctrl + f5)或调试(快捷键 f5)python 代码了。
3、查看、安装外部库
python 最强大的就是外部库了,在 pycharm 中,可以在 settings 中查看、搜索、安装。那么在 vs code 中如何安装呢?
上文中提到,可以在终端直接运行 .py 文件,其实,终端就相当于命令提示符(cmd),所以直接在终端输入相应命令就可以了。
查看已安装包列表:
pip list
安装外部库:
pip install xxx
注意:当本机安装了多个 python 解析器的时候,pip 可能并不会安装到当前解析器目录下。这个我测试多次后发现,应该是跟环境变量中的顺序有关,会安装到环境变量中最靠前的解析器的目录下。
4、代码补全工具
vs code 中的代码补全插件是 visual studio intellicode。同样通过应用商店安装。
visual studio intellicode 是一套 ai 辅助功能,可通过上下文智能感知,代码样式的推理和执行等功能提高开发人员的工作效率。
intellicode 通过使用经过数千个公共代码库培训的机器学习模型生成建议,而且会随着你编写代码的增长,从而变得更加准确。它会根据上下文给出编程建议,而不是简单根据字母排序推荐 api。
最重要的 intellicode 已经支持 python。安装以后,可以有智能提示了。
5、代码检查工具
pycharm 自带代码检查工具,而 vs code 中是没有的。
5.1、pylint
当你新建 .py 文件,开始写代码的时候,右下角可能会跳出个这个(老版本会,新版本不会了):
pylint 是一个 python 代码检查工具。需要通过 pip 安装。
打开设置,添加如下设置:
"python.linting.enabled": true,
"python.linting.pylintenabled": true,
然后对于不符合规范的代码,就会有波浪线提示了。
在 vs code 1.36.1 版本,貌似不设计
python.linting.enabled": true
也可以。
5.2、flake8 和 yapf
flake8 是由 python 官方发布的一款辅助检测 python 代码是否规范的工具,相对于目前热度比较高的 pylint 来说,flake8 检查规则灵活,支持集成额外插件,扩展性强。flake8 是对下面三个工具的封装:
- pyflakes:静态检查 python 代码逻辑错误的工具。
- pep8:静态检查 pep8 编码风格的工具。
- nedbatchelder’s mccabe:静态分析 python 代码复杂度的工具。
官方文档地址:
yapf 是一个代码格式化的工具。
通过 pip 安装好 flake8 和 yapf 后,进行如下配置。
"python.linting.enabled": true,
"python.linting.pylintenabled": false,
"python.linting.flake8enabled": true,
"python.formatting.provider": "yapf",
如果装了 pylint 的话,要设置其
enabled = false
,否则不用。
安装好之后,我们在代码文件中(.py)中右键,选择格式化文档,就可以自动的进行代码格式化了。
代码检查工具虽好,但有些严格的检查并不符合我们的习惯,例如 flake8 默认一行的最大字符数是 79 个,超过就会显示波浪线提示你代码太长了。
79 个字符实在是太短了,我们可以把它改长一点,增加如下配置,把最大长度设为 128 个字符。
"python.linting.flake8args": ["--max-line-length=128"],