vs code:强大的开发利器,粉了粉了...

点赞再看,养成习惯!觉得不过瘾的童鞋,欢迎关注公众号《机器学习算法工程师》,有非常多大神的干货文章可供学习噢…

目录

    • 前言
    • 正文
      • 配置语言环境
      • 远程开发
      • 代码模板
      • 自动保存
      • Docstring生成器
      • 书签和大纲
      • PEP8格式化
    • 结语
    • 参考文献
    • 童鞋们,码字不易,一键三连再走吧

前言

有童鞋可能会说VS Code这样的神兵利器,小编你现在才开始用?没错,小编虽然早已听过其鼎鼎大名,但是鸭子不赶不上架,死猪不怕开水烫…【莫名把自己套进去了,害】。总之,现在由于在工作中小编本着保证开发环境的一致性,还是得把自己的开发IDE从PyCharm社区版换成VS Code,事后真香啊。小编种草VS Code IDE,首先是那可以配置多种语言编译、运行以及调试的功能,小编现在经常需要阅读和开发py/c++/java的项目,开多个IDE窗口还是挺让人抓狂的;另外便是要有远程开发的功能,现在很多时候不会在本地电脑上开发项目了,源码都会存放在远程服务器上等等。对于VS Code,只要你有相应的需求,它就会有相应的插件!本文,小编先讲述正文目录中的那些功能。
了解小编的童鞋,应该知道这类文章,小编是会持续更新的,无论是小编自身的需求还是同学们的需求,只要能提,就努力实现!

正文

先去vs code官网把IDE下了,后面才能愉快地玩耍了…

配置语言环境

小编以py语言为例:

  1. 下载安装py语言插件
    在extensions板块直接搜索python,如图所示辣么大下载量地便是我们需要的py插件,点他!
    vs code:强大的开发利器,粉了粉了..._第1张图片
  2. 本地电脑(以windows为例)要安装好py编译器
    py编译器还是需要自己去下载的,小编用的是anaconda,不过这个被墙的厉害。总之下载好编译器后,最好还能将其添加到用户的系统环境变量中去,这样vs code就能感应到本地主机的py编译器的位置,不过这一步并不是必须的。
    vs code:强大的开发利器,粉了粉了..._第2张图片
  3. vs code选取本地电脑的py编译器
    现在可以考虑建立一个py项目了,首先选择项目的根目录(小编这里建立的项目根目录名叫demo),然后写第一个py代码hello_py.py,这时候界面的下方有块按钮,有时甚至会主动提醒你选择py编译器。这一步也不是必须的。
    vs code:强大的开发利器,粉了粉了..._第3张图片
  4. 开始运行、调试hello_py.py程序
    为什么小编会说第2步不用添加py解释器到系统环境变量中以及第3步都不是必须的,因为实际决定一个py程序能够运行、调试关键在于有没有添加对应的配置文件(存放在.vscode文件夹下,扩展名为.json)。运行py程序需要创建一个settings.json文件,配置编译器所在的路径【如果前面两步做了,settings.json文件会自动生成】;调试py程序则需要创建一个launch.json,配置调试器所需的基本信息。小编这里给出所需最少的配置,更多配置请参照参考文献中py链接里的内容。
    vs code:强大的开发利器,粉了粉了..._第4张图片
    vs code:强大的开发利器,粉了粉了..._第5张图片
    可以尝试下vs code如何debug py程序了,首先打断点,与微软VS IDE类似,可以直接用鼠标点击下图所示位置出现红点即表示打上了断点,然后开始按快捷键F5,进行调试,下图就停留在断电处,右上角那些熟悉的标志,想必聪明的童鞋们都知道是干嘛的。
    vs code:强大的开发利器,粉了粉了..._第6张图片
    到了这里,配置语言环境就成功了,真的非常简单,同样的骚操作下来,其他语言(如c++/java等)都可以这样做,童鞋们只要记住.vscode文件夹下的settings.json和launch.json文件是配置文件。

远程开发

之前在学校实验室的时候,小编做科研经常是本地主机上写好程序,然后通过XFtp或scp等远程传输软件把代码上传到服务器,然后还要登录服务器写好执行命令运行该程序。另外尤其是需要经常更新服务器上的程序,这要是带了很多数据的程序,第一次还要上传过去,非常耗时。如果使用远程开发的功能,这些弊端都可以被解决掉!
这里小编讲解的是vs code的remote-ssh功能。

  1. 下载安装Remote - SSH插件
    vs code:强大的开发利器,粉了粉了..._第7张图片
  2. 开始连接远程主机
    点击左下角那个绿色按钮就开始连接远程主机,点击Connect to Host功能,即如下图所示:
    vs code:强大的开发利器,粉了粉了..._第8张图片
    接着点击add new ssh host功能,出现下图所示的提示框,这时候需要童鞋们输入远程主机的信息了:远程主机上的用户名@远程主机的IP地址
    vs code:强大的开发利器,粉了粉了..._第9张图片
    接下来就会有让你保存刚才连接的一些信息到config文件中,以后连接同样的远程主机就不必再走一次。另外,还会有个提示框,让你输入密码,所有信息都正确过后,静等一下(因为第一次连接会慢一些,vs code会在远程主机上做一些配置工作)。
    vs code:强大的开发利器,粉了粉了..._第10张图片
  3. 可以愉快地开发了
    vs code:强大的开发利器,粉了粉了..._第11张图片

【友情提醒】

  1. 如果服务器的IP地址不固定,并且还时不时断电,那小编还是建议本地开发吧。
  2. 可能有些童鞋会遭遇一个错误Bad owner or permissions on .ssh文件夹,这是一个权限问题,是跟win10自带的open-ssh冲突的,open-ssh默认的.ssh便是安装在这个目录下,所以我们就不要跟它抢位置了,自己在vs code的settings中找到插件remote - ssh的特性这块,自己安利一个位置放置连接的配置信息文件config。
    vs code:强大的开发利器,粉了粉了..._第12张图片

代码模板

代码模板是极其好用的编程技巧了,很多代码只要能形成套路的,我们就可以使用代码模板来节省编程时间,比如小编喜欢在写代码前,先表明自己的个人版权信息。以py语言为例,看看如何玩vs code的代码模板功能。
3. 找到用户模板功能,并搜索点击python,会生成一个python.json模板文件
vs code:强大的开发利器,粉了粉了..._第13张图片
4. 按照规则,写出自己需要的代码模板
vs code:强大的开发利器,粉了粉了..._第14张图片
5. 编程使用
vs code:强大的开发利器,粉了粉了..._第15张图片
vs code:强大的开发利器,粉了粉了..._第16张图片
是不是很cool!!!

自动保存

没有人愿意能够忍受因为意外事故导致未保存的代码丢失!!!就像WORD/PPT等办公编辑软件会设置每隔几分钟保存一下,代码也应该如此,VS Code的自动保存功能就叫Auto Save,一般我们就设置为像PyCharm那样即时保存即可。
vs code:强大的开发利器,粉了粉了..._第17张图片

Docstring生成器

Docstring是在PEP 257中提出的,希望能在模块(Module)、函数(Function)、类(Class)和方法(Method)中使用的描述性字符常量。之所以提起它,也是为了解决广大程序猿们遇到的一个痛点问题:写文档!!! 大家平时看那些公开库的文档都挺爽的,但是要自己去写,保证让你头秃,毕竟咱们写bug,啊不,写代码就够了,还要解释,有需要自己去看不香嘛?但事实真的不香,即使是自己过了一个月去看之前写的代码,都有想把自己捶死的冲动。于是PEP 257约定在模块的头部、函数体内的头部、类内的头部以及公开方法体内的头部都写上Docstring,用来描述功能、参数等等。本小节的Docstring生成器插件便是用来生成符合PEP标准的Docstring(有点类似于代码模板,不过更智能)。

  1. 安装Python Docstring Generator插件
    vs code:强大的开发利器,粉了粉了..._第18张图片
  2. 在约定的位置敲上""",将弹出Generate Docstring,点击便可自动生成。下面给个例子,直观给出约定的位置在哪。


"""
@description
hello py demo程序
@author: yifan
@company: Alibaba
@date: 2020/7/4
"""


def hello(obj: str) -> str:
    """打招呼

    Args:
        obj (str): 打招呼的对象

    Returns:
        str: 招呼语
    """
    return "hello {}".format(obj)

class Demo:
    """示例类
    """
    def __init__(self,x):
        super().__init__()
        self.x = x

    def hello(self):
        """公开方法:打招呼
        """
        print("hello {}".format(self.x))


if __name__ == "__main__":
    # func
    print(hello('py'))

    # instance method
    demo = Demo('py')
    demo.hello()

  1. 更进一步,我们可以使用pydoc工具将代码文件中这些docstring导出真正的用户文档!!!pydoc请童鞋们自行去官网查询用法,这里不延伸了。
# 运行这个命令,能把用户文档打印在console,同时vs code能够感应
python -m pydoc hello_py

vs code:强大的开发利器,粉了粉了..._第19张图片
vs code:强大的开发利器,粉了粉了..._第20张图片
但是一般我们是在浏览器上看py文档,一个html文档更是我们所需要的,这个也有办法解决,如下:

# 生成html用户文档
python -m pydoc -w hello_py

vs code:强大的开发利器,粉了粉了..._第21张图片

书签和大纲

对小编来说,书签与大纲,是能够在一个代码量比较大的py文件中快速找到目标代码的一大利器。书签,就是在关键位置打点,移动也是在书签之间,这个功能很适合有上下文关联但离得很远的代码块;大纲,如果说书签是个局部的定位,那大纲就是全局,能够反映出整个文件中有哪些类/函数/对象/变量等等。童鞋们可以用书籍的目录与书签类似理解。vs code是自带大纲的,如下:
vs code:强大的开发利器,粉了粉了..._第22张图片
书签:

  1. 下载插件
    vs code:强大的开发利器,粉了粉了..._第23张图片
  2. 快捷键:ctrl+shift+k 打点;ctrl+shift+l 移动至下个书签; ctrl+shift+j 移动至上个书签
    vs code:强大的开发利器,粉了粉了..._第24张图片

PEP8格式化

格式化的功能不用小编多说,大家使用都很频繁。在py中,通常遵守的是PEP8标准;在vs code使用它,不需要通过插件,而是命令行下载,这个可以通过快捷键alt+shift+f触发。

结语

小编使用vs code的时间不到一周,但已经路人转粉了,实在难以想象vs code还有哪些骚操作的插件,已经鸡冻地搓搓小手了。

参考文献

  1. 配置语言环境:https://code.visualstudio.com/docs/python/debugging#_set-configuration-options
  2. Docstring生成器:https://www.python.org/dev/peps/pep-0257/

童鞋们,码字不易,一键三连再走吧

你可能感兴趣的:(猿猿杂货铺)