创建 Azure Data Studio 键映射扩展
本教程演示如何创建新的 Azure Data Studio 扩展。 此扩展在 Azure Data Studio 中创建常见的 SSMS 键绑定。
本文介绍如何执行以下操作:
- 创建一个扩展项目
- 安装扩展生成器
- 创建扩展
- 向扩展添加自定义键绑定
- 测试扩展
- 打包扩展
- 将扩展发布到市场
先决条件
Azure Data Studio 建立在与 Visual Studio Code 相同的框架上,因此 Azure Data Studio 的扩展是使用 Visual Studio Code 生成的。 要开始操作,需满足以下条件:
- 已在
$PATH
中安装 Node.js 且可用。 Node.js 包含 npm,它是用于安装扩展生成器的 Node.js 包管理器。 - 已有 Visual Studio Code,用于调试扩展。
- 有 Azure Data Studio 调试扩展(可选)。 可使用它测试扩展,且无需将扩展打包并安装到 Azure Data Studio 中。
- 确保
azuredatastudio
位于你的路径中。 对于 Windows,请确保选择 setup.exe 中的Add to Path
选项。 对于 Mac 或 Linux,请从 Azure Data Studio 的命令面板运行“在 PATH 中安装 'azuredatastudio' 命令”。
安装扩展生成器
为了简化创建扩展的过程,已使用 Yeoman 构建了一个扩展生成器。 要安装它,请在命令提示符中运行以下代码:
npm install -g yo generator-azuredatastudio
创建键映射扩展
创建一个扩展:
用以下命令启动扩展生成器:
yo azuredatastudio
从扩展类型列表中选择“新键映射”:
按步骤填写扩展名称(对于本教程,请使用 ssmskeymap2)并添加描述。
完成前面的步骤后,系统会创建一个新文件夹。 在 Visual Studio Code 中打开该文件夹,然后便可创建自己的键绑定扩展了!
添加键盘快捷方式
步骤 1:查找要替换的快捷方式
现在已可创建扩展,请在 Azure Data Studio 中添加一些 SSMS 键盘快捷方式(或键绑定)。 我使用了 Andy Mallon 的 cheatsheet 和 RedGate 的键盘快捷方式列表来获取灵感。
我发现遗漏了一些重要内容:
- 运行查询,并启用实际的执行计划。 这是 SSMS 中的 Ctrl+M,并且在 Azure Data Studio 中没有绑定。
- 将 CTRL+SHIFT+E 作为运行查询的第二种方式。 用户反馈显示缺少此内容。
- 让 ALT+F1 运行
sp_help
。 我们在 Azure Data Studio 中添加了此项,但由于该绑定已在使用中,因此我们将其映射到 ALT+F2。 - 切换全屏 (SHIFT+ALT+ENTER)。
- F8,用于显示“对象资源管理器” / “服务器视图”。
可以轻松查找和替换这些键绑定。 运行“打开键盘快捷方式”以显示 Azure Data Studio 中的“键盘快捷方式”选项卡,搜索“查询”,然后选择“更改键绑定”。 更改完键绑定后,可以在 keybindings.json 文件中看到更新的映射(运行“打开键盘快捷方式”可查看该文件)。
步骤 2:向扩展添加快捷方式
若要向扩展添加快捷方式,请打开 package.json 文件(在扩展中),并将 contributes
部分替换为以下代码:
"contributes": {
"keybindings": [
{
"key": "shift+cmd+e",
"command": "runQueryKeyboardAction"
},
{
"key": "ctrl+cmd+e",
"command": "workbench.view.explorer"
},
{
"key": "alt+f1",
"command": "workbench.action.query.shortcut1"
},
{
"key": "shift+alt+enter",
"command": "workbench.action.toggleFullScreen"
},
{
"key": "f8",
"command": "workbench.view.connections"
},
{
"key": "ctrl+m",
"command": "runCurrentQueryWithActualPlanKeyboardAction"
}
]
}
测试扩展
在 Azure Data Studio 中,通过运行“在 PATH 中安装 azuredatastudio 命令”命令,确保 azuredatastudio
位于 PATH 中。
确保 Visual Studio Code 中安装了 Azure Data Studio 调试扩展。
选择“F5”,在调试模式下启动 Azure Data Studio 并运行扩展:
最快创建出来的扩展之一是键映射,新的扩展现应已成功运行并可进行共享了。
打包扩展
要与他人共享,需要将扩展集中打包到一个文件中。 这样可发布到 Azure Data Studio 扩展市场,或在团队或社区之间共享。 为此,需要从命令行安装另一个 npm 包:
npm install -g vsce
导航到扩展的基本目录,并运行 vsce package
。 我不得不额外添加了几行代码来阻止 vsce 工具发出错误消息:
"repository": {
"type": "git",
"url": "https://github.com/kevcunnane/ssmskeymap.git"
},
"bugs": {
"url": "https://github.com/kevcunnane/ssmskeymap/issues"
},
完成后,就生成了 ssmskeymap-0.1.0.vsix 文件,并已可进行安装和与全世界共享了!
将扩展发布到市场
Azure Data Studio 扩展市场正在构建中,但当前需要在某个位置(例如 GitHub 发布页面)托管扩展 VSIX,然后提交 PR,请求使用扩展信息更新此 JSON 文件。
后续步骤
在本教程中,你了解了如何执行以下操作:
- 创建一个扩展项目
- 安装扩展生成器
- 创建扩展
- 向扩展添加自定义键绑定
- 测试扩展
- 打包扩展
- 将扩展发布到市场
希望本教程能为你提供灵感,构建自己的 Azure Data Studio 扩展。 我们提供仪表板见解支持(针对 SQL Server 运行的很棒的图表)、一些特定于 SQL 的 API,以及从 Visual Studio Code 继承的大量现有扩展点。
如果有想法但不确定如何着手,请提出问题或在推特上 @azuredatastudio。
可持续参考 Visual Studio Code 扩展指南,因为它涵盖了所有现有 API 和模式。
若要了解如何在 Azure Data Studio 中使用 T-SQL,请完成 T-SQL 编辑器教程: