当前位置:首页 >> 脚本专栏

VSCode下好用的Python插件及配置

MS Python插件。

这是微软官方的Python插件,已经自带很多功能。下面是插件功能描述,其中部分内容我做了翻译。

a)        Linting (Prospector, Pylint, pycodestyle, Flake8, pylama, pydocstyle, mypy with config files and plugins)静态代码扫描(可以理解为代码语法和格式错误提示,支持多种linter)

b)       Intellisense (autocompletion with support for PEP 484 and PEP 526)智能提示(自动补全,自动完成,包括了所在上下文的方法和变量)

c)        Auto indenting自动缩进

d)       Code formatting (autopep8, yapf, with config files)代码自动格式化

e)        Code refactoring (Rename, Extract Variable, Extract Method, Sort Imports)代码重构(重命名,提取变量,提取方法,对import排序)

f)         Viewing references, code navigation, view signature查看引用,代码导航,查看签名

g)       Excellent debugging support (remote debugging over SSH, mutliple threads, django, flask)完美的调试支持(通过SSH远程调试,多线程,django,flask)

h)       Running and debugging Unit tests (unittest, pytest, nose, with config files)运行和调试单元测试

i)         Execute file or code in a python terminal在python终端执行文件或代码

j)         Snippets代码片段

可见已经很强大了,满足了基本的需要。比如要自动格式化代码,只需要按下Alt+Shift+F,vscode就会调用autopep8自动格式化代码(题外话,VisualStudio是Ctrl+K,D)。

但是我们不满足于此,我们要实现自己的style。例如Snippets,比如我们输入for,在提示框中选择对应的snippet:

VSCode下好用的Python插件及配置

点击回车或者tab,就变成了:

for target_list in expression_list:
  pass

我们如果要定义自己的Snippets,比如我们想要快速输入for xx in enumerator()方式遍历,该如何做呢。首先打开文件—首选项—用户代码片段。vscode会提示你选择语言,我们输入Python并回车,打开了python.json。内容格式为json,在根级下面新增一个自己的object,内容如下:

"For in enumerator": {
    "prefix": "for/enum",
    "body": [
      "for ${1:index}, ${2:item} in enumerate(${3:array}):",
      "  ${4:pass}"
    ],
    "description": "For statement with enumerator"
  }

这样在我们输入for/enum再按回车后,就自动生成了:

for index, item in enumerate(array):
  pass

光标停留在index上并选中该词,我们可以直接修改完,按tab切换到item,然后是array、pass。

Guides:缩进提示

有人说,vscode里已经有缩进参考线了呀,还需要Guides做什么?的确,vscode有缩进线,但是这个Guides比自带的缩进线更好,请看下图:

VSCode下好用的Python插件及配置

当前所在的级别缩进线会变红,当前在哪一级一目了然。

vscode-icons文件图标集,支持更多文件类型,最重要的,颜值更高!

VSCode下好用的Python插件及配置

关于调试时自动暂停在第一句。

这里可以配置,就是在lauch.json文件中,有个”stopOnEntry”:true,设置为false就可以不再暂停。

其他

还有一些python插件配置,就不一一细讲了,大家可以在设置中(文件-首选项-设置)搜索得到。包括:

a) autopep8/yapf:自动格式化代码;

b) pylint-django:兼容django的pylint,需要用pip install;

c) flakes8:错误提示。

希望大家玩的愉快~