HBuilderX插件开发常见问题(通用篇)

HBuilderX的插件开发部分基本与vscode插件开发兼容,所以很多地方可以参考 vscode的插件开发

使用hx.window.createWebView创建窗口后,为什么不显示出来?

如果创建时候想立即显示出来,可以通过调用hx.window.showView方法来显示出来

为什么市场页面上HBuilderX最低兼容版本会渲染成不确定

这个是官方bug,如果只更新了REAMDE文件,就会触发这个问题

怎么配置插件的市场链接,像这样


市场链接不用配置,从市场安装的,在插件列表里会自动渲染市场链接地址,渲染显示文本为package.json#description

为什么插件函数执行没有反应/仿佛出错了,但控制台没有报错?

  • 有的错在运行时是不能够直接看到的,可以在运行时取消勾选仅显示...,这样错误可以看到错误的抛出(但也不是全部,当你怀疑有错,但又没有预期输出的时候,可以通过try进行捕获)。

控制台抛出错误乱码看不了?

有的时候在使用exec或者execSync的时候出现错误,控制台输出会是乱码,无法获取错误的有效信息。
只需要在相应代码的前面再加上一句execSync("chcp 65001")即可。显然,这还是那个乱码的老问题。

插件配置项怎么排序?

hx的插件配置项排序是按照配置的key决定的,如hx-my-plugin.configA会排在hx-my-plugin.setAsA前面。
强行改key的名字又非常别扭,那么可以通过加前缀的方式进行处理,分别改成如下即可按照需求顺序进行排序
hx-my-plugin.a_configAhx-my-plugin.b_setAsA

我写了很多个插件,怎么样让它们在插件配置里连续出现呢?

hx对于设置中的插件配置的排序是根据文件夹名称的,你在资源管理器里看到的按名称排序的,在hx配置里是一样的排序
如下,那几个test文件是以字母g开头的,排序在hbuilderx-extension-samples-master前面

在配置里也是在前面

怎么给插件增加配置文件入口呢?

这个需要在package.json里面进行相关字段的配置,主要有两部分内容:
一是package.json里面的两个configurationFiles和configurationFileInfos两个字段,另外一个就是准备一个要使用的配置文件
如图所示配置,同时插件根目录下还放了一个engines.customized.js文件

插件配置页就多了其对应的入口

注:配置文件的读取路径是 `${hx.env.appData}/extensions/${extensionId}/${fileName}`

怎么截图右键菜单

如果使用快捷键截图,会把弹出的菜单按没了。那么可以先右键弹出菜单,然后鼠标指针移到层叠菜单项上,这个时候再按快捷键就不会消失了。

when表达式正则为什么匹配不到?

运行时常用的一些位置变量都表示哪里?

  • process.cwd(): 这个是HBuilderX下的bin文件夹
  • __dirname: 哪个文件里写的,就是根据哪个文件来的

hx.window.showMessageBox 的宽度太小了怎么办?

showMessageBox虽然支持一部分的html和css内容,但窗体宽度整体上还是由内容撑开。
于是我们可以像下面这样写,定义一部分透明的部分组合起来就可以。

注:代码内为了视觉呈现效果,使用了数组拼接。没有使用多行字符串是因为showMessageBox对换行符敏感

未调整宽度前,窗体的title都显示不完全

调整后,宽度明显有了变化

添加其他插件依赖

如果当前插件的运行需要安装其他插件,可以通过配置 package.json#extensionDependencies 实现。
参考 Git Blame,此插件本身并没有注册什么右键菜单,但是下载安装后发现右键菜单里多了很多git操作的选项。
那是因为它依赖中配置了Git,于是在安装Git Blame的时候Git也自动安装了,在plugins目录下可以看到一个Git的文件夹。

posted @ 2024-04-01 11:20  彼时今日  阅读(157)  评论(0编辑  收藏  举报