答应我,用了这个jupyter插件,别再重复造轮子了
在使用Python
、R
等完成日常任务的过程中,可能会经常书写同样或模式相近的同一段代码,譬如每次使用matplotlib
绘制图像的时候可以在开头添加下面两行代码来解决中文乱码等显示问题:
plt.rcParams['font.sans-serif'] = ['SimHei'] # 指定默认字体为黑体
plt.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题
诸如此类的在日常工作中起到重要作用的「代码片段」非常之多,且非常零碎,很难全部记住,在需要使用它们的时候,我们往往习惯性地重复去百度、谷歌查找相关的代码。
而今天我们要介绍的这款jupyter lab
插件,就可以帮助我们「记录」、「归类」、「存档」以及「检索」我们常用的代码片段,大大提升工作效率,从而避免重复造轮子。
图1
jupyterlab-code-snippets
我们使用到的jupyter lab
插件为 jupyterlab-code-snippets,使用下面的命令进行安装:
jupyter labextension install jupyterlab-code-snippets
安装完成后启动jupyter lab
,会发现侧边栏多了一个图标:
图2
点击打开后,初始状态下因为我们没有添加可用的「代码片段」,所以显示为空,当我们点击右上角的+
后,会来到新增「代码片段」的编辑页面:
图3
「Name」输入框用于输入当前定义的「代码片段」的名称,你可以按照自己的理解来命名(注意这里只能由小写的字母、数字以及下划线组合而成)。
而「Description」输入框用于输入对当前所定义代码片段的描述语句,在「Name」合法输入的基础上新增了空格内容。
「Language」下拉选择框则用于指定当前所定义代码片段对应的编程语言,根据自己的定义进行选择:
图4
而紧随其后的「Tags」是可选(支持多个标签)的,你可以根据自己的分类依据创建新的标签,或是从以前定义过的标签中选择若干标签:
图5
最后则是最重要的「代码片段」输入框,以matplotlib
保存Figure
对象为图片文件的「代码片段」为例:
图6
合法地写好所有输入内容后点击右下角的按钮即可保存当前的「代码片段」,随即在左侧的对应区域内就能看到已经保存好的「代码片段」,鼠标悬浮还可以进行预览:
图7
直接将对应的「代码片段」拖到notebook中指定位置即可插入代码:
图8
而除了在侧边栏点击+
新增代码片段,还可以在单元格中选中代码后右键添加:
图9
「jupyterlab-code-snippets」还有一些其他的小功能,感兴趣的朋友可以自行探索~
- Android中Context用法详解学习
- 【自然框架】之 “表单控件”与“实体类”
- Android数据存储实现的5大方式
- Android实现图片异步加载操作
- (PDF.NET框架实例讲解)将存储过程映射为实体类
- 【开源】QuickPager ASP.NET2.0分页控件——使用示例、基本应用和查询功能
- 移花接木:当泛型方法遇上抽象类----我的“内存数据库”诞生记
- Android扫描多媒体文件剖析
- Android的进程与线程使用总结
- Android在WebView中加载HTML并实现交互
- 使用ASP.NET MVC2+PDF.NET 构建一个简单的新闻管理程序 示例过程
- 【开源】QuickPager ASP.NET2.0分页控件V2.0.0.3 【增加了使用说明】
- Android中Java和JavaScript交互
- Android UI控件系列:TabWidget(切换卡)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- python学习笔记(7)——远程主机强迫关闭了一个现有的连接
- 【带你成为pyq最靓的仔】朋友圈九宫格(一)之图片切割篇
- Material Design Compoents 1.1.0
- 【第19期】HTTP请求头referer
- Sentinel流控日志与索引
- Next.js + TypeScript 搭建一个简易的博客系统
- 【redis】02-redis持久化存储以及对象存储
- Kubernetes 集群可视化监控之 Weave Scope 入门
- h5 与原生 app 交互的原理
- 怎么在Openresty中REST?
- 【redis】04-redis 根据监听key的失效事件实现订单超时关闭
- 搭建分布式任务调度平台
- 微信小程序根据线上版本 Source Map 文件定位错误代码
- 全解系列:内存泄漏定位工具LeakCanary!
- 【Java反射】触手可及