本文整理汇总了TypeScript中vs/editor/common/modes.DocumentFormattingEditProviderRegistry.all方法的典型用法代码示例。如果您正苦于以下问题:TypeScript DocumentFormattingEditProviderRegistry.all方法的具体用法?TypeScript DocumentFormattingEditProviderRegistry.all怎么用?TypeScript DocumentFormattingEditProviderRegistry.all使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类vs/editor/common/modes.DocumentFormattingEditProviderRegistry
的用法示例。
在下文中一共展示了DocumentFormattingEditProviderRegistry.all方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: run
async run(accessor: ServicesAccessor, editor: ICodeEditor, args: any): Promise<void> {
if (!editor.hasModel()) {
return;
}
const commandService = accessor.get(ICommandService);
const viewletService = accessor.get(IViewletService);
const notificationService = accessor.get(INotificationService);
const model = editor.getModel();
const formatterCount = DocumentFormattingEditProviderRegistry.all(model).length;
if (formatterCount > 1) {
return commandService.executeCommand('editor.action.formatDocument.multiple');
} else if (formatterCount === 1) {
return commandService.executeCommand('editor.action.formatDocument');
} else {
const langName = model.getLanguageIdentifier().language;
const message = nls.localize('no.rovider', "There is no formatter for '{0}'-files installed.", langName);
const choice = {
label: nls.localize('install.formatter', "Install Formatter..."),
run: () => showExtensionQuery(viewletService, `category:formatters ${langName}`)
};
notificationService.prompt(Severity.Info, message, [choice]);
}
}