随着加载项管理器加载项,您可以进行其他自定义,而以前需要手动编辑原始 XML。 此加载项还允许您自动访问所有加载项的自定义元数据属性。
自定义菜单项
您可以通过右键单击树中的顶级项目来更改主菜单(默认为加载项)。 您还可以更改要插入到同一菜单中的菜单项。 如果您正在使用现有的主菜单项(例如“分析”),并且希望将菜单项放置在特定位置(例如“Fit Y by X”之后),这将非常有用。

将主菜单更改为内置菜单
- 右键单击菜单项树中的顶部项目,然后选择“更改主菜单”。
- 在“更改主菜单”窗口中,从组合框中选择您想要放置菜单项的菜单。

- 如果“Insert After”属性中已设置值(并且上一个菜单是自定义菜单),系统将提示您将该属性更改为新值。 您在此处选择的项目将决定您的自定义菜单在主菜单栏中的放置位置。

如果系统未提示您输入“插入后”值,则可以右键单击菜单项树中的顶部项目,然后选择“更改插入后”以更新此值。
- 重建您的加载项并安装。 您的加载项菜单项现在将显示在选定的主菜单中指定的菜单项之后,如下所示。

将主菜单更改为自定义菜单
- 右键单击菜单项树中的顶部项目,然后选择“更改主菜单”。
- 在“更改主菜单”窗口中,从组合框中选择“自定义”,然后在文本编辑框中键入所需菜单的名称,如下所示。

- 如果“Insert After”属性中已经设置了一个值(并且上一个菜单是内置菜单),系统将提示您将该属性更改为新值。 您在此处选择的项目将决定您的自定义菜单在主菜单栏中的放置位置。
如果系统未提示您输入“插入后”值,则可以右键单击菜单项树中的顶部项目,然后选择“更改插入后”以更新此值。
- 重建您的加载项并安装。 您的加载项菜单项现在将显示在自定义主菜单中指定的主菜单之后,如下所示。

在单个加载项中使用多个主菜单
使用加载项管理器,您现在可以创建一个加载项,在多个不同的主菜单中创建多个菜单项。 如果您要创建一个执行适合不同区域的多个任务的加载项,这可能会很有用。 例如,数据表实用程序加载项可能会调用带有“表”、“行”和/或“列”菜单的菜单项。
- 要将附加主菜单添加到加载项,请单击“菜单项”选项卡上“菜单项树”旁边的红色三角形菜单,然后选择“添加顶级主菜单”。

接下来,选择您希望新菜单代表的主菜单,如以上部分所示。 下面,我添加了两个额外的主菜单。
- 添加所有所需的主菜单及其包含的菜单项后,构建加载项并在多个主菜单中查看三个菜单项。

菜单项的内置 JMP 图标
就像在加载项生成器中所做的那样,在加载项管理器中,您可以为菜单项指定自定义图标文件。 但是,在加载项管理器中,您还可以选择一个内置图标显示在菜单项旁边。
- 在“菜单项”选项卡上,选择一个命令,然后单击“图标”部分中的“选择”按钮。
- 选择您想要使用的图标,然后单击“确定”。

- 您将在菜单项树中看到图标的预览。

- 构建并安装加载项后,您将在菜单项旁边看到内置图标。

如果您想在加载项中使用这些图标中的任何一个,请查看我的内置 JMP 图标加入。
自定义元数据
自定义元数据可以以关联数组的形式包含在您的外接程序中。 关联数组将写入加载项顶级文件夹中的“customMetadata.jsl”文件。 查看脚本索引(帮助 > 脚本索引)以获取使用示例。
包含的元数据
下面是由加载项管理器自动管理的所有键/值对的列表。 不要在您自己的自定义元数据中使用任何这些键。
钥匙
|
价值
|
数据类型
|
插件版本
|
%版本
|
数字
|
构建日期
|
%构建日期
|
数字
|
ID
|
%ID
|
特点
|
已部署的插件文件名
|
仓库表文件名.jmp
|
特点
|
已部署的AddinsLoc
|
/路径/到/addin/depot/表
|
特点
|
姓名
|
%姓名
|
特点
|
状态
|
“开发”或“测试”或“产品”
|
特点
|
添加新的自定义元数据
可以通过单击“自定义元数据”选项卡(在“常规信息”选项卡中)上表格旁边的绿色加号图标来添加自定义元数据。
在加载项中使用自定义元数据
下面是一个示例“customMetadata.jsl”脚本,其中包含名为“author”的自定义元数据键。
Associative Array(
List(
List( "addinVersion", 2 ),
List( "author", "Justin Chilton" ),
List( "buildDate", 3594195289 ),
List( "deployedAddinsFilename", "publishedAddins.jsl" ),
List( "deployedAddinsLoc", "\\server\share\Add-In Depot\Meta\" ),
List( "id", "com.jmp.juchil.myjmpaddin" ),
List( "name", "My JMP Add-In" ),
List( "state", "DEV" )
)
)
可以使用以下 include 语句将关联数组导入到您的外接程序中(将“com.jmp.myaddin”替换为您的外接程序的 ID 后)。
aa = Include( "$ADDIN_HOME(com.jmp.myaddin)\customMetadata.jsl" );
导入关联数组后,您可以使用以下语法来引用值:
aa["author"]
这篇博文是由三部分组成的系列文章中的第三部分,介绍了如何定义并构建加载项,向用户部署加载项,并在加载项管理器中进行高级自定义。我希望你能找到我的插件管理器插件很有用!