mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-06 09:35:41 -05:00
Merge from vscode 817eb6b0c720a4ecbc13c020afbbebfed667aa09 (#7356)
This commit is contained in:
@@ -5,6 +5,54 @@
|
||||
|
||||
import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
|
||||
import { Event } from 'vs/base/common/event';
|
||||
import { IExtensionIdentifier } from 'vs/platform/extensionManagement/common/extensionManagement';
|
||||
import { RawContextKey } from 'vs/platform/contextkey/common/contextkey';
|
||||
import { IStringDictionary } from 'vs/base/common/collections';
|
||||
import { Registry } from 'vs/platform/registry/common/platform';
|
||||
import { IConfigurationRegistry, Extensions as ConfigurationExtensions, ConfigurationScope } from 'vs/platform/configuration/common/configurationRegistry';
|
||||
import { localize } from 'vs/nls';
|
||||
|
||||
export function registerConfiguration() {
|
||||
Registry.as<IConfigurationRegistry>(ConfigurationExtensions.Configuration)
|
||||
.registerConfiguration({
|
||||
id: 'userConfiguration',
|
||||
order: 30,
|
||||
title: localize('userConfiguration', "User Configuration"),
|
||||
type: 'object',
|
||||
properties: {
|
||||
'userConfiguration.enableSync': {
|
||||
type: 'boolean',
|
||||
description: localize('userConfiguration.enableSync', "When enabled, synchronises User Configuration: Settings, Keybindings, Extensions & Snippets."),
|
||||
default: true,
|
||||
scope: ConfigurationScope.APPLICATION
|
||||
},
|
||||
'userConfiguration.syncExtensions': {
|
||||
type: 'boolean',
|
||||
description: localize('userConfiguration.syncExtensions', "When enabled extensions are synchronised while synchronising user configuration."),
|
||||
default: true,
|
||||
scope: ConfigurationScope.APPLICATION,
|
||||
},
|
||||
'userConfiguration.ignoreSettings': {
|
||||
'type': 'object',
|
||||
description: localize('userConfiguration.ignoreSettings', "Configure settings to be ignored while syncing"),
|
||||
'default': {
|
||||
'userConfiguration.enableSync': true,
|
||||
'userConfiguration.syncExtensions': true,
|
||||
'userConfiguration.ignoreSettings': true
|
||||
},
|
||||
'scope': ConfigurationScope.APPLICATION,
|
||||
'additionalProperties': {
|
||||
'anyOf': [
|
||||
{
|
||||
'type': 'boolean',
|
||||
'description': localize('ignoredSetting', "Id of the stting to be ignored. Set to true or false to enable or disable."),
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
export interface IUserData {
|
||||
ref: string;
|
||||
@@ -40,12 +88,18 @@ export interface IUserDataSyncStoreService {
|
||||
write(key: string, content: string, ref: string | null): Promise<string>;
|
||||
}
|
||||
|
||||
export enum SyncSource {
|
||||
export interface ISyncExtension {
|
||||
identifier: IExtensionIdentifier;
|
||||
version?: string;
|
||||
enabled: boolean;
|
||||
}
|
||||
|
||||
export const enum SyncSource {
|
||||
Settings = 1,
|
||||
Extensions
|
||||
}
|
||||
|
||||
export enum SyncStatus {
|
||||
export const enum SyncStatus {
|
||||
Uninitialized = 'uninitialized',
|
||||
Idle = 'idle',
|
||||
Syncing = 'syncing',
|
||||
@@ -66,6 +120,9 @@ export const IUserDataSyncService = createDecorator<IUserDataSyncService>('IUser
|
||||
export interface IUserDataSyncService extends ISynchroniser {
|
||||
_serviceBrand: any;
|
||||
readonly conflictsSource: SyncSource | null;
|
||||
|
||||
getRemoteExtensions(): Promise<ISyncExtension[]>;
|
||||
removeExtension(identifier: IExtensionIdentifier): Promise<void>;
|
||||
}
|
||||
|
||||
export const ISettingsMergeService = createDecorator<ISettingsMergeService>('ISettingsMergeService');
|
||||
@@ -74,6 +131,10 @@ export interface ISettingsMergeService {
|
||||
|
||||
_serviceBrand: undefined;
|
||||
|
||||
merge(localContent: string, remoteContent: string, baseContent: string | null): Promise<{ mergeContent: string, hasChanges: boolean, hasConflicts: boolean }>;
|
||||
merge(localContent: string, remoteContent: string, baseContent: string | null, ignoredSettings: IStringDictionary<boolean>): Promise<{ mergeContent: string, hasChanges: boolean, hasConflicts: boolean }>;
|
||||
|
||||
computeRemoteContent(localContent: string, remoteContent: string, ignoredSettings: IStringDictionary<boolean>): Promise<string>;
|
||||
|
||||
}
|
||||
|
||||
export const CONTEXT_SYNC_STATE = new RawContextKey<string>('syncStatus', SyncStatus.Uninitialized);
|
||||
|
||||
Reference in New Issue
Block a user