括号扩展 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 的扩展属性,以及下一步所需的数据,包括名称和扩展路径。

这里重要的部分是,我们必须检查 installInforegistryInfo 属性是否存在。如果安装了插件,则安装信息存在,如果它不是本机的,而是下载的模块,则存在 registryInfo。

installInfo.path下我们可以找到扩展文件夹的路径,通过添加“/package.json”,我们可以得到主清单文件,其中包含所有扩展信息 - 版本、存储库等