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 相关文章推荐
详解使用pymysql在python中对mysql的增删改查操作(综合)
Jan 18 Python
Python使用正则表达式抓取网页图片的方法示例
Apr 21 Python
十分钟利用Python制作属于你自己的个性logo
May 07 Python
django 多数据库配置教程
May 30 Python
使用python根据端口号关闭进程的方法
Nov 06 Python
python 实现提取某个索引中某个时间段的数据方法
Feb 01 Python
python爬虫之验证码篇3-滑动验证码识别技术
Apr 11 Python
Django Admin中增加导出Excel功能过程解析
Sep 04 Python
Python爬虫实现“盗取”微信好友信息的方法分析
Sep 16 Python
PyCharm使用之配置SSH Interpreter的方法步骤
Dec 26 Python
浅谈Tensorflow 动态双向RNN的输出问题
Jan 20 Python
2021年最新用于图像处理的Python库总结
Jun 15 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
Zend引擎的发展 [15]
2006/10/09 PHP
php线性表顺序存储实现代码(增删查改)
2012/02/16 PHP
PHP实现抽奖功能实例代码
2020/06/30 PHP
几个有趣的Javascript Hack
2010/07/24 Javascript
jQuery animate和CSS3相结合实现缓动追逐效果附源码下载
2016/04/18 Javascript
javascript事件捕获机制【深入分析IE和DOM中的事件模型】
2016/12/15 Javascript
jQuery插件FusionCharts实现的3D柱状图效果实例【附demo源码下载】
2017/03/03 Javascript
JavaScript 事件流、事件处理程序及事件对象总结
2017/04/01 Javascript
微信小程序 标签传入数据
2017/05/08 Javascript
详解Vue中过度动画效果应用
2017/05/25 Javascript
BootStrap点击保存后实现模态框自动关闭的思路(模态框)
2017/09/26 Javascript
浅谈在不使用ssr的情况下解决Vue单页面SEO问题(2)
2018/11/08 Javascript
让 babel webpack vue 配置文件支持智能提示的方法
2019/06/22 Javascript
JS实现动态无缝轮播
2020/01/11 Javascript
Python中__call__用法实例
2014/08/29 Python
在Python中使用PIL模块处理图像的教程
2015/04/29 Python
Python的Django框架中URLconf相关的一些技巧整理
2015/07/18 Python
Python3.2模拟实现webqq登录
2016/02/15 Python
使用python实现ANN
2017/12/20 Python
利用Python如何生成hash值示例详解
2017/12/20 Python
python实现诗歌游戏(类继承)
2019/02/26 Python
详解python selenium 爬取网易云音乐歌单名
2019/03/28 Python
django框架使用方法详解
2019/07/18 Python
python同步windows和linux文件
2019/08/29 Python
python中的RSA加密与解密实例解析
2019/11/18 Python
解决pytorch报错:AssertionError: Invalid device id的问题
2020/01/10 Python
Python装饰器用法与知识点小结
2020/03/09 Python
CSS3的first-child选择器实战攻略
2016/04/28 HTML / CSS
What's the difference between an interface and abstract class? (接口与抽象类有什么区别)
2012/10/29 面试题
蔬菜基地的创业计划书
2014/01/06 职场文书
四下基层实施方案
2014/03/28 职场文书
乡镇交通安全实施方案
2014/03/29 职场文书
关爱残疾人标语
2014/06/25 职场文书
党员教师群众路线思想汇报范文
2014/10/28 职场文书
商务考察邀请函模板
2015/02/02 职场文书
交互式可视化js库gojs使用介绍及技巧
2022/02/18 Javascript