Vscode系列-python

  • vscode python3 配置,代码补全/语法检查/编译调试/单元测试/Jupyter等.

  • 更新

    1
    2
    3
    4
    18.05.24 初稿完成
    18.10.05 微调
    20.07.18 重写
    21.07.04 补充单元测试,及其他内容.

导语

现在日常用的语言基本上 VSC 全包了,借着入坑机器学习的机会重新配置一下 Python 环境. 又过了一年…

需求

代码补全 & 语法检查

代码格式化

编译 & 调试 & 运行

单元测试

Jupyter 支持

插件

Pylance 是微软出品的 VSC 插件,冲着 PyCharm 去的

  • 代码提示
  • 自动补全
  • 错误提示
  • 代码跳转
  • 类型检查
  • 多工作区
  • 单元测试
  • ….

Jupyter vsc 带来了 Jupyter 的支持.

剩下唯一插件没法直接解决的是代码格式化了,还是沿用 yapf.

安装

安装 Python 环境不说了

python插件

  • 打开VScode,Ctrl+p
  • 输入 “ext install pylance”,搜索时间可能会比较长
  • 下载微软Microsoft出品的Pylance,依赖的 JupyterPython 自动安装上了

yapf

  • 命令行

    1
    pip install yapf
  • 文件->首选项->用户设置,在settings.json文件中输入

    1
    "python.formatting.provider": "yapf"

vsc 直接 f5 调试,文件是运行在 vsc 打开项目的根目录,而不是文件所在的目录,这在层层依赖时,非常难受.

  • 保存默认的 launch.json,添加一句 "cwd": "${fileDirname}"
  • 这样 f5 就变成了文件所在的相对路径了.

Pylance 的语法检查,一般挺好用,就是包/模块在相对路径下,总是有 Import “xxx” could not be resolved Pylance

  • 根据 stackoverflowUnresolved import warnings 有两种办法.
  • python.analysis.extraPaths 手动添加模块的相对地址,能解决,但模块地址变动很大,不太实用.
  • 在设置中添加 "python.analysis.useImportHeuristic": true (建议在工作区),setting.json 会提示未知配置项,但是无所谓,直接重启看效果.

单元测试

详细配置见 Python testing in Visual Studio Code

只提一点,如果 vsc 无法识别子目录的测试文件,需要在这个路径上所有文件夹下都要有 __init__.py 文件.

结语

代码补全,跳转,提示等等用起来非常好,个人项目够用了.