未验证 提交 a3febc56 编写于 作者: J Jackson Kearl 提交者: GitHub

Potential new formatter for userdata in serverless. (#114296)

* Potential new formatter for userdata in serverless.
Fixes #114234.

* Move userData formatter to userDataInit
Allow `priority` for fomratters without authorities

* Move formatting to web.main.ts

* Remove priority
上级 663532c3
......@@ -54,7 +54,7 @@ import { UserDataSyncStoreManagementService } from 'vs/platform/userDataSync/com
import { IUserDataSyncStoreManagementService } from 'vs/platform/userDataSync/common/userDataSync';
import { ILifecycleService } from 'vs/workbench/services/lifecycle/common/lifecycle';
import { Action2, MenuId, registerAction2 } from 'vs/platform/actions/common/actions';
import { ServicesAccessor } from 'vs/platform/instantiation/common/instantiation';
import { IInstantiationService, ServicesAccessor } from 'vs/platform/instantiation/common/instantiation';
import { localize } from 'vs/nls';
import { CATEGORIES } from 'vs/workbench/common/actions';
import { IDialogService } from 'vs/platform/dialogs/common/dialogs';
......@@ -63,6 +63,7 @@ import { IUriIdentityService } from 'vs/workbench/services/uriIdentity/common/ur
import { UriIdentityService } from 'vs/workbench/services/uriIdentity/common/uriIdentityService';
import { BrowserWindow } from 'vs/workbench/browser/window';
import { ITimerService } from 'vs/workbench/services/timer/browser/timerService';
import { ILabelService } from 'vs/platform/label/common/label';
class BrowserMain extends Disposable {
......@@ -111,6 +112,9 @@ class BrowserMain extends Disposable {
// Logging
services.logService.trace('workbench configuration', JSON.stringify(this.configuration));
// Label formatting
this.registerLabelFormatters(instantiationService);
// Return API Facade
return instantiationService.invokeFunction(accessor => {
const commandService = accessor.get(ICommandService);
......@@ -339,6 +343,19 @@ class BrowserMain extends Disposable {
}
}
private registerLabelFormatters(instantiationService: IInstantiationService) {
instantiationService.invokeFunction((accessor) => {
accessor.get(ILabelService).registerFormatter({
scheme: Schemas.userData,
priority: true,
formatting: {
label: '${scheme}:${path}',
separator: '/',
}
});
});
}
private async createStorageService(payload: IWorkspaceInitializationPayload, environmentService: IWorkbenchEnvironmentService, fileService: IFileService, logService: ILogService): Promise<BrowserStorageService> {
const storageService = new BrowserStorageService(environmentService, fileService);
......
......@@ -112,7 +112,7 @@ export class LabelService extends Disposable implements ILabelService {
this.formatters.forEach(formatter => {
if (formatter.scheme === resource.scheme) {
if (!bestResult && !formatter.authority) {
if (!formatter.authority && (!bestResult || formatter.priority)) {
bestResult = formatter;
return;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册