我想开始使用Python,但是我应该在VS Code中设置什么?


介绍

我正在使用VSCode,但是我不知道要准备哪个插件(扩展名)来准备Python开发环境。

当我放入自己的包装(模块)时,我对"Can't Resolve ~" ... ...

感到生气

但是最近,我开始了解要使用哪个插件以及如何配置它。

我希望它可以帮助那些过去无法像我一样构建Python开发环境的人。

  • 前提

    • 很好,即使您已经编写过一点Python

      • 什么是类型提示?即使您不知道也可以设置
    • 我已经安装了VS Code
    • 使用zsh

      • 如何检查:显示echo $SHELL/bin/zsh
  • 目的/目标

    • 您可以在Mac上运行Python代码
    • 您可以使用VS Code为Python设置插件
    • 按名称解析,方法候选者和类型提示的警告
  • 目标人

    • Mac,Python初学者
    • 突然不得不用Python开发的人
    • 那些想使用补充功能进行开发的人
  • 样例代码

    • BotamochiRice / dev_python_on_vscode

从现在开始

事情要做

  • 在Mac上启用Pyenv和Virtualenv
  • 将5个插件放入VS Code
  • 设置每个插件
  • 我正在用Python开发! !!
  • 在Mac上启用Pyenv

    让我们设置Python的环境。安装Anyenv,Pyenv和Virtualenv。

    这样可以使Mac上的标准Python环境保持干净。

    (Pipenv似乎在街上成为人们关注的焦点。下一次我会尝试)

    终奌站

    1
    2
    3
    4
    5
    6
    7
    $ brew install anyenv
    $ anyenv install pyenv
    $ echo 'eval "$(anyenv init -)"' >> ~/.zshrc
    $ anyenv install --init # これがPYENV_ROOTやPATHの環境変数を通してくれる
    $ echo $PYENV_ROOT
    ~/.anyenv/envs/pyenv
    $ brew install pyenv-virtualenv

    让我们尝试创建一个Python虚拟环境。

    终奌站

    1
    2
    3
    4
    5
    6
    $ pyenv install 3.8.6  # 3.8.6のPythonをインストール
    $ pyenv virtualenv 3.8.6 Sandbox  # 3.8.6を元にSandboxという仮想環境を作る
    $ mkdir -p ~/Documents/playground/python && cd "$_"  # サンプルのディレクトリを作成し、そこに移動
    $ pyenv local Sandbox  # このディレクトリではSandbox環境のPythonを利用
    $ pyenv version  # 現在利用している仮想環境を確認
    Sandbox

    将插件放入VS Code并使用完成

    所需的插件如下。请从VS Code扩展的安装面板进行安装。

    • Python

      • ms-python.python
      • 提供Python语言服务器
      • Microsoft提供的基本补充插件。仅此一项是薄弱的
    • 魔术Python

      • magicstack.magicpython

      • 语法高亮插件
    • VisualStudio IntelliCode

      • visualstudioexptteam.vscodeintellicode

      • 微软提供的带有AI引擎的补充插件
    • 派赖特

      • ms-pyright.pyright
      • 非常喜欢可以完全受益于Type Hint的插件
      • 执行变量的类型推断,如果与类型提示不同,则发出警告
    • 代码运行器

      • formulahendry.code-runner
      • 您可以从右上角的三角形标记执行打开的文件

    每个插件的设置

    主要设置PYTHONPATH。通过将插件告知您制作的软件包,您将能够充分展示补充功能的强大功能。

    在此项目中,文件夹结构如下。

    另外,在本文中,我们将在pyenv的安装方法中使用的虚拟环境Sandbox中进行开发。

  • 使用VS Code中的Command Shift P(macOS)/ Control Shift P(Windows)打开命令面板
  • 输入Python: Select Interpreter进行选择

  • 选择要使用的pyenv环境(在此示例中为Sandbox)
  • Screen Shot 2020-11-07 at 19.11.18.png

    Python语言服务器

    首先,我们将引入flake8作为Linter(静态代码检查工具;它将检查它是否基于代码约定等)。

    终奌站

    1
    pip install flake8

    接下来,将设置写入.vscode/settings.json

    此处的重要项目是python.envFile项目和.env文件。告诉Python语言服务器" Python程序的根目录"在哪里。

    ${workspaceFolder}表示以VS Code打开的目录。

    .vscode / settings.json

    1
    2
    3
    4
    5
    6
    7
    {
      "python.linting.pylintEnabled": false,
      "python.linting.flake8Enabled": true,
      "python.linting.enabled": true,
      "python.linting.lintOnSave": true,
      "python.envFile": "${workspaceFolder}/.env"
    }

    .env中写入实际的根目录。

    (*如果您命名为app / src /,则在不设置PYTHONPATH的情况下读取自己的包。VSCode是否默认将src /放入PATH?)

    .env

    1
    PYTHONPATH=app/

    使用调试工具运行Python的设置。您可以使用断点和监视来执行,如下面的屏幕截图所示,因此请务必进行设置。

    Screen Shot 2020-11-07 at 19.47.15.png

    .vscode / launch.json

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    {
      "configurations": [
        {
          "name": "Python: Current File",
          "type": "python",
          "request": "launch",
          "program": "${file}",
          "console": "integratedTerminal"
        },
        {
          "name": "Python: Main",
          "type": "python",
          "request": "launch",
          "program": "${workspaceRoot}/app/main.py",
          "console": "integratedTerminal"
        }
      ]
    }

    Pyright

    类型推断和静态分析功能强大。在下图中,Pyright警告您第一个参数的类型不正确。仅Python Language Server不会显示此警告。

    设置程序的根目录以解析原始程序包的名称。

    pyrightcofig.json

    1
    2
    3
    4
    5
    6
    7
    8
    {
      "executionEnvironments": [
        {
          "root": "app",
          "pythonVersion": "3.8"
        }
      ]
    }

    码转轮

    单击或控制选项N(macOS)运行当前打开的文件。由于还显示了执行时间,因此似乎可以将其用于程序优化。

    Screen Shot 2020-11-07 at 20.04.49.png

    进行设置"应用程序目录是Python执行($workspaceRoot/app)的根目录,并在沙盒($pythonPath)的虚拟环境中执行它"。

    .vscode / settings.json

    1
    2
    3
    4
    5
    {
      "code-runner.executorMap": {
        "python": "export PYTHONPATH=$workspaceRoot/app && $pythonPath -B -u $fullFileName"
      }
    }

    推荐的插件使Python开发具有爆炸性

    Python Docstring生成器

    • njpwerner.autodocstring
    • 为类和函数(如JavaDoc)生成文档格式
    • 读取类型提示

    Screen Shot 2020-11-07 at 20.15.37.png

    在末尾

    PyCharm和Wing作为Python IDE很有名,但是我认为,如果您使用所有扩展名正确编写配置,则VS Code可以成为强大的IDE。

    (在所有地方都必须编写PYTHONPATH令人讨厌...)

    微软已经在beta中发布了一个名为Pylance的插件,我希望使用VS Code进行开发将更加方便。

    另外,我本着"做胜于完美。"的精神写的,所以请指出任何难以理解的部分。另外,如果您有其他建议的设置,请在评论中告知我。

    感谢您的阅读。如果您觉得有用,LGTM将令人鼓舞。