「这是我参与2022首次更文挑战的第25天,活动详情查看:2022首次更文挑战」。
我们继续介绍vscode插件能做哪些事情。 首先我们详细介绍下通用的功能,都能定制哪些东西。
右键菜单
首先要说一下右键菜单,你可以通过 context menu 功能定制在不同区域展示的右键菜单。
数据存储
有以下几种存储数据的方式
ExtensionContext.workspaceState: 可以通过键值对的形式存储数据,当同一个窗口被再次载入数据会恢复ExtensionContext.globalState: 全局存储,也是键值对,每次插件激活的时候数据都能恢复ExtensionContext.storagePath: 可以指定个本地文件进行信息存储,如果只有当前会使用,且文件内容较大,可以采用ExtensionContext.globalStoragePath: 和上面的存储方式一样,区别是存储在全局,可以全局共享
通知
有以下三种通知方式,由名字可以知道代表不同的类型
快速选择
vscode.QuickPick api,你可以很容易地收集用户输入或者让用户选择内容
文件选择
通过vscode.window.showOpenDialog,可以选择文件或者文件夹
输出通道
可以用来在控制台上输出各种各样的内容
进度api
可以通过 vscode.Progress api 向用户通知各种工作进度
扩展工作区
工作区 workbench 指的是以下几个部分:
- 标题栏
- 活动栏
- 侧边栏
- 控制面板
- 编辑区
- 状态栏
views container
就是最左边那一竖栏,可以通过contributes.viewscontainer新增一些自定义的内容
树形视图
有类似的需求可以通过contributes.view新增一些自定义的树形视图,左边倒数第二栏
webview
如果有一些定制ui需要开发,可以通过webview去做,需要写前端代码
状态栏选项
可以展示当前状态的文本、图标,也可以在点击的时候执行命令