括号扩展 api
Brackets extensions api
我的第一个问题:)
我正在尝试开发一个 Brackets Extension,它可以在其他 PC 之间同步所有已安装的扩展。重点是,我无法获得诸如版本、原始仓库的 url 等信息。
我正在使用 ExtensionManager api,但扩展字段仅提供如下信息(例如 "JSLint" 扩展的数据:
{"installInfo":
{"metadata":
{"name":"JSLint",
"title":"JSLint"},
"path":"C:/(...)/default/JSLint",
"locationType":"default",
"status":"enabled"}
}
我想一定有一些模型扩展功能,可以附加我寻找的信息。(括号肯定隐藏在某个地方,因为本机扩展管理器有所有这些关键数据 - 调试没有太大帮助: ( )
好的,我找到了解决办法。
ExtensionsManager.downloadRegistry().done(function () {
for (var k in ExtensionsManager.extensions) {
if (ExtensionsManager.extensions[k].installInfo && ExtensionsManager.extensions[k].registryInfo) {
FileSystem.resolve(ExtensionsManager.extensions[k].installInfo.path + "/package.json",
function (err, data) {
if (!err) {
FileUtils.readAsText(data).done(function (dt) {
var lt = JSON.parse(dt);
/** -----> **lt** <--------- **/
// all info about extension is in lt variable
});
}
});
}
}
})
一些解释:
ExtensionManager 负责扩展及其相关信息,它有一个名为 downloadRegistry[=29= 的方法].此方法只是填充注册表信息 - 已安装的插件、可供下载的插件、本机扩展等。
方法returns 一个承诺,在解析后,填充 ExtensionsManager 的扩展属性,以及下一步所需的数据,包括名称和扩展路径。
这里重要的部分是,我们必须检查 installInfo 和 registryInfo 属性是否存在。如果安装了插件,则安装信息存在,如果它不是本机的,而是下载的模块,则存在 registryInfo。
在installInfo.path下我们可以找到扩展文件夹的路径,通过添加“/package.json”,我们可以得到主清单文件,其中包含所有扩展信息 - 版本、存储库等
我的第一个问题:)
我正在尝试开发一个 Brackets Extension,它可以在其他 PC 之间同步所有已安装的扩展。重点是,我无法获得诸如版本、原始仓库的 url 等信息。
我正在使用 ExtensionManager api,但扩展字段仅提供如下信息(例如 "JSLint" 扩展的数据:
{"installInfo":
{"metadata":
{"name":"JSLint",
"title":"JSLint"},
"path":"C:/(...)/default/JSLint",
"locationType":"default",
"status":"enabled"}
}
我想一定有一些模型扩展功能,可以附加我寻找的信息。(括号肯定隐藏在某个地方,因为本机扩展管理器有所有这些关键数据 - 调试没有太大帮助: ( )
好的,我找到了解决办法。
ExtensionsManager.downloadRegistry().done(function () {
for (var k in ExtensionsManager.extensions) {
if (ExtensionsManager.extensions[k].installInfo && ExtensionsManager.extensions[k].registryInfo) {
FileSystem.resolve(ExtensionsManager.extensions[k].installInfo.path + "/package.json",
function (err, data) {
if (!err) {
FileUtils.readAsText(data).done(function (dt) {
var lt = JSON.parse(dt);
/** -----> **lt** <--------- **/
// all info about extension is in lt variable
});
}
});
}
}
})
一些解释:
ExtensionManager 负责扩展及其相关信息,它有一个名为 downloadRegistry[=29= 的方法].此方法只是填充注册表信息 - 已安装的插件、可供下载的插件、本机扩展等。
方法returns 一个承诺,在解析后,填充 ExtensionsManager 的扩展属性,以及下一步所需的数据,包括名称和扩展路径。
这里重要的部分是,我们必须检查 installInfo 和 registryInfo 属性是否存在。如果安装了插件,则安装信息存在,如果它不是本机的,而是下载的模块,则存在 registryInfo。
在installInfo.path下我们可以找到扩展文件夹的路径,通过添加“/package.json”,我们可以得到主清单文件,其中包含所有扩展信息 - 版本、存储库等