Merge from vscode fb5dc0083bfa9a0e3da7ed1f86e1ecb9836fcc8b

This commit is contained in:
ADS Merger
2020-03-13 05:35:18 +00:00
parent 7658a5df28
commit a7e56d334f
88 changed files with 1627 additions and 553 deletions

View File

@@ -55,7 +55,7 @@ export class CloseSidebarAction extends Action {
}
}
registry.registerWorkbenchAction(SyncActionDescriptor.create(CloseSidebarAction, CloseSidebarAction.ID, CloseSidebarAction.LABEL), 'View: Close Side Bar ', viewCategory);
registry.registerWorkbenchAction(SyncActionDescriptor.create(CloseSidebarAction, CloseSidebarAction.ID, CloseSidebarAction.LABEL), 'View: Close Side Bar', viewCategory);
// --- Toggle Activity Bar
@@ -237,7 +237,7 @@ MenuRegistry.appendMenuItem(MenuId.MenubarAppearanceMenu, {
export class ToggleEditorVisibilityAction extends Action {
static readonly ID = 'workbench.action.toggleEditorVisibility';
static readonly LABEL = nls.localize('toggleEditor', "Toggle Editor Area");
static readonly LABEL = nls.localize('toggleEditor', "Toggle Editor Area Visibility");
constructor(
id: string,

View File

@@ -3,9 +3,10 @@
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
.monaco-workbench .sidebar > .content {
/* Removed to allow progress bar positioning to escape */
/* .monaco-workbench .sidebar > .content {
overflow: hidden;
}
} */
.monaco-workbench.nosidebar > .part.sidebar {
display: none !important;

View File

@@ -28,10 +28,14 @@
margin-left: 7px;
}
.monaco-pane-view .pane > .pane-header .monaco-progress-container {
.monaco-pane-view .pane .monaco-progress-container {
position: absolute;
left: 0;
bottom: 0;
top: -2px;
z-index: 5;
height: 2px;
}
.monaco-pane-view .pane:not(.merged-header) .monaco-progress-container {
top: 20px;
}

View File

@@ -225,6 +225,15 @@ export abstract class ViewPane extends Pane implements IView {
this.viewWelcomeController = new ViewWelcomeController(this.id, contextKeyService);
}
get headerVisible(): boolean {
return super.headerVisible;
}
set headerVisible(visible: boolean) {
super.headerVisible = visible;
toggleClass(this.element, 'merged-header', !visible);
}
setVisible(visible: boolean): void {
if (this._isVisible !== visible) {
this._isVisible = visible;
@@ -294,13 +303,6 @@ export abstract class ViewPane extends Pane implements IView {
const onDidRelevantConfigurationChange = Event.filter(this.configurationService.onDidChangeConfiguration, e => e.affectsConfiguration(ViewPane.AlwaysShowActionsConfig));
this._register(onDidRelevantConfigurationChange(this.updateActionsVisibility, this));
this.updateActionsVisibility();
if (this.progressBar !== undefined) {
// Progress bar
this.progressBar = this._register(new ProgressBar(this.headerContainer));
this._register(attachProgressBarStyler(this.progressBar, this.themeService));
this.progressBar.hide();
}
}
protected renderTwisties(container: HTMLElement): void {
@@ -333,13 +335,9 @@ export abstract class ViewPane extends Pane implements IView {
}
getProgressIndicator() {
if (!this.headerContainer) {
return undefined;
}
if (this.progressBar === undefined) {
// Progress bar
this.progressBar = this._register(new ProgressBar(this.headerContainer));
this.progressBar = this._register(new ProgressBar(this.element));
this._register(attachProgressBarStyler(this.progressBar, this.themeService));
this.progressBar.hide();
}

View File

@@ -33,7 +33,6 @@ import { WorkspaceService } from 'vs/workbench/services/configuration/browser/co
import { ConfigurationCache } from 'vs/workbench/services/configuration/browser/configurationCache';
import { ISignService } from 'vs/platform/sign/common/sign';
import { SignService } from 'vs/platform/sign/browser/signService';
import { hash } from 'vs/base/common/hash';
import { IWorkbenchConstructionOptions, IWorkspace } from 'vs/workbench/workbench.web.api';
import { FileUserDataProvider } from 'vs/workbench/services/userData/common/fileUserDataProvider';
import { BACKUPS } from 'vs/platform/environment/common/environment';
@@ -51,6 +50,7 @@ import { isWorkspaceToOpen, isFolderToOpen } from 'vs/platform/windows/common/wi
import { getWorkspaceIdentifier } from 'vs/workbench/services/workspaces/browser/workspaces';
import { coalesce } from 'vs/base/common/arrays';
import { InMemoryFileSystemProvider } from 'vs/platform/files/common/inMemoryFilesystemProvider';
import { WebResourceIdentityService, IResourceIdentityService } from 'vs/platform/resource/common/resourceIdentityService';
class BrowserMain extends Disposable {
@@ -157,7 +157,11 @@ class BrowserMain extends Disposable {
const logService = new BufferLogService(this.configuration.logLevel);
serviceCollection.set(ILogService, logService);
const payload = this.resolveWorkspaceInitializationPayload();
// Resource Identity
const resourceIdentityService = this._register(new WebResourceIdentityService());
serviceCollection.set(IResourceIdentityService, resourceIdentityService);
const payload = await this.resolveWorkspaceInitializationPayload(resourceIdentityService);
// Environment
const environmentService = new BrowserWorkbenchEnvironmentService({ workspaceId: payload.id, logsPath, ...this.configuration });
@@ -292,7 +296,7 @@ class BrowserMain extends Disposable {
}
}
private resolveWorkspaceInitializationPayload(): IWorkspaceInitializationPayload {
private async resolveWorkspaceInitializationPayload(resourceIdentityService: IResourceIdentityService): Promise<IWorkspaceInitializationPayload> {
let workspace: IWorkspace | undefined = undefined;
if (this.configuration.workspaceProvider) {
workspace = this.configuration.workspaceProvider.workspace;
@@ -305,7 +309,8 @@ class BrowserMain extends Disposable {
// Single-folder workspace
if (workspace && isFolderToOpen(workspace)) {
return { id: hash(workspace.folderUri.toString()).toString(16), folder: workspace.folderUri };
const id = await resourceIdentityService.resolveResourceIdentity(workspace.folderUri);
return { id, folder: workspace.folderUri };
}
return { id: 'empty-window' };

View File

@@ -335,6 +335,7 @@ export class Workbench extends Layout {
addClasses(this.container, ...workbenchClasses);
addClass(document.body, platformClass); // used by our fonts
this.container.setAttribute('role', 'application');
if (isWeb) {
addClass(document.body, 'web');