mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-03-31 09:10:30 -04:00
Merge from vscode 2cfc8172e533e50c90e6a3152f6bfb1f82f963f3 (#6516)
* Merge from vscode 2cfc8172e533e50c90e6a3152f6bfb1f82f963f3 * fix tests
This commit is contained in:
@@ -452,13 +452,12 @@ export class KeybindingsEditor extends BaseEditor implements IKeybindingsEditor
|
||||
|
||||
private createList(parent: HTMLElement): void {
|
||||
this.keybindingsListContainer = DOM.append(parent, $('.keybindings-list-container'));
|
||||
this.keybindingsList = this._register(this.instantiationService.createInstance(WorkbenchList, this.keybindingsListContainer, new Delegate(), [new KeybindingItemRenderer(this, this.instantiationService)],
|
||||
{
|
||||
identityProvider: { getId: (e: IListEntry) => e.id },
|
||||
ariaLabel: localize('keybindingsLabel', "Keybindings"),
|
||||
setRowLineHeight: false,
|
||||
horizontalScrolling: false
|
||||
})) as WorkbenchList<IListEntry>;
|
||||
this.keybindingsList = this._register(this.instantiationService.createInstance(WorkbenchList, this.keybindingsListContainer, new Delegate(), [new KeybindingItemRenderer(this, this.instantiationService)], {
|
||||
identityProvider: { getId: (e: IListEntry) => e.id },
|
||||
ariaLabel: localize('keybindingsLabel', "Keybindings"),
|
||||
setRowLineHeight: false,
|
||||
horizontalScrolling: false
|
||||
}));
|
||||
this._register(this.keybindingsList.onContextMenu(e => this.onContextMenu(e)));
|
||||
this._register(this.keybindingsList.onFocusChange(e => this.onFocusChange(e)));
|
||||
this._register(this.keybindingsList.onDidFocus(() => {
|
||||
|
||||
@@ -13,7 +13,7 @@ import * as nls from 'vs/nls';
|
||||
import { MenuId, MenuRegistry, SyncActionDescriptor } from 'vs/platform/actions/common/actions';
|
||||
import { CommandsRegistry } from 'vs/platform/commands/common/commands';
|
||||
import { ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey';
|
||||
import { WorkbenchStateContext, RemoteAuthorityContext, IsMacNativeContext } from 'vs/workbench/browser/contextkeys';
|
||||
import { WorkbenchStateContext, IsMacNativeContext, RemoteNameContext } from 'vs/workbench/browser/contextkeys';
|
||||
import { IWorkbenchEnvironmentService } from 'vs/workbench/services/environment/common/environmentService';
|
||||
import { SyncDescriptor } from 'vs/platform/instantiation/common/descriptors';
|
||||
import { IInstantiationService, ServicesAccessor } from 'vs/platform/instantiation/common/instantiation';
|
||||
@@ -424,7 +424,7 @@ class PreferencesActionsContribution extends Disposable implements IWorkbenchCon
|
||||
title: { value: label, original: `Open Remote Settings (${hostLabel})` },
|
||||
category: { value: nls.localize('preferencesCategory', "Preferences"), original: 'Preferences' }
|
||||
},
|
||||
when: RemoteAuthorityContext.notEqualsTo('')
|
||||
when: RemoteNameContext.notEqualsTo('')
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
@@ -548,8 +548,11 @@ class PreferencesRenderersController extends Disposable {
|
||||
const targetKey = resource.toString();
|
||||
if (!this._prefsModelsForSearch.has(targetKey)) {
|
||||
try {
|
||||
const model = this._register(await this.preferencesService.createPreferencesEditorModel(resource));
|
||||
this._prefsModelsForSearch.set(targetKey, <ISettingsEditorModel>model);
|
||||
const model = await this.preferencesService.createPreferencesEditorModel(resource);
|
||||
if (model) {
|
||||
this._register(model);
|
||||
this._prefsModelsForSearch.set(targetKey, <ISettingsEditorModel>model);
|
||||
}
|
||||
} catch (e) {
|
||||
// Will throw when the settings file doesn't exist.
|
||||
return undefined;
|
||||
@@ -1116,16 +1119,19 @@ abstract class AbstractSettingsEditorContribution extends Disposable implements
|
||||
private _updatePreferencesRenderer(associatedPreferencesModelUri: URI): Promise<IPreferencesRenderer<ISetting> | null> {
|
||||
return this.preferencesService.createPreferencesEditorModel<ISetting>(associatedPreferencesModelUri)
|
||||
.then(associatedPreferencesEditorModel => {
|
||||
return this.preferencesRendererCreationPromise!.then(preferencesRenderer => {
|
||||
if (preferencesRenderer) {
|
||||
const associatedPreferencesModel = preferencesRenderer.getAssociatedPreferencesModel();
|
||||
if (associatedPreferencesModel) {
|
||||
associatedPreferencesModel.dispose();
|
||||
if (associatedPreferencesEditorModel) {
|
||||
return this.preferencesRendererCreationPromise!.then(preferencesRenderer => {
|
||||
if (preferencesRenderer) {
|
||||
const associatedPreferencesModel = preferencesRenderer.getAssociatedPreferencesModel();
|
||||
if (associatedPreferencesModel) {
|
||||
associatedPreferencesModel.dispose();
|
||||
}
|
||||
preferencesRenderer.setAssociatedPreferencesModel(associatedPreferencesEditorModel);
|
||||
}
|
||||
preferencesRenderer.setAssociatedPreferencesModel(associatedPreferencesEditorModel);
|
||||
}
|
||||
return preferencesRenderer;
|
||||
});
|
||||
return preferencesRenderer;
|
||||
});
|
||||
}
|
||||
return null;
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1193,12 +1199,14 @@ class SettingsEditorContribution extends AbstractSettingsEditorContribution impl
|
||||
}
|
||||
|
||||
protected _createPreferencesRenderer(): Promise<IPreferencesRenderer<ISetting> | null> | null {
|
||||
if (this.isSettingsModel()) {
|
||||
return this.preferencesService.createPreferencesEditorModel(this.editor.getModel()!.uri)
|
||||
const model = this.editor.getModel();
|
||||
if (model) {
|
||||
return this.preferencesService.createPreferencesEditorModel(model.uri)
|
||||
.then<any>(settingsModel => {
|
||||
if (settingsModel instanceof SettingsEditorModel && this.editor.getModel()) {
|
||||
switch (settingsModel.configurationTarget) {
|
||||
case ConfigurationTarget.USER_LOCAL:
|
||||
case ConfigurationTarget.USER_REMOTE:
|
||||
return this.instantiationService.createInstance(UserSettingsRenderer, this.editor, settingsModel);
|
||||
case ConfigurationTarget.WORKSPACE:
|
||||
return this.instantiationService.createInstance(WorkspaceSettingsRenderer, this.editor, settingsModel);
|
||||
@@ -1217,31 +1225,6 @@ class SettingsEditorContribution extends AbstractSettingsEditorContribution impl
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private isSettingsModel(): boolean {
|
||||
const model = this.editor.getModel();
|
||||
if (!model) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (this.preferencesService.userSettingsResource && this.preferencesService.userSettingsResource.toString() === model.uri.toString()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (this.preferencesService.workspaceSettingsResource && this.preferencesService.workspaceSettingsResource.toString() === model.uri.toString()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
for (const folder of this.workspaceContextService.getWorkspace().folders) {
|
||||
const folderSettingsResource = this.preferencesService.getFolderSettingsResource(folder.uri);
|
||||
if (folderSettingsResource && folderSettingsResource.toString() === model.uri.toString()) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
registerEditorContribution(SettingsEditorContribution);
|
||||
|
||||
@@ -19,7 +19,7 @@ import { IModelDeltaDecoration, TrackedRangeStickiness } from 'vs/editor/common/
|
||||
import { ModelDecorationOptions } from 'vs/editor/common/model/textModel';
|
||||
import * as nls from 'vs/nls';
|
||||
import { ConfigurationTarget, IConfigurationService, overrideIdentifierFromKey } from 'vs/platform/configuration/common/configuration';
|
||||
import { ConfigurationScope, Extensions as ConfigurationExtensions, IConfigurationPropertySchema, IConfigurationRegistry, IConfigurationNode } from 'vs/platform/configuration/common/configurationRegistry';
|
||||
import { ConfigurationScope, Extensions as ConfigurationExtensions, IConfigurationPropertySchema, IConfigurationRegistry, IConfigurationNode, OVERRIDE_PROPERTY_PATTERN } from 'vs/platform/configuration/common/configurationRegistry';
|
||||
import { IContextMenuService } from 'vs/platform/contextview/browser/contextView';
|
||||
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
|
||||
import { Registry } from 'vs/platform/registry/common/platform';
|
||||
@@ -960,9 +960,15 @@ class UnsupportedSettingsRenderer extends Disposable {
|
||||
private settingsEditorModel: SettingsEditorModel,
|
||||
@IMarkerService private markerService: IMarkerService,
|
||||
@IWorkbenchEnvironmentService private workbenchEnvironmentService: IWorkbenchEnvironmentService,
|
||||
@IConfigurationService private configurationService: IConfigurationService,
|
||||
) {
|
||||
super();
|
||||
this._register(this.editor.getModel()!.onDidChangeContent(() => this.renderingDelayer.trigger(() => this.render())));
|
||||
this._register(this.editor.getModel()!.onDidChangeContent(() => this.delayedRender()));
|
||||
this._register(Event.filter(this.configurationService.onDidChangeConfiguration, e => e.source === ConfigurationTarget.DEFAULT)(() => this.delayedRender()));
|
||||
}
|
||||
|
||||
private delayedRender(): void {
|
||||
this.renderingDelayer.trigger(() => this.render());
|
||||
}
|
||||
|
||||
public render(): void {
|
||||
@@ -996,14 +1002,11 @@ class UnsupportedSettingsRenderer extends Disposable {
|
||||
this.handleWorkspaceFolderConfiguration(setting, configuration, markerData);
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
} else if (!OVERRIDE_PROPERTY_PATTERN.test(setting.key)) { // Ignore override settings (language specific settings)
|
||||
markerData.push({
|
||||
severity: MarkerSeverity.Hint,
|
||||
tags: [MarkerTag.Unnecessary],
|
||||
startLineNumber: setting.keyRange.startLineNumber,
|
||||
startColumn: setting.keyRange.startColumn,
|
||||
endLineNumber: setting.valueRange.endLineNumber,
|
||||
endColumn: setting.valueRange.endColumn,
|
||||
...setting.range,
|
||||
message: nls.localize('unknown configuration setting', "Unknown Configuration Setting")
|
||||
});
|
||||
}
|
||||
@@ -1018,10 +1021,7 @@ class UnsupportedSettingsRenderer extends Disposable {
|
||||
markerData.push({
|
||||
severity: MarkerSeverity.Hint,
|
||||
tags: [MarkerTag.Unnecessary],
|
||||
startLineNumber: setting.keyRange.startLineNumber,
|
||||
startColumn: setting.keyRange.startColumn,
|
||||
endLineNumber: setting.valueRange.endLineNumber,
|
||||
endColumn: setting.valueRange.endColumn,
|
||||
...setting.range,
|
||||
message: nls.localize('unsupportedRemoteMachineSetting', "This setting can be applied only in remote machine settings")
|
||||
});
|
||||
}
|
||||
@@ -1056,10 +1056,7 @@ class UnsupportedSettingsRenderer extends Disposable {
|
||||
markerData.push({
|
||||
severity: MarkerSeverity.Hint,
|
||||
tags: [MarkerTag.Unnecessary],
|
||||
startLineNumber: setting.keyRange.startLineNumber,
|
||||
startColumn: setting.keyRange.startColumn,
|
||||
endLineNumber: setting.valueRange.endLineNumber,
|
||||
endColumn: setting.valueRange.endColumn,
|
||||
...setting.range,
|
||||
message: nls.localize('unsupportedWindowSetting', "This setting cannot be applied now. It will be applied when you open this folder directly.")
|
||||
});
|
||||
}
|
||||
@@ -1069,10 +1066,7 @@ class UnsupportedSettingsRenderer extends Disposable {
|
||||
return {
|
||||
severity: MarkerSeverity.Hint,
|
||||
tags: [MarkerTag.Unnecessary],
|
||||
startLineNumber: setting.keyRange.startLineNumber,
|
||||
startColumn: setting.keyRange.startColumn,
|
||||
endLineNumber: setting.keyRange.endLineNumber,
|
||||
endColumn: setting.keyRange.endColumn,
|
||||
...setting.range,
|
||||
message: nls.localize('unsupportedApplicationSetting', "This setting can be applied only in application user settings")
|
||||
};
|
||||
}
|
||||
@@ -1081,10 +1075,7 @@ class UnsupportedSettingsRenderer extends Disposable {
|
||||
return {
|
||||
severity: MarkerSeverity.Hint,
|
||||
tags: [MarkerTag.Unnecessary],
|
||||
startLineNumber: setting.keyRange.startLineNumber,
|
||||
startColumn: setting.keyRange.startColumn,
|
||||
endLineNumber: setting.valueRange.endLineNumber,
|
||||
endColumn: setting.valueRange.endColumn,
|
||||
...setting.range,
|
||||
message: nls.localize('unsupportedMachineSetting', "This setting can be applied only in user settings")
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user