VSCode下好用的Python插件及配置

yipeiwu_com6年前Python基础

MS Python插件。

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

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

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

c)        Auto indenting自动缩进

d)       Code formatting (autopep8yapf, 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 (unittestpytestnose, 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:

点击回车或者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-icons文件图标集,支持更多文件类型,最重要的,颜值更高!

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

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

其他

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

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

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

c) flakes8:错误提示。

希望大家玩的愉快~

相关文章

python中的对象拷贝示例 python引用传递

何谓引用传递,我们来看一个C++交换两个数的函数: 复制代码 代码如下:void swap(int &a, int &b){    int temp;&nb...

python 中的list和array的不同之处及转换问题

python中的list是python的内置数据类型,list中的数据类不必相同的,而array的中的类型必须全部相同。在list中的数据类型保存的是数据的存放的地址,简单的说就是指针,...

python3 读取Excel表格中的数据

需要先安装openpyxl库 通过pip命令安装: pip install openpyxl 源码如下: #!/usr/bin/python3 #-*- coding:utf-8 -...

对python cv2批量灰度图片并保存的实例讲解

如下所示: import cv2 #循环灰度图片并保存 def grayImg(): for x in range(1,38): #读取图片 img = cv2.imrea...

Python制作词云的方法

Python制作词云的方法

需求: 看到朋友圈有人发词云照片,感觉自己也可以玩一玩,于是乎借助wordcloud实现功能。 环境: MacOS 10.12 +Python 2.7 +Wordcloud Windo...