这是微软官方的Python插件,已经自带很多功能。下面是插件功能描述,其中部分内容我做了翻译。 工欲善其事必先利其器,开发前先把提升效率的利器搭好会让今后慢慢的编程长路舒服很多,我本来一直用pycharm,后来发现vscode貌似确实会好很多。。。就慢慢转过来了,下面介绍一些我在机器学习编程时经常会用到的一些插件。
VsCode python插件合集
-
Linting (Prospector, Pylint, pycodestyle, Flake8, pylama, pydocstyle, mypy with config files and plugins)静态代码扫描(可以理解为代码语法和格式错误提示,支持多种linter)
-
Intellisense (autocompletion with support for PEP 484 and PEP 526)智能提示(自动补全,自动完成,包括了所在上下文的方法和变量)
-
Auto indenting自动缩进
-
Code refactoring (Rename, Extract Variable, Extract Method, Sort Imports)代码重构(重命名,提取变量,提取方法,对import排序)
-
Viewing references, code navigation, view signature查看引用,代码导航,查看签名
-
Excellent debugging support (remote debugging over SSH, mutliple threads, django, flask)完美的调试支持(通过SSH远程调试,多线程,django,flask)
-
Running and debugging Unit tests (unittest, pytest, nose, with config files)运行和调试单元测试
-
Execute file or code in a python terminal在python终端执行文件或代码
-
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插件配置,就不一一细讲了,大家可以在设置中(文件-首选项-设置)搜索得到。包括:
-
autopep8/yapf:自动格式化代码;
-
pylint-django:兼容django的pylint,需要用pip install;
-
flakes8:错误提示。
- autoDocstring
注释多重要我就不强调了,我是时不时会有写了代码回头看发现不知道在干啥的情况出现,这个插件有多重注释风格,包括Google,numpy等,numpy应该是机器学习最熟悉的注释格式了,我默认选择的numpy,使用这个插件可以自动的把所有输出输出参数以一定的风格放到函数或者类注释里面,实乃神器。
- Better Comments
还是注释的重要性,但是这种注释主要是针对行注释,对不同类型的注释会附加不同的颜色,更加方便区分!
- vscode-icons
这个看名字就大概知道是怎么回事了,改变vscode原有的icon,因为原始的icon太普通了,用起来不是很舒服,所有有很多人做了icon的插件来对其进行完善,这个下载量特别大(足足有1700W),算是很好的插件了,用起来后会相对来说更加舒服,大概是下面这个样子。
- kite kite算是名气很大的插件了,专门用AI来做代码补全,写起代码来会快一些,用个动态图来让大家切身感受下,确实会稍微快一点点。
- black for autoFormatting
这个厉害了!直接让一坨难看的shit代码变成好看的shit代码。。。最强的是你不用每次手动去formatting,只需要在配置文件里面一键设置每次保存代码的时候去formatting,效率那是大大的快! 这里说一下为什么要做格式化,最开始学编程代码写的少或许会感觉无关紧要,但是越往后,这个重要性越是会凸显,我这里列出以下几个我觉得非常重要的点。 方便团队之间进行code review,一堆乱代码在公司内部肯定是不过审的,大家完全不会愿意看格式脏乱差的东西。 方便自己阅读,试想你关闭代码后隔天再打开,发现完全不知道自己写的是什么,何其痛苦。 养成好习惯方便做contribute,如果你想contribute到别人的GitHub库时,对你写的代码肯定会有对应的规范要求。 下面开始教大家设置
- pip install black
- 在vscode中打开搜索栏,输入settings,点击红框中的内容(如下图所示)。
-
进入配置文件添加红框中的相应配置,英文名称可以很直观的理解每个参数是用来干嘛的。black的参数可以从下面两个链接里面寻找设置,其中有一个flake的,参数其实差不多。
- 进入配置文件添加红框中的相应配置,英文名称可以很直观的理解每个参数是用来干嘛的。black的参数可以从下面两个链接里面寻找设置,其中有一个flake的,参数其实差不多。
- python/black
- Flake8:Your Tool For Style Guide Enforcement
话不多少,看看效果图,动态图显示的是black前和black后的代码,是不是干净了许多!
- Linting
linting和formatting是相互补充的一个东西,linting会提示你的代码哪里有问题,比如下面两个红色箭头的地方,相关配置依然是打开上面5中提到的settings,并用图2红框中的参数进行配置,这个配置能保证你的代码是被auto linting,相关linting的配置请参考下面这个官方链接,非常简单,我就不赘述了。
- Github History
直接上图,这个组件会以GUI的格式展示Git的历史commit信息,更加直观方便,适合不太用命令行操作的人
- Python Indent + Trailing Spaces
Python Indent 在每次换行的时候会解决Indentation的一些问题,这个在VS里面还是比较实用的。 Trailing Spaces 粉红色高亮显示代码中的空白符号
- Markdown All in One & Markdown Preview Enhanced
让Markdown更好的在vscode进行编辑和预览,查看这两个组件的详情就知道了,非常简洁明了。
- Python Preview
展示Python中内置变量的值,方便有时候调试展示值。
-
Code Runner | Output Colorizer 让输出展示在output中,并对输出给与颜色标注,方便观看。
-
vscode-fileheader 使用该插件可以给自己的文件添加文件头,这样更方便维护自己的代码的权益
- Visual Studio Live Share(多人协同编程)
即插即用,安装好后把生成的链接发给他人即可进行多人协作编程,非常方便。 terminal, server, 代码都可以进行共享