# 常用功能
常用功能对你的插件来说非常重要,几乎所有的都会或多或少地用到这些功能,下面我们为你简单地介绍一下它们。
# 命令
命令是VS Code 运作的核心。你可以打开命令面板执行,用快捷键执行,还可以在菜单中鼠标右键执行。
一个插件应该:
- 使用
vscode.commands
注册和执行命令 - 配置
contributes.commands
,确保命令面板中可以顺利执行你注册的命令
在插件指南/命令中学习更多相关内容。
# 配置
插件需要在contributes.configuration
发布内容配置点中填写有关的配置,你可以workspace.getConfiguration
API中阅读有关内容。
# 键位绑定
插件可以添加自定义键位映射,在contributes.keybindings
和键位绑定中了解更多有关内容。
# 菜单
插件可以自定义上下文菜单项,菜单会根据用户右击VS Code UI的不同位置而各不相同。查看更多contributes.menus
发布内容配置。
# 数据储存
VS Code中有三种数据储存方式:
ExtensionContext.workspaceState
:键值对组成的工作区数据。当同一个工作区再次打开时会重新取出数据。ExtensionContext.globalState
:键值对组成的全局数据。当插件激活时会再次取出这些数据。ExtensionContext.storagePath
:指向你的插件可以读写的本地文件夹的路径。如果你要储存比较大的数据,这是一个非常好的选择。ExtensionContext.globalStoragePath
:指向你的插件可以读写的本地存储的路径。如果你要存储所有工作区内的大文件,这时一个非常好的选择。
插件的执行上下文在activate
函数中,详见插件入口文件。
# 显示通知
几乎所有的插件都需要在某些时候为用户提示信息。VS Code提供了3个API来展示不同重要程度的信息:
# 快速选择
使用vscode.QuickPick
API,你可以轻松地收集用户输入或者为用户显示选择列表。快速输入 示例将详细解释这个API。
# 文件选择
插件可以使用vscode.window.showOpenDialog
API打开系统文件选择器,然后选择文件或是文件夹。
# 输出渠道
输出面板显示了一组输出渠道
,以便于你查看日志。你可以使用window.createOutputChannel
创建一个新的输出渠道。
# 进度API
使用vscode.Progress
将处理进度报告给用户。
通过ProgressLocation
选项,进度可以显示在不同的区域:
- 显示在通知区
- 显示在源控制视图
- VS Code窗口中的通用进度条位置
详见进度 示例。