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

希望大家玩的愉快~

最新文章

  1. 【转】lower_case_table_names=1 让MySQL不区分大小写
  2. mysql远程快速导出csv格式数据工具
  3. 一个网页抓取的类支持get+post+cookie存储
  4. 常用元素默认margin和padding值问题探讨
  5. bzoj2794
  6. 使用Castle扩展Ibatis.Net,面向接口编程-更优雅的代码
  7. 【LeetCode】110. Balanced Binary Tree
  8. Struts2的核心运行流程,原理图解
  9. 第六节:框架搭建之EF的Fluent Api模式的使用流程
  10. springIoC的理解01
  11. 步步为营-77-Ajax简介
  12. 关于java类加载的那些事
  13. js动态添加未知新属性
  14. 推荐一些好的linux学习网站
  15. 全国高校绿色计算大赛 预赛第二阶段(Python)第1关:统计分数的麻烦
  16. mysql rand
  17. D. Vasya and Arrays
  18. vue中的ajax - axios
  19. 修改nginx的http响应头server字段
  20. 20145221 《Java程序设计》第三周学习总结

热门文章

  1. UVA 540(队列)
  2. 【ODPS】TableTunnel单线程简单下载事例
  3. OracleOraDb11g_home1TNSListener服务启动后停止,某些服务在未由其他服务或程序使用时将自己主动停止
  4. spring+hibernate项目demo搭建
  5. tomcat启动端口号报错java.net.BindException: Cannot assign requested address
  6. 【Linux】Linux学习笔记(完结)
  7. 创建access数据库表demo的封装
  8. bzoj 1570: [JSOI2008]Blue Mary的旅行
  9. 《重新定义公司 - Google 是如何运营的》重点摘录
  10. .NET使用存储过程实现对数据库的增删改查