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 代码复杂度的工具。
官方文档地址:pypi.python.org/pypi/flake8…
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"],