mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-16 02:48:30 -05:00
Merge from vscode 2c306f762bf9c3db82dc06c7afaa56ef46d72f79 (#14050)
* Merge from vscode 2c306f762bf9c3db82dc06c7afaa56ef46d72f79 * Fix breaks * Extension management fixes * Fix breaks in windows bundling * Fix/skip failing tests * Update distro * Add clear to nuget.config * Add hygiene task * Bump distro * Fix hygiene issue * Add build to hygiene exclusion * Update distro * Update hygiene * Hygiene exclusions * Update tsconfig * Bump distro for server breaks * Update build config * Update darwin path * Add done calls to notebook tests * Skip failing tests * Disable smoke tests
This commit is contained in:
@@ -13,12 +13,12 @@ import { IURLCallbackProvider } from 'vs/workbench/services/url/browser/urlServi
|
||||
import { LogLevel } from 'vs/platform/log/common/log';
|
||||
import { IUpdateProvider, IUpdate } from 'vs/workbench/services/update/browser/updateService';
|
||||
import { Event, Emitter } from 'vs/base/common/event';
|
||||
import { Disposable, IDisposable } from 'vs/base/common/lifecycle';
|
||||
import { Disposable, IDisposable, toDisposable } from 'vs/base/common/lifecycle';
|
||||
import { IWorkspaceProvider, IWorkspace } from 'vs/workbench/services/host/browser/browserHostService';
|
||||
import { CommandsRegistry } from 'vs/platform/commands/common/commands';
|
||||
import { IProductConfiguration } from 'vs/platform/product/common/productService';
|
||||
import { mark } from 'vs/base/common/performance';
|
||||
import { ICredentialsProvider } from 'vs/platform/credentials/common/credentials';
|
||||
import { ICredentialsProvider } from 'vs/workbench/services/credentials/common/credentials';
|
||||
|
||||
interface IResourceUriProvider {
|
||||
(uri: URI): URI;
|
||||
@@ -52,7 +52,7 @@ interface ITunnelProvider {
|
||||
}
|
||||
|
||||
interface ITunnelFactory {
|
||||
(tunnelOptions: ITunnelOptions): Promise<ITunnel> | undefined;
|
||||
(tunnelOptions: ITunnelOptions, tunnelCreationOptions: TunnelCreationOptions): Promise<ITunnel> | undefined;
|
||||
}
|
||||
|
||||
interface ITunnelOptions {
|
||||
@@ -66,6 +66,13 @@ interface ITunnelOptions {
|
||||
label?: string;
|
||||
}
|
||||
|
||||
export interface TunnelCreationOptions {
|
||||
/**
|
||||
* True when the local operating system will require elevation to use the requested local port.
|
||||
*/
|
||||
elevationRequired?: boolean;
|
||||
}
|
||||
|
||||
interface ITunnel extends IDisposable {
|
||||
remoteAddress: { port: number, host: string };
|
||||
|
||||
@@ -153,7 +160,6 @@ enum ColorScheme {
|
||||
HIGH_CONTRAST = 'hc'
|
||||
}
|
||||
|
||||
|
||||
interface IInitialColorTheme {
|
||||
|
||||
/**
|
||||
@@ -218,10 +224,6 @@ interface IDefaultEditor {
|
||||
}
|
||||
|
||||
interface IDefaultLayout {
|
||||
/** @deprecated Use views instead (TODO@eamodio remove eventually) */
|
||||
readonly sidebar?: IDefaultSideBarLayout;
|
||||
/** @deprecated Use views instead (TODO@eamodio remove eventually) */
|
||||
readonly panel?: IDefaultPanelLayout;
|
||||
readonly views?: IDefaultView[];
|
||||
readonly editors?: IDefaultEditor[];
|
||||
}
|
||||
@@ -235,6 +237,21 @@ interface IProductQualityChangeHandler {
|
||||
(newQuality: 'insider' | 'stable'): void;
|
||||
}
|
||||
|
||||
/**
|
||||
* Settings sync options
|
||||
*/
|
||||
interface ISettingsSyncOptions {
|
||||
/**
|
||||
* Is settings sync enabled
|
||||
*/
|
||||
readonly enabled: boolean;
|
||||
|
||||
/**
|
||||
* Handler is being called when the user changes Settings Sync enablement.
|
||||
*/
|
||||
enablementHandler?(enablement: boolean): void;
|
||||
}
|
||||
|
||||
interface IWorkbenchConstructionOptions {
|
||||
|
||||
//#region Connection related configuration
|
||||
@@ -250,19 +267,17 @@ interface IWorkbenchConstructionOptions {
|
||||
*/
|
||||
readonly connectionToken?: string;
|
||||
|
||||
/**
|
||||
* Session id of the current authenticated user
|
||||
*
|
||||
* @deprecated Instead pass current authenticated user info through [credentialsProvider](#credentialsProvider)
|
||||
*/
|
||||
readonly authenticationSessionId?: string;
|
||||
|
||||
/**
|
||||
* An endpoint to serve iframe content ("webview") from. This is required
|
||||
* to provide full security isolation from the workbench host.
|
||||
*/
|
||||
readonly webviewEndpoint?: string;
|
||||
|
||||
/**
|
||||
* An URL pointing to the web worker extension host <iframe> src.
|
||||
*/
|
||||
readonly webWorkerExtensionHostIframeSrc?: string;
|
||||
|
||||
/**
|
||||
* A factory for web sockets.
|
||||
*/
|
||||
@@ -299,19 +314,20 @@ interface IWorkbenchConstructionOptions {
|
||||
*/
|
||||
readonly workspaceProvider?: IWorkspaceProvider;
|
||||
|
||||
/**
|
||||
* The user data provider is used to handle user specific application
|
||||
* state like settings, keybindings, UI state (e.g. opened editors) and snippets.
|
||||
*/
|
||||
userDataProvider?: IFileSystemProvider;
|
||||
|
||||
/**
|
||||
* Enables Settings Sync by default.
|
||||
*
|
||||
* Syncs with the current authenticated user account (provided in [credentialsProvider](#credentialsProvider)) by default.
|
||||
*
|
||||
* @deprecated Instead use [settingsSyncOptions](#settingsSyncOptions) to enable/disable settings sync in the workbench.
|
||||
*/
|
||||
readonly enableSyncByDefault?: boolean;
|
||||
|
||||
/**
|
||||
* Settings sync options
|
||||
*/
|
||||
readonly settingsSyncOptions?: ISettingsSyncOptions;
|
||||
|
||||
/**
|
||||
* The credentials provider to store and retrieve secrets.
|
||||
*/
|
||||
@@ -322,12 +338,6 @@ interface IWorkbenchConstructionOptions {
|
||||
*/
|
||||
readonly staticExtensions?: ReadonlyArray<IStaticExtension>;
|
||||
|
||||
/**
|
||||
* [TEMPORARY]: This will be removed soon.
|
||||
* Service end-point hosting builtin extensions
|
||||
*/
|
||||
readonly builtinExtensionsServiceUrl?: string;
|
||||
|
||||
/**
|
||||
* [TEMPORARY]: This will be removed soon.
|
||||
* Enable inlined extensions.
|
||||
@@ -435,7 +445,8 @@ interface IWorkbenchConstructionOptions {
|
||||
interface IWorkbench {
|
||||
commands: {
|
||||
executeCommand(command: string, ...args: any[]): Promise<unknown>;
|
||||
}
|
||||
},
|
||||
shutdown: () => void;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -447,11 +458,10 @@ interface IWorkbench {
|
||||
let created = false;
|
||||
let workbenchPromiseResolve: Function;
|
||||
const workbenchPromise = new Promise<IWorkbench>(resolve => workbenchPromiseResolve = resolve);
|
||||
async function create(domElement: HTMLElement, options: IWorkbenchConstructionOptions): Promise<void> {
|
||||
function create(domElement: HTMLElement, options: IWorkbenchConstructionOptions): IDisposable {
|
||||
|
||||
// Mark start of workbench
|
||||
mark('didLoadWorkbenchMain');
|
||||
performance.mark('workbench-start');
|
||||
|
||||
// Assert that the workbench is not created more than once. We currently
|
||||
// do not support this and require a full context switch to clean-up.
|
||||
@@ -461,10 +471,6 @@ async function create(domElement: HTMLElement, options: IWorkbenchConstructionOp
|
||||
created = true;
|
||||
}
|
||||
|
||||
// Startup workbench and resolve waiters
|
||||
const workbench = await main(domElement, options);
|
||||
workbenchPromiseResolve(workbench);
|
||||
|
||||
// Register commands if any
|
||||
if (Array.isArray(options.commands)) {
|
||||
for (const command of options.commands) {
|
||||
@@ -475,6 +481,21 @@ async function create(domElement: HTMLElement, options: IWorkbenchConstructionOp
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
// Startup workbench and resolve waiters
|
||||
let instantiatedWorkbench: IWorkbench | undefined = undefined;
|
||||
main(domElement, options).then(workbench => {
|
||||
instantiatedWorkbench = workbench;
|
||||
workbenchPromiseResolve(workbench);
|
||||
});
|
||||
|
||||
return toDisposable(() => {
|
||||
if (instantiatedWorkbench) {
|
||||
instantiatedWorkbench.shutdown();
|
||||
} else {
|
||||
workbenchPromise.then(instantiatedWorkbench => instantiatedWorkbench.shutdown());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -541,6 +562,9 @@ export {
|
||||
// LogLevel
|
||||
LogLevel,
|
||||
|
||||
// SettingsSync
|
||||
ISettingsSyncOptions,
|
||||
|
||||
// Updates/Quality
|
||||
IUpdateProvider,
|
||||
IUpdate,
|
||||
|
||||
Reference in New Issue
Block a user