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