Visual Studio Code 或 VS Code 是一个开源代码编辑器,其中还包括用于构建和调试应用程序的工具。 启用 Python 扩展后,vscode 成为任何 Python 开发人员的绝佳工作环境。 本文向您展示了哪些扩展很有用,以及如何配置 VS Code 以充分利用它。
如果您没有安装它,请查看我们之前的文章,使用 Visual Studio Code Fedora:
安装 VS Code Python 扩展
首先,要使 VS Code Python 友好,请从市场安装 Python 扩展。
安装 Python 扩展后,您现在可以配置 Python 扩展。
VS Code 在 JSON 文件中管理其配置。 使用了两个文件:
- 一种适用于所有项目的全局设置
- 一种用于项目特定设置
按 Ctrl+, (逗号)打开全局设置。
设置 Python 路径
您可以配置 VS Code 以自动为每个项目选择最佳 Python 解释器。 为此,请在全局设置中配置 python.pythonPath 键。
// Place your settings in this file to overwrite default and user settings. { "python.pythonPath":"${workspaceRoot}/.venv/bin/python", }
这会将 VS Code 设置为使用位于 .venv 虚拟环境目录下的项目根目录中的 Python 解释器。
使用环境变量
默认情况下,VS Code 使用 .env 文件中项目根目录中定义的环境变量。 这对于设置环境变量很有用,例如:
PYTHONWARNINGS="once"
该设置可确保在程序运行时显示警告。
要更改此默认值,请按如下方式设置 python.envFile 配置键:
"python.envFile": "${workspaceFolder}/.env",
代码检查
Python 扩展还支持不同的代码 linter(pep8、flake8、pylint)。 要启用您最喜欢的 linter,或者您正在处理的项目使用的 linter,您需要设置一些配置项。
默认情况下启用 pylint。 但是对于这个例子,配置 flake8:
"python.linting.pylintEnabled": false, "python.linting.flake8Path": "${workspaceRoot}/.venv/bin/flake8", "python.linting.flake8Enabled": true, "python.linting.flake8Args": ["--max-line-length=90"],
启用 linter 后,您的代码会加下划线以显示它不符合 linter 强制执行的标准的地方。 请注意,要使此示例正常工作,您需要在项目的虚拟环境中安装 flake8。
代码格式
VS Code 还允许您配置自动代码格式。 该扩展目前支持 autopep8、black 和 yapf。 以下是如何配置黑色。
"python.formatting.provider": "black", "python.formatting.blackPath": "${workspaceRoot}/.venv/bin/black" "python.formatting.blackArgs": ["--line-length=90"], "editor.formatOnSave": true,
如果您不希望编辑器在保存时格式化您的文件,请将选项设置为 false 并使用 Ctrl+Shift+I 格式化当前文档。 请注意,要使此示例正常工作,您需要在项目的虚拟环境中安装 black。
运行任务
VS Code 的另一个很棒的特性是它可以运行任务。 这些任务也在项目根目录中保存的 JSON 文件中定义。
运行开发烧瓶服务器
在此示例中,您将创建一个任务来运行 Flask 开发服务器。 使用可以运行外部命令的基本模板创建一个新的构建:
编辑 tasks.json 文件,如下创建一个运行 Flask 开发服务器的新任务:
{ // See https://go.microsoft.com/fwlink/?LinkId=733558 // for the documentation about the tasks.json format "version": "2.0.0", "tasks": [ { "label": "Run Debug Server", "type": "shell", "command": "${workspaceRoot}/.venv/bin/flask run -h 0.0.0.0 -p 5000", "group": { "kind": "build", "isDefault": true } } ] }
Flask 开发服务器使用环境变量来获取应用程序的入口点。 使用 .env 文件来声明这些变量。 例如:
FLASK_APP=wsgi.py FLASK_DEBUG=True
现在您可以使用执行任务 Ctrl+Shift+B.
单元测试
VS Code 还集成了开箱即用的单元测试运行程序 pytest、unittest 和 nosetest。 启用测试运行程序后,VS Code 会发现单元测试,并允许您单独运行它们,按测试套件运行,或者只是运行所有测试。
例如,要启用 pytest:
"python.unitTest.pyTestEnabled": true, "python.unitTest.pyTestPath": "${workspaceRoot}/.venv/bin/pytest",
请注意,要使此示例正常工作,您需要在项目的虚拟环境中安装 pytest。