vscode对于python的支持之前觉得是不太好的,比如代码智能提示、补全、快速修复等都体验都比较差,和CLion或者PyCharm有比较大的差距。
但是在2020年7月份微软为vscode发布了新的语言服务器Pylance,体验有比较大的提升,目前还是预览版,还有比较多的改进空间,正式版值得期待。

一 必备插件

通过快捷键Ctrl+Shift+X打开扩展安装界面,安装需要的插件。

1 Python

安装完插件后,打开python文件会自动提示选择Python解析器。也可以通过Ctrl+Shift+P打开命令面板输入Select Interpreter来选择需要的解析器。

安装完Python插件后,也会提示安装一些它所依赖的packages,可以按需都安装上。

2 Pylance

强烈建议使用Pylance替代默认的Python语言服务器,它支持一些很棒的功能,比如:

  1. Docstrings
  2. 自动导入
  3. 类型检查
  4. Code Lens
  5. IntelliCode 兼容性

设置如下:

{
    "python.languageServer": "Pylance"
}

二 推荐设置

1 设置code formatter为yapf

它和默认使用的autopep8的不同之处在于它不仅会指出代码中违反PEP8规范的地方,还会对没有违反PEP8但代码风格不一致的地方重新格式化,可以让令代码的可读性更强。

设置步骤:

  1. 打开设置(Ctrl+ ,):搜索"formatting.provider"
  2. 选择yapf,如果没有安装,vscode会发出提示,按提示安装即可
  3. 也可以直接打开设置文件添加一行:"python.formatting.provider": "yapf",
  4. 使用方法:选中需要格式化的代码,右键选择格式化选定内容,快捷键:Ctrl + K, Ctrl + F或者Ctrl+Shift+I(macos为Alt+Shift+F)
  5. 可以通过设置"python.formatting.yapfArgs"添加自定义的格式化参数

2 设置自动格式化

可以打开保存时和键入一行后立即进行代码格式化,设置选项为:

{
    "editor.formatOnSave": true,
    "editor.formatOnType": true
}

3 设置静态代码linter为flake8

Flake8是由Python官方发布的一款辅助检测Python代码是否规范的工具,它包含PEP8编码风格检查,代码静态检查则是依托PyFlakes,相对于Pylint,其检查规则灵活,扩展性更强一些。

设置步骤:

  1. 通过Ctrl+Shift+P打开命名面板,搜索Python: Select Linter选择flake8即可
  2. 或者打开设置文件添加:"python.linting.flake8Enabled": true,

同时最好关闭Pylint,json设置如下:

{
    "python.linting.flake8Enabled": true,
    "python.linting.pylintEnabled": false,
}

4 自动补全设置

打开自动添加括号,在自动补全函数时,可以自动加上括号,提高效率:

{
    "python.autoComplete.addBrackets": true,
}

5 添加自动补全库路径

为额外的Python库支持自动补全,设置路径:

{
    "python.autoComplete.extraPaths": []
}

6 添加分析路径

添加额外导入路径,设置:

{
    "python.analysis.extraPaths": []
}

这对于导入项目中一些自己实现的python文件很有帮助。

7 添加垂直参考线

Python的代码风格要求代码一行不超过79字符,所以我们可以给代码编辑器设置一条垂直参考线,直观判断代码是否太长,并且可以自定义参考线的颜色:


    "editor.rulers": [
        80,
    ],
    "workbench.colorCustomizations": {
        "editorRuler.foreground": "#ff4081"
    }
}

效果如下:

83842c6e29f06803511218f7d48668e9.png

三 常用操作

1 自动导入

在使用到某个库的时候,可以使用自动导入,并且导入的时候会选择import语句插入的位置,保持import语句有序,如下演示:

1f83ecfefcbc8bb0aa1435dac8867d34.gif

2 排序import

在Python源文件中直接右键,选择排序Import语句,vscode将会通过isort自动将import语句分组并排序,非常nice。

3 重构代码

光标放到在函数名、参数名上按F2重构变量名。如果没有安装重构工具rope,按提示安装即可。

4 提取变量或方法

选择一段代码,将会出现一个小灯泡(Quick fix),点击小灯泡即可选择将所选代码提取为变量或者函数。如下图:

4de78674cd78d96975e2bc5c9e128071.png

笔者目前在macos实测功能还有些不完美,期待后续能够修复。

5 触发参数提示

在调用函数的时候,vscode会自动弹出参数提示,可以通过ESC关闭,关闭后可以通过快捷键Ctrl+Shift+Space唤出。

但是这个快捷键可能会被输入法占用,可以修改绑定快捷键,通过快捷键Ctrl+K Ctrl+S打开快捷键设置窗口,搜索editor.action.triggerParameterHints,修改快捷键即可。

6 在终端运行选中代码

运行脚本可以通过右键选择在终端中运行Python文件。而如果要运行文件中的一小段代码,可以通过选中需要运行的代码,按快捷键Shift+Enter就可以了。

其实现的方式是通过终端运行Python,再在Python中执行对应代码。

通过以上配置和相关知识,即可在使用vscode开发Python的时候获取到良好的体验。

本文是vscode系列文章之一,往期文章可以在文末阅读下一篇,或者在公众号首页vscode话题中查看其他文章。

由于vscode对于python的支持在持续优化中,如果有新的好用的特征,笔者会推出新的文章;
如果有朋友知道其他一些好用的配置,也欢迎通过公众号给我留言分享。

b79ed58663036d1596248f1e24729fa9.pngEND

c0012f2435ae38b6ede94173733f2fc4.png

觉得有用,分享/点赞/在看走起,但别收藏吃灰哦

Logo

一站式 AI 云服务平台

更多推荐