Merge from vscode a5cf1da01d5db3d2557132be8d30f89c38019f6c (#8525)

* Merge from vscode a5cf1da01d5db3d2557132be8d30f89c38019f6c

* remove files we don't want

* fix hygiene

* update distro

* update distro

* fix hygiene

* fix strict nulls

* distro

* distro

* fix tests

* fix tests

* add another edit

* fix viewlet icon

* fix azure dialog

* fix some padding

* fix more padding issues
This commit is contained in:
Anthony Dresser
2019-12-04 19:28:22 -08:00
committed by GitHub
parent a8818ab0df
commit f5ce7fb2a5
1507 changed files with 42813 additions and 27370 deletions

View File

@@ -9,7 +9,7 @@ import { IAction } from 'vs/base/common/actions';
import * as DOM from 'vs/base/browser/dom';
import { IActionViewItem } from 'vs/base/browser/ui/actionbar/actionbar';
import { ViewContainerViewlet } from 'vs/workbench/browser/parts/views/viewsViewlet';
import { IDebugService, VIEWLET_ID, State, BREAKPOINTS_VIEW_ID, IDebugConfiguration, REPL_ID } from 'vs/workbench/contrib/debug/common/debug';
import { IDebugService, VIEWLET_ID, State, BREAKPOINTS_VIEW_ID, IDebugConfiguration, REPL_ID, CONTEXT_DEBUG_UX, CONTEXT_DEBUG_UX_KEY } from 'vs/workbench/contrib/debug/common/debug';
import { StartAction, ConfigureAction, SelectAndStartAction, FocusSessionAction } from 'vs/workbench/contrib/debug/browser/debugActions';
import { StartDebugActionViewItem, FocusSessionActionViewItem } from 'vs/workbench/contrib/debug/browser/debugActionViewItems';
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
@@ -26,20 +26,21 @@ import { memoize } from 'vs/base/common/decorators';
import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
import { DebugToolBar } from 'vs/workbench/contrib/debug/browser/debugToolBar';
import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
import { ViewletPanel } from 'vs/workbench/browser/parts/views/panelViewlet';
import { ViewletPane } from 'vs/workbench/browser/parts/views/paneViewlet';
import { IMenu, MenuId, IMenuService, MenuItemAction } from 'vs/platform/actions/common/actions';
import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey';
import { MenuEntryActionViewItem } from 'vs/platform/actions/browser/menuEntryActionViewItem';
import { INotificationService } from 'vs/platform/notification/common/notification';
import { TogglePanelAction } from 'vs/workbench/browser/panel';
import { IPanelService } from 'vs/workbench/services/panel/common/panelService';
import { StartView } from 'vs/workbench/contrib/debug/browser/startView';
export class DebugViewlet extends ViewContainerViewlet {
private startDebugActionViewItem: StartDebugActionViewItem | undefined;
private progressResolve: (() => void) | undefined;
private breakpointView: ViewletPanel | undefined;
private panelListeners = new Map<string, IDisposable>();
private breakpointView: ViewletPane | undefined;
private paneListeners = new Map<string, IDisposable>();
private debugToolBarMenu: IMenu | undefined;
private disposeOnTitleUpdate: IDisposable | undefined;
@@ -61,10 +62,16 @@ export class DebugViewlet extends ViewContainerViewlet {
@IContextKeyService private readonly contextKeyService: IContextKeyService,
@INotificationService private readonly notificationService: INotificationService
) {
super(VIEWLET_ID, `${VIEWLET_ID}.state`, false, configurationService, layoutService, telemetryService, storageService, instantiationService, themeService, contextMenuService, extensionService, contextService);
super(VIEWLET_ID, `${VIEWLET_ID}.state`, true, configurationService, layoutService, telemetryService, storageService, instantiationService, themeService, contextMenuService, extensionService, contextService);
this._register(this.debugService.onDidChangeState(state => this.onDebugServiceStateChange(state)));
this._register(this.debugService.onDidNewSession(() => this.updateToolBar()));
this._register(this.contextKeyService.onDidChangeContext(e => {
if (e.affectsSome(new Set(CONTEXT_DEBUG_UX_KEY))) {
this.updateTitleArea();
}
}));
this._register(this.contextService.onDidChangeWorkbenchState(() => this.updateTitleArea()));
this._register(this.configurationService.onDidChangeConfiguration(e => {
if (e.affectsConfiguration('debug.toolBarLocation')) {
@@ -83,6 +90,8 @@ export class DebugViewlet extends ViewContainerViewlet {
if (this.startDebugActionViewItem) {
this.startDebugActionViewItem.focus();
} else {
this.focusView(StartView.ID);
}
}
@@ -107,6 +116,9 @@ export class DebugViewlet extends ViewContainerViewlet {
}
getActions(): IAction[] {
if (CONTEXT_DEBUG_UX.getValue(this.contextKeyService) === 'simple') {
return [];
}
if (this.showInitialDebugActions) {
return [this.startAction, this.configureAction, this.toggleReplAction];
}
@@ -181,32 +193,32 @@ export class DebugViewlet extends ViewContainerViewlet {
}
}
addPanels(panels: { panel: ViewletPanel, size: number, index?: number }[]): void {
super.addPanels(panels);
addPanes(panes: { pane: ViewletPane, size: number, index?: number }[]): void {
super.addPanes(panes);
for (const { panel } of panels) {
for (const { pane: pane } of panes) {
// attach event listener to
if (panel.id === BREAKPOINTS_VIEW_ID) {
this.breakpointView = panel;
if (pane.id === BREAKPOINTS_VIEW_ID) {
this.breakpointView = pane;
this.updateBreakpointsMaxSize();
} else {
this.panelListeners.set(panel.id, panel.onDidChange(() => this.updateBreakpointsMaxSize()));
this.paneListeners.set(pane.id, pane.onDidChange(() => this.updateBreakpointsMaxSize()));
}
}
}
removePanels(panels: ViewletPanel[]): void {
super.removePanels(panels);
for (const panel of panels) {
dispose(this.panelListeners.get(panel.id));
this.panelListeners.delete(panel.id);
removePanes(panes: ViewletPane[]): void {
super.removePanes(panes);
for (const pane of panes) {
dispose(this.paneListeners.get(pane.id));
this.paneListeners.delete(pane.id);
}
}
private updateBreakpointsMaxSize(): void {
if (this.breakpointView) {
// We need to update the breakpoints view since all other views are collapsed #25384
const allOtherCollapsed = this.panels.every(view => !view.isExpanded() || view === this.breakpointView);
const allOtherCollapsed = this.panes.every(view => !view.isExpanded() || view === this.breakpointView);
this.breakpointView.maximumBodySize = allOtherCollapsed ? Number.POSITIVE_INFINITY : this.breakpointView.minimumBodySize;
}
}
@@ -220,6 +232,6 @@ class ToggleReplAction extends TogglePanelAction {
@IWorkbenchLayoutService layoutService: IWorkbenchLayoutService,
@IPanelService panelService: IPanelService
) {
super(id, label, REPL_ID, panelService, layoutService, 'debug-action toggle-repl');
super(id, label, REPL_ID, panelService, layoutService, 'debug-action codicon-terminal');
}
}