本文整理匯總了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)));