HBuilderX 插件开发使用

隐身守侯 提交于 2021-01-03 17:04:25

插件扩展能做什么?

HBuilderX的插件是基于nodejs的,所有nodejs api都可以使用,如文件操作,调用其他node命令。

除此之外,HBuilderX提供内置的js API(与vscode兼容),可以定制很多HBuilderX的功能和界面,

  • 添加新的菜单
  • 添加新的命令及快捷键
  • 扩展新的代码块
  • 添加新的视图视图,某些在界面上方的项目管理器旁边新增加一个“ TODO”视图
  • 对文档进行各种编辑,增删改写文字内容,操作光标和选区
  • 对文档进行校验
  • 在控制台打印日志,操作状态栏消息,投放各种提示框和选择框

注意:插件是运行在单独的内部插件进程的,插件进程是一个node.js进程,通过进程间rpc通信和HBuilderX进行接口调用。因此插件可以使用node本身所有的api。目前集成的node版本为:v8.10.0。

如何开发一个插件?

  • 快速开始章节将告诉你怎么新建和运行一个插件。
  • 开发指南章节包括详细的插件能力教程
  • 插件发布告诉你如何将开发好的插件发布到插件市场
  • 参考文档包含最新的插件API和配置扩展点列表

如何注册命令

命令指的是在插件中注册的自定义功能,命令触发时将调用该功能。注册一个新的命令分为2个步骤:

1。在package.json中通过commands配置扩展点声明该命令,相关代码如下:

 "contributes": { "commands": [{ "command": "extension.helloWorld", "title": "Hello World" }] }复制到剪贴板错误复制的

2。在插件激活的时候通过API hx.commands.registerCommand或hx.commands.registerTextEditorCommand来实现上述声明的命令,注意命令标识一定要一致。相关代码如下:

 let disposable = hx.commands.registerCommand('extension.helloWorld', () => { //do something }); context.subscriptions.push(disposable)

如何注册菜单

菜单的英文扩展通过配置扩展点来注册的,一般要关联一个命令。扩展方式是在的package.json中contributes节点下增加menus。扩展点相关代码如下:

 "contributes": { "menus": { "editor/context": [ { "command": "extension.helloWorld", "group": "z_commands", "when": "editorTextFocus" }, { "group": "z_commands" } ] } }复制到剪贴板错误复制的

菜单扩展点详细的说明请参考这里菜单

更多说明查看官方文档: https://hx.dcloud.net.cn/menus

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!