本文整理汇总了TypeScript中vs/platform/plugins/common/pluginsRegistry.IPluginsMessageCollector类的典型用法代码示例。如果您正苦于以下问题:TypeScript IPluginsMessageCollector类的具体用法?TypeScript IPluginsMessageCollector怎么用?TypeScript IPluginsMessageCollector使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了IPluginsMessageCollector类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: scanPlugin
/**
* Scan the plugin defined in `absoluteFolderPath`
*/
public static scanPlugin(
version: string,
collector: IPluginsMessageCollector,
absoluteFolderPath:string,
isBuiltin:boolean
) : TPromise<IPluginDescription>
{
absoluteFolderPath = paths.normalize(absoluteFolderPath);
let builder = collector.scopeTo(absoluteFolderPath);
let absoluteManifestPath = paths.join(absoluteFolderPath, MANIFEST_FILE);
return pfs.readFile(absoluteManifestPath).then((manifestContents) => {
let errors: string[] = [];
let pluginDescFromFile: IPluginDescription = json.parse(manifestContents.toString(), errors);
if (errors.length > 0) {
errors.forEach((error) => {
builder.error('Failed to parse ' + absoluteManifestPath + ': ' + error);
});
return null;
}
return pluginDescFromFile;
}).then((pluginDescFromFile) => {
if (pluginDescFromFile === null) {
return null;
}
pluginDescFromFile.isBuiltin = isBuiltin;
let notices: string[] = [];
if (!isValidPluginDescription(version, absoluteFolderPath, pluginDescFromFile, notices)) {
notices.forEach((error) => {
builder.error(error);
});
return null;
}
// in this case the notices are warnings
notices.forEach((error) => {
builder.warn(error);
});
// id := `publisher.name`
pluginDescFromFile.id = `${ pluginDescFromFile.publisher }.${ pluginDescFromFile.name }`;
// main := absolutePath(`main`)
if (pluginDescFromFile.main) {
pluginDescFromFile.main = paths.normalize(paths.join(absoluteFolderPath, pluginDescFromFile.main));
}
pluginDescFromFile.extensionFolderPath = absoluteFolderPath;
return pluginDescFromFile;
}, (err) => {
builder.error('Cannot read file ' + absoluteManifestPath + ': ' + err.message);
return null;
});
}
示例2: scanPlugin
/**
* Scan the plugin defined in `absoluteFolderPath`
*/
public static scanPlugin(
version: string,
collector: IPluginsMessageCollector,
absoluteFolderPath:string,
isBuiltin:boolean
) : TPromise<IPluginDescription>
{
absoluteFolderPath = paths.normalize(absoluteFolderPath);
let builder = collector.scopeTo(absoluteFolderPath);
let absoluteManifestPath = paths.join(absoluteFolderPath, MANIFEST_FILE);
return pfs.readFile(absoluteManifestPath).then((manifestContents) => {
let errors: string[] = [];
let pluginDescFromFile: IPluginDescription = json.parse(manifestContents.toString(), errors);
if (errors.length > 0) {
errors.forEach((error) => {
builder.error('Failed to parse ' + absoluteManifestPath + ': ' + error);
});
return null;
}
// This is a workaround to enable Salsa and avoid TS extension loading
// for JavaScript (see https://github.com/Microsoft/vscode/issues/2225)
if (pluginDescFromFile.name === 'typescript' && pluginDescFromFile.publisher === 'vscode' && (!!process.env['CODE_TSJS'] || !!process.env['VSCODE_TSJS'])) {
pluginDescFromFile.activationEvents = pluginDescFromFile.activationEvents || [];
if (pluginDescFromFile.activationEvents.indexOf('onLanguage:javascript') === -1) {
pluginDescFromFile.activationEvents.push('onLanguage:javascript');
}
if (pluginDescFromFile.activationEvents.indexOf('onLanguage:javascriptreact') === -1) {
pluginDescFromFile.activationEvents.push('onLanguage:javascriptreact');
}
}
return pluginDescFromFile;
}).then((pluginDescFromFile) => {
if (pluginDescFromFile === null) {
return null;
}
pluginDescFromFile.isBuiltin = isBuiltin;
let notices: string[] = [];
if (!isValidPluginDescription(version, absoluteFolderPath, pluginDescFromFile, notices)) {
notices.forEach((error) => {
builder.error(error);
});
return null;
}
// in this case the notices are warnings
notices.forEach((error) => {
builder.warn(error);
});
// id := `publisher.name`
pluginDescFromFile.id = `${ pluginDescFromFile.publisher }.${ pluginDescFromFile.name }`;
// main := absolutePath(`main`)
if (pluginDescFromFile.main) {
pluginDescFromFile.main = paths.normalize(paths.join(absoluteFolderPath, pluginDescFromFile.main));
}
pluginDescFromFile.extensionFolderPath = absoluteFolderPath;
return pluginDescFromFile;
}, (err) => {
builder.error('Cannot read file ' + absoluteManifestPath + ': ' + err.message);
return null;
});
}
示例3:
}, (err) => {
collector.error(absoluteFolderPath, err);
return [];
});
示例4:
}, (err) => {
collector.error(absoluteFolderPath, err);
return [];
}).then((results) => results.filter(item => (item !== null)));