如何在 Python 项目中使用 VS Code

[ad_1]

Visual Studio Code 或 VS Code 是一个开源代码编辑器,其中还包括用于构建和调试应用程序的工具。 启用 Python 扩展后,vscode 成为任何 Python 开发人员的绝佳工作环境。 本文向您展示了哪些扩展很有用,以及如何配置 VS Code 以充分利用它。

如果您没有安装它,请查看我们之前的文章,使用 Visual Studio Code Fedora:

使用 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。

[ad_2]

Related Posts