diff --git a/src/sql/base/browser/ui/dropdownList/dropdownList.ts b/src/sql/base/browser/ui/dropdownList/dropdownList.ts index d5f2634aa9..8ccc0a1de5 100644 --- a/src/sql/base/browser/ui/dropdownList/dropdownList.ts +++ b/src/sql/base/browser/ui/dropdownList/dropdownList.ts @@ -15,6 +15,7 @@ import { StandardKeyboardEvent } from 'vs/base/browser/keyboardEvent'; import { KeyCode } from 'vs/base/common/keyCodes'; import { Button, IButtonStyles } from 'sql/base/browser/ui/button/button'; +import { onUnexpectedError } from 'vs/base/common/errors'; export interface IDropdownStyles { backgroundColor?: Color; @@ -42,14 +43,14 @@ export class DropdownList extends Dropdown { this.button = new Button(_contentContainer); this.button.label = action.label; this._register(DOM.addDisposableListener(this.button.element, DOM.EventType.CLICK, () => { - action.run(); + action.run().catch(e => onUnexpectedError(e)); this.hide(); })); this._register(DOM.addDisposableListener(this.button.element, DOM.EventType.KEY_DOWN, (e: KeyboardEvent) => { let event = new StandardKeyboardEvent(e); if (event.equals(KeyCode.Enter)) { e.stopPropagation(); - action.run(); + action.run().catch(e => onUnexpectedError(e)); this.hide(); } })); diff --git a/src/sql/base/browser/ui/taskbar/actionbar.ts b/src/sql/base/browser/ui/taskbar/actionbar.ts index 86ae2de834..822f72a65f 100644 --- a/src/sql/base/browser/ui/taskbar/actionbar.ts +++ b/src/sql/base/browser/ui/taskbar/actionbar.ts @@ -13,6 +13,7 @@ import { import * as lifecycle from 'vs/base/common/lifecycle'; import * as DOM from 'vs/base/browser/dom'; import * as types from 'vs/base/common/types'; +import { onUnexpectedError } from 'vs/base/common/errors'; const defaultOptions: IActionBarOptions = { orientation: ActionsOrientation.HORIZONTAL, @@ -344,7 +345,7 @@ export class ActionBar extends ActionRunner implements IActionRunner { let actionItem = this._items[this._focusedItem]; if (actionItem instanceof BaseActionViewItem) { const context = (actionItem._context === null || actionItem._context === undefined) ? event : actionItem._context; - this.run(actionItem._action, context); + this.run(actionItem._action, context).catch(e => onUnexpectedError(e)); } } diff --git a/src/sql/base/parts/editableDropdown/browser/dropdown.ts b/src/sql/base/parts/editableDropdown/browser/dropdown.ts index f93b1c6421..d22f327064 100644 --- a/src/sql/base/parts/editableDropdown/browser/dropdown.ts +++ b/src/sql/base/parts/editableDropdown/browser/dropdown.ts @@ -22,6 +22,7 @@ import { StandardKeyboardEvent } from 'vs/base/browser/keyboardEvent'; import { KeyCode } from 'vs/base/common/keyCodes'; import { Tree } from 'vs/base/parts/tree/browser/treeImpl'; import { ITree } from 'vs/base/parts/tree/browser/tree'; +import { onUnexpectedError } from 'vs/base/common/errors'; export interface IDropdownOptions extends IDropdownStyles { /** @@ -260,7 +261,7 @@ export class Dropdown extends Disposable { this._treeContainer.style.height = height + 'px'; this._treeContainer.style.width = DOM.getContentWidth(this._inputContainer) - 2 + 'px'; this._tree.layout(parseInt(this._treeContainer.style.height)); - this._tree.refresh(); + this._tree.refresh().catch(e => onUnexpectedError(e)); } } @@ -272,7 +273,7 @@ export class Dropdown extends Disposable { this._treeContainer.style.height = height + 'px'; this._treeContainer.style.width = DOM.getContentWidth(this._inputContainer) - 2 + 'px'; this._tree.layout(parseInt(this._treeContainer.style.height)); - this._tree.setInput(new DropdownModel()); + this._tree.setInput(new DropdownModel()).catch(e => onUnexpectedError(e)); this._input.validate(); } } diff --git a/src/sql/workbench/common/enablePreviewFeatures.ts b/src/sql/workbench/common/enablePreviewFeatures.ts index 69454c96d1..2313d4c804 100644 --- a/src/sql/workbench/common/enablePreviewFeatures.ts +++ b/src/sql/workbench/common/enablePreviewFeatures.ts @@ -22,7 +22,7 @@ export abstract class AbstractEnablePreviewFeatures implements IWorkbenchContrib @IConfigurationService private readonly configurationService: IConfigurationService ) { } - protected async handlePreviewFeatures(): Promise { + protected handlePreviewFeatures(): void { let previewFeaturesEnabled = this.configurationService.getValue('workbench')['enablePreviewFeatures']; if (previewFeaturesEnabled || this.storageService.get(AbstractEnablePreviewFeatures.ENABLE_PREVIEW_FEATURES_SHOWN, StorageScope.GLOBAL)) { return; @@ -30,11 +30,11 @@ export abstract class AbstractEnablePreviewFeatures implements IWorkbenchContrib Promise.all([ this.hostService.hasFocus, this.getWindowCount() - ]).then(([focused, count]) => { + ]).then(async ([focused, count]) => { if (!focused && count > 1) { return null; } - this.configurationService.updateValue('workbench.enablePreviewFeatures', false); + await this.configurationService.updateValue('workbench.enablePreviewFeatures', false); const enablePreviewFeaturesNotice = localize('enablePreviewFeatures.notice', "Preview features are required in order for extensions to be fully supported and for some actions to be available. Would you like to enable preview features?"); this.notificationService.prompt( @@ -43,25 +43,24 @@ export abstract class AbstractEnablePreviewFeatures implements IWorkbenchContrib [{ label: localize('enablePreviewFeatures.yes', "Yes"), run: () => { - this.configurationService.updateValue('workbench.enablePreviewFeatures', true); + this.configurationService.updateValue('workbench.enablePreviewFeatures', true).catch(e => onUnexpectedError(e)); this.storageService.store(AbstractEnablePreviewFeatures.ENABLE_PREVIEW_FEATURES_SHOWN, true, StorageScope.GLOBAL); } }, { label: localize('enablePreviewFeatures.no', "No"), run: () => { - this.configurationService.updateValue('workbench.enablePreviewFeatures', false); + this.configurationService.updateValue('workbench.enablePreviewFeatures', false).catch(e => onUnexpectedError(e)); } }, { label: localize('enablePreviewFeatures.never', "No, don't show again"), run: () => { - this.configurationService.updateValue('workbench.enablePreviewFeatures', false); + this.configurationService.updateValue('workbench.enablePreviewFeatures', false).catch(e => onUnexpectedError(e)); this.storageService.store(AbstractEnablePreviewFeatures.ENABLE_PREVIEW_FEATURES_SHOWN, true, StorageScope.GLOBAL); }, isSecondary: true }] ); - }) - .then(null, onUnexpectedError); + }).catch(e => onUnexpectedError(e)); } protected abstract getWindowCount(): Promise;