VSCode下好用的Python插件及配置


Posted in Python onApril 06, 2018

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:错误提示。

希望大家玩的愉快~

Python 相关文章推荐
python 动态获取当前运行的类名和函数名的方法
Apr 15 Python
python操作xml文件详细介绍
Jun 09 Python
python获取android设备的GPS信息脚本分享
Mar 06 Python
python中字典(Dictionary)用法实例详解
May 30 Python
Python3数据库操作包pymysql的操作方法
Jul 16 Python
详解Ubuntu16.04安装Python3.7及其pip3并切换为默认版本
Feb 25 Python
Python爬虫——爬取豆瓣电影Top250代码实例
Apr 17 Python
python实现视频读取和转化图片
Dec 10 Python
Python如何给你的程序做性能测试
Jul 29 Python
Python机器学习之PCA降维算法详解
May 19 Python
pytorch中的 .view()函数的用法介绍
Mar 17 Python
Python  序列化反序列化和异常处理的问题小结
Dec 24 Python
VScode编写第一个Python程序HelloWorld步骤
Apr 06 #Python
在VS Code上搭建Python开发环境的方法
Apr 06 #Python
python装饰器深入学习
Apr 06 #Python
如何使用 Pylint 来规范 Python 代码风格(来自IBM)
Apr 06 #Python
python中pylint使用方法(pylint代码检查)
Apr 06 #Python
VSCode下配置python调试运行环境的方法
Apr 06 #Python
如何使用VSCode愉快的写Python于调试配置步骤
Apr 06 #Python
You might like
山进SANGEAN ATS-909X电路分析
2021/03/02 无线电
PHP5.3.1 不再支持ISAPI
2010/01/08 PHP
window.js 主要包含了页面的一些操作
2009/12/23 Javascript
解决window.opener=null;window.close(),只支持IE6不支持IE7,IE8的问题
2014/01/14 Javascript
JavaScript 实现鼠标拖动元素实例代码
2014/02/24 Javascript
Javascript动态引用CSS文件的2种方法介绍
2014/06/06 Javascript
jQuery验证元素是否为空的两种常用方法
2015/03/17 Javascript
详解javascript事件冒泡
2016/01/09 Javascript
在其他地方你学不到的jQuery小贴士和技巧(欢迎收藏)
2016/01/20 Javascript
基于Vue+element-ui 的Table二次封装的实现
2018/07/20 Javascript
详解JavaScript栈内存与堆内存
2019/04/04 Javascript
jQuery层叠选择器用法实例分析
2019/06/28 jQuery
JavaScript和TypeScript中的void的具体使用
2019/09/12 Javascript
Nodejs实现WebSocket代码实例
2020/05/19 NodeJs
Js生成随机数/随机字符串的方法小结【5种方法】
2020/05/27 Javascript
JavaScript中跨域问题的深入理解
2021/03/04 Javascript
[01:32:10]NAVI vs VG Supermajor 败者组 BO3 第一场 6.5
2018/06/06 DOTA
Python操作使用MySQL数据库的实例代码
2017/05/25 Python
对numpy中array和asarray的区别详解
2018/04/17 Python
Python基于百度AI的文字识别的示例
2018/04/21 Python
基于python代码实现简易滤除数字的方法
2018/07/17 Python
python读取xlsx的方法
2018/12/25 Python
python基于paramiko将文件上传到服务器代码实现
2019/07/08 Python
Pyqt5自适应布局实例
2019/12/13 Python
python日期与时间戳的各种转换示例
2020/02/12 Python
Python matplotlib修改默认字体的操作
2020/03/05 Python
python多线程semaphore实现线程数控制的示例
2020/08/10 Python
css3实现椭圆轨迹旋转的示例代码
2018/10/29 HTML / CSS
调解协议书
2014/04/16 职场文书
中学生旷课检讨书模板
2014/10/08 职场文书
领导班子作风建设剖析材料
2014/10/11 职场文书
2015年手术室工作总结
2015/05/11 职场文书
2016会计专业自荐信范文
2016/01/28 职场文书
goland 清除所有的默认设置操作
2021/04/28 Golang
Mybatis-plus在项目中的简单应用
2021/07/01 Java/Android
quickjs 封装 JavaScript 沙箱详情
2021/11/02 Javascript