Merge from vscode 4c9161a3f125f5a788aafa73a4ecfcb27dcfc319 (#9143)

* Merge from vscode 4c9161a3f125f5a788aafa73a4ecfcb27dcfc319

* minor spacing fix
This commit is contained in:
Anthony Dresser
2020-02-13 21:20:36 -06:00
committed by GitHub
parent 0c56d44e4f
commit 71375808b9
57 changed files with 706 additions and 510 deletions

View File

@@ -19,6 +19,7 @@ import { FuzzyScore, createMatches } from 'vs/base/common/filters';
import { LinkDetector } from 'vs/workbench/contrib/debug/browser/linkDetector';
import { ReplEvaluationResult } from 'vs/workbench/contrib/debug/common/replModel';
import { once } from 'vs/base/common/functional';
import { ViewPane } from 'vs/workbench/browser/parts/views/viewPaneContainer';
export const MAX_VALUE_RENDER_LENGTH_IN_VIEWLET = 1024;
export const twistiePixels = 20;
@@ -232,3 +233,11 @@ export abstract class AbstractExpressionsRenderer implements ITreeRenderer<IExpr
templateData.toDispose.dispose();
}
}
export abstract class BaseDebugViewPane extends ViewPane {
render(): void {
super.render();
dom.addClass(this.element, 'debug-pane');
}
}

View File

@@ -28,13 +28,14 @@ import { attachInputBoxStyler } from 'vs/platform/theme/common/styler';
import { isCodeEditor } from 'vs/editor/browser/editorBrowser';
import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
import { IEditorService, SIDE_GROUP, ACTIVE_GROUP } from 'vs/workbench/services/editor/common/editorService';
import { ViewPane, IViewPaneOptions } from 'vs/workbench/browser/parts/views/viewPaneContainer';
import { IViewPaneOptions } from 'vs/workbench/browser/parts/views/viewPaneContainer';
import { ILabelService } from 'vs/platform/label/common/label';
import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey';
import { Gesture } from 'vs/base/browser/touch';
import { IViewDescriptorService } from 'vs/workbench/common/views';
import { TextEditorSelectionRevealType } from 'vs/platform/editor/common/editor';
import { IOpenerService } from 'vs/platform/opener/common/opener';
import { BaseDebugViewPane } from 'vs/workbench/contrib/debug/browser/baseDebugView';
const $ = dom.$;
@@ -53,7 +54,7 @@ export function getExpandedBodySize(model: IDebugModel): number {
return Math.min(MAX_VISIBLE_BREAKPOINTS, length) * 22;
}
export class BreakpointsView extends ViewPane {
export class BreakpointsView extends BaseDebugViewPane {
private list!: WorkbenchList<IEnablement>;
private needsRefresh = false;
@@ -153,12 +154,6 @@ export class BreakpointsView extends ViewPane {
this.onBreakpointsChange();
}
}));
this._register(this.viewDescriptorService.onDidChangeLocation(({ views, from, to }) => {
if (views.some(v => v.id === this.id)) {
this.list.updateOptions({ overrideStyles: { listBackground: this.getBackgroundColor() } });
}
}));
}
public focus(): void {

View File

@@ -13,12 +13,12 @@ import { IContextMenuService } from 'vs/platform/contextview/browser/contextView
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
import { MenuId, IMenu, IMenuService } from 'vs/platform/actions/common/actions';
import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
import { renderViewTree } from 'vs/workbench/contrib/debug/browser/baseDebugView';
import { renderViewTree, BaseDebugViewPane } from 'vs/workbench/contrib/debug/browser/baseDebugView';
import { IAction, Action } from 'vs/base/common/actions';
import { IEditorService } from 'vs/workbench/services/editor/common/editorService';
import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
import { IContextKey, IContextKeyService } from 'vs/platform/contextkey/common/contextkey';
import { IViewPaneOptions, ViewPane } from 'vs/workbench/browser/parts/views/viewPaneContainer';
import { IViewPaneOptions } from 'vs/workbench/browser/parts/views/viewPaneContainer';
import { ILabelService } from 'vs/platform/label/common/label';
import { IAccessibilityProvider } from 'vs/base/browser/ui/list/listWidget';
import { createAndFillInContextMenuActions } from 'vs/platform/actions/browser/menuEntryActionViewItem';
@@ -74,7 +74,7 @@ export function getContextForContributedActions(element: CallStackItem | null):
return '';
}
export class CallStackView extends ViewPane {
export class CallStackView extends BaseDebugViewPane {
private pauseMessage!: HTMLSpanElement;
private pauseMessageLabel!: HTMLSpanElement;
private onCallStackChangeScheduler: RunOnceScheduler;
@@ -298,12 +298,6 @@ export class CallStackView extends ViewPane {
this.parentSessionToExpand.add(s.parentSession);
}
}));
this._register(this.viewDescriptorService.onDidChangeLocation(({ views, from, to }) => {
if (views.some(v => v.id === this.id)) {
this.tree.updateOptions({ overrideStyles: { listBackground: this.getBackgroundColor() } });
}
}));
}
layoutBody(height: number, width: number): void {

View File

@@ -165,7 +165,7 @@ export class DebugService implements IDebugService {
this.debugUx.set(!!(this.state !== State.Inactive || this.configurationManager.selectedConfiguration.name) ? 'default' : 'simple');
}));
this.toDispose.push(this.model.onDidChangeCallStack(() => {
const numberOfSessions = this.model.getSessions().length;
const numberOfSessions = this.model.getSessions().filter(s => !s.parentSession).length;
if (this.activity) {
this.activity.dispose();
}

View File

@@ -72,7 +72,7 @@ export class DebugTaskRunner {
await this.viewsService.openView(Constants.MARKERS_VIEW_ID);
return Promise.resolve(TaskRunResult.Failure);
}
if (onTaskErrors === 'cancel') {
if (onTaskErrors === 'abort') {
return Promise.resolve(TaskRunResult.Failure);
}
@@ -85,7 +85,7 @@ export class DebugTaskRunner {
? nls.localize('preLaunchTaskExitCode', "The preLaunchTask '{0}' terminated with exit code {1}.", taskLabel, taskSummary.exitCode)
: nls.localize('preLaunchTaskTerminated', "The preLaunchTask '{0}' terminated.", taskLabel);
const result = await this.dialogService.show(severity.Warning, message, [nls.localize('debugAnyway', "Debug Anyway"), nls.localize('showErrors', "Show Errors"), nls.localize('cancel', "Cancel")], {
const result = await this.dialogService.show(severity.Warning, message, [nls.localize('debugAnyway', "Debug Anyway"), nls.localize('showErrors', "Show Errors"), nls.localize('abort', "Abort")], {
checkbox: {
label: nls.localize('remember', "Remember my choice in user settings"),
},
@@ -94,12 +94,12 @@ export class DebugTaskRunner {
const debugAnyway = result.choice === 0;
const cancel = result.choice = 2;
const abort = result.choice === 2;
if (result.checkboxChecked) {
this.configurationService.updateValue('debug.onTaskErrors', result.choice === 0 ? 'debugAnyway' : cancel ? 'cancel' : 'showErrors');
this.configurationService.updateValue('debug.onTaskErrors', result.choice === 0 ? 'debugAnyway' : abort ? 'abort' : 'showErrors');
}
if (cancel) {
if (abort) {
return Promise.resolve(TaskRunResult.Failure);
}
if (debugAnyway) {

View File

@@ -7,12 +7,12 @@ import * as nls from 'vs/nls';
import * as dom from 'vs/base/browser/dom';
import { IViewletViewOptions } from 'vs/workbench/browser/parts/views/viewsViewlet';
import { normalize, isAbsolute, posix } from 'vs/base/common/path';
import { IViewPaneOptions, ViewPane } from 'vs/workbench/browser/parts/views/viewPaneContainer';
import { IViewPaneOptions } from 'vs/workbench/browser/parts/views/viewPaneContainer';
import { IContextMenuService } from 'vs/platform/contextview/browser/contextView';
import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
import { renderViewTree } from 'vs/workbench/contrib/debug/browser/baseDebugView';
import { renderViewTree, BaseDebugViewPane } from 'vs/workbench/contrib/debug/browser/baseDebugView';
import { IDebugSession, IDebugService, CONTEXT_LOADED_SCRIPTS_ITEM_TYPE } from 'vs/workbench/contrib/debug/common/debug';
import { Source } from 'vs/workbench/contrib/debug/common/debugSource';
import { IWorkspaceContextService, IWorkspaceFolder } from 'vs/platform/workspace/common/workspace';
@@ -402,7 +402,7 @@ function asTreeElement(item: BaseTreeItem, viewState?: IViewState): ITreeElement
};
}
export class LoadedScriptsView extends ViewPane {
export class LoadedScriptsView extends BaseDebugViewPane {
private treeContainer!: HTMLElement;
private loadedScriptsItemType: IContextKey<string>;
@@ -573,12 +573,6 @@ export class LoadedScriptsView extends ViewPane {
}
}));
this._register(this.viewDescriptorService.onDidChangeLocation(({ views, from, to }) => {
if (views.some(v => v.id === this.id)) {
this.tree.updateOptions({ overrideStyles: { listBackground: this.getBackgroundColor() } });
}
}));
// feature: expand all nodes when filtering (not when finding)
let viewState: IViewState | undefined;
this._register(this.tree.onDidChangeTypeFilterPattern(pattern => {

View File

@@ -5,7 +5,7 @@
/* Debug viewlet */
.debug-viewlet {
.debug-pane {
height: 100%;
}
@@ -13,27 +13,27 @@
height: 100%;
}
.debug-viewlet .debug-start-view {
.debug-pane .debug-start-view {
padding: 0 20px 0 20px;
}
.debug-viewlet .debug-start-view .monaco-button,
.debug-viewlet .debug-start-view .section {
.debug-pane .debug-start-view .monaco-button,
.debug-pane .debug-start-view .section {
margin-top: 20px;
}
.debug-viewlet .debug-start-view .top-section {
.debug-pane .debug-start-view .top-section {
margin-top: 10px;
}
.debug-viewlet .debug-start-view .monaco-button {
.debug-pane .debug-start-view .monaco-button {
max-width: 260px;
margin-left: auto;
margin-right: auto;
display: block;
}
.debug-viewlet .debug-start-view .click {
.debug-pane .debug-start-view .click {
cursor: pointer;
color: #007ACC;
}
@@ -87,7 +87,7 @@
/* Debug viewlet trees */
.debug-viewlet .line-number {
.debug-pane .line-number {
background: rgba(136, 136, 136, 0.3);
border-radius: 2px;
font-size: 0.9em;
@@ -95,29 +95,29 @@
line-height: 20px;
}
.debug-viewlet .monaco-list-row.selected .line-number,
.debug-viewlet .monaco-list-row.selected .thread > .state > .label,
.debug-viewlet .monaco-list-row.selected .session > .state > .label {
.debug-pane .monaco-list-row.selected .line-number,
.debug-pane .monaco-list-row.selected .thread > .state > .label,
.debug-pane .monaco-list-row.selected .session > .state > .label {
background-color: #ffffff;
color: #666;
}
.debug-viewlet .monaco-list:focus .monaco-list-row.selected.focused .codicon {
.debug-pane .monaco-list:focus .monaco-list-row.selected.focused .codicon {
color: inherit !important;
}
.debug-viewlet .disabled {
.debug-pane .disabled {
opacity: 0.65;
}
/* Call stack */
.debug-viewlet .debug-call-stack-title {
.debug-pane .debug-call-stack-title {
display: flex;
width: 100%;
}
.debug-viewlet .debug-call-stack-title > .pause-message {
.debug-pane .debug-call-stack-title > .pause-message {
flex: 1;
text-align: right;
text-overflow: ellipsis;
@@ -126,41 +126,41 @@
margin: 0px 10px;
}
.debug-viewlet .debug-call-stack-title > .pause-message > .label {
.debug-pane .debug-call-stack-title > .pause-message > .label {
border-radius: 3px;
padding: 1px 2px;
font-size: 9px;
}
.debug-viewlet .debug-call-stack-title > .pause-message > .label.exception {
.debug-pane .debug-call-stack-title > .pause-message > .label.exception {
background-color: #A31515;
color: rgb(255, 255, 255);
}
.vs-dark .debug-viewlet .debug-call-stack-title > .pause-message > .label.exception {
.vs-dark .debug-pane .debug-call-stack-title > .pause-message > .label.exception {
background-color: #6C2022;
color: inherit;
}
.hc-black .debug-viewlet .debug-call-stack-title > .pause-message > .label.exception {
.hc-black .debug-pane .debug-call-stack-title > .pause-message > .label.exception {
background-color: #6C2022;
color: inherit;
}
.debug-viewlet .debug-call-stack .thread,
.debug-viewlet .debug-call-stack .session {
.debug-pane .debug-call-stack .thread,
.debug-pane .debug-call-stack .session {
display: flex;
}
.debug-viewlet .debug-call-stack .thread > .name,
.debug-viewlet .debug-call-stack .session > .name {
.debug-pane .debug-call-stack .thread > .name,
.debug-pane .debug-call-stack .session > .name {
flex: 1;
overflow: hidden;
text-overflow: ellipsis;
}
.debug-viewlet .debug-call-stack .thread > .state,
.debug-viewlet .debug-call-stack .session > .state {
.debug-pane .debug-call-stack .thread > .state,
.debug-pane .debug-call-stack .session > .state {
text-align: right;
overflow: hidden;
text-overflow: ellipsis;
@@ -168,116 +168,116 @@
text-transform: uppercase;
}
.debug-viewlet .debug-call-stack .monaco-list-row:hover .state {
.debug-pane .debug-call-stack .monaco-list-row:hover .state {
display: none;
}
.debug-viewlet .debug-call-stack .monaco-list-row:hover .stack-frame.has-actions .file .line-number {
.debug-pane .debug-call-stack .monaco-list-row:hover .stack-frame.has-actions .file .line-number {
display: none;
}
.debug-viewlet .debug-call-stack .monaco-list-row .monaco-action-bar {
.debug-pane .debug-call-stack .monaco-list-row .monaco-action-bar {
display: none;
}
.debug-viewlet .debug-call-stack .monaco-list-row:hover .monaco-action-bar {
.debug-pane .debug-call-stack .monaco-list-row:hover .monaco-action-bar {
display: initial;
}
.monaco-workbench .debug-viewlet .debug-call-stack .monaco-action-bar .action-item > .action-label {
.monaco-workbench .debug-pane .debug-call-stack .monaco-action-bar .action-item > .action-label {
width: 16px;
height: 100%;
margin-right: 8px;
vertical-align: text-top;
}
.debug-viewlet .debug-call-stack .thread > .state > .label,
.debug-viewlet .debug-call-stack .session > .state > .label {
.debug-pane .debug-call-stack .thread > .state > .label,
.debug-pane .debug-call-stack .session > .state > .label {
background: rgba(136, 136, 136, 0.3);
border-radius: 2px;
font-size: 0.8em;
padding: 0 3px;
}
.debug-viewlet .debug-call-stack .stack-frame {
.debug-pane .debug-call-stack .stack-frame {
overflow: hidden;
text-overflow: ellipsis;
padding-right: 0.8em;
display: flex;
}
.debug-viewlet .debug-call-stack .stack-frame.label {
.debug-pane .debug-call-stack .stack-frame.label {
text-align: center;
font-style: italic;
}
.debug-viewlet .debug-call-stack .stack-frame .label {
.debug-pane .debug-call-stack .stack-frame .label {
flex: 1;
flex-shrink: 0;
min-width: fit-content;
min-width: -moz-fit-content;
}
.debug-viewlet .debug-call-stack .stack-frame.subtle {
.debug-pane .debug-call-stack .stack-frame.subtle {
font-style: italic;
}
.debug-viewlet .debug-call-stack .stack-frame.label > .file {
.debug-pane .debug-call-stack .stack-frame.label > .file {
display: none;
}
.debug-viewlet .debug-call-stack .stack-frame > .file {
.debug-pane .debug-call-stack .stack-frame > .file {
display: flex;
overflow: hidden;
flex-wrap: wrap;
justify-content: flex-end;
}
.debug-viewlet .debug-call-stack .stack-frame > .file > .line-number.unavailable {
.debug-pane .debug-call-stack .stack-frame > .file > .line-number.unavailable {
display: none;
}
.debug-viewlet .debug-call-stack .monaco-list-row:not(.selected) .stack-frame > .file {
.debug-pane .debug-call-stack .monaco-list-row:not(.selected) .stack-frame > .file {
color: rgba(108, 108, 108, 0.8);
}
.debug-viewlet .debug-call-stack .stack-frame > .file > .file-name {
.debug-pane .debug-call-stack .stack-frame > .file > .file-name {
overflow: hidden;
text-overflow: ellipsis;
margin-right: 0.8em;
}
.vs-dark .debug-viewlet .debug-call-stack .monaco-list-row:not(.selected) .stack-frame > .file {
.vs-dark .debug-pane .debug-call-stack .monaco-list-row:not(.selected) .stack-frame > .file {
color: rgba(204, 204, 204, 0.6);
}
.debug-viewlet .debug-call-stack .stack-frame > .file:not(:first-child) {
.debug-pane .debug-call-stack .stack-frame > .file:not(:first-child) {
margin-left: 0.8em;
}
.debug-viewlet .debug-call-stack .load-more {
.debug-pane .debug-call-stack .load-more {
font-style: italic;
text-align: center;
}
.debug-viewlet .debug-call-stack .show-more {
.debug-pane .debug-call-stack .show-more {
font-style: italic;
opacity: 0.35;
}
.debug-viewlet .debug-call-stack .error {
.debug-pane .debug-call-stack .error {
font-style: italic;
text-overflow: ellipsis;
overflow: hidden;
}
.debug-viewlet .debug-call-stack .monaco-list:focus .monaco-list-row.selected .codicon {
.debug-pane .debug-call-stack .monaco-list:focus .monaco-list-row.selected .codicon {
color: inherit !important;
}
/* Variables & Expression view */
.debug-viewlet .scope {
.debug-pane .scope {
font-weight: bold;
font-size: 11px;
}
@@ -295,7 +295,7 @@
100% { background-color: rgba(86, 156, 214, .2) }
}
.debug-viewlet .monaco-list-row .expression .value.changed {
.debug-pane .monaco-list-row .expression .value.changed {
padding: 2px;
margin: 4px;
border-radius: 4px;
@@ -305,67 +305,67 @@
animation-fill-mode: forwards;
}
.debug-viewlet .monaco-inputbox {
.debug-pane .monaco-inputbox {
width: 100%;
line-height: normal;
}
.debug-viewlet .inputBoxContainer {
.debug-pane .inputBoxContainer {
box-sizing: border-box;
flex-grow: 1;
}
.debug-viewlet .debug-watch .monaco-inputbox {
.debug-pane .debug-watch .monaco-inputbox {
font-family: var(--monaco-monospace-font);
}
.debug-viewlet .monaco-inputbox > .wrapper {
.debug-pane .monaco-inputbox > .wrapper {
height: 19px;
}
.debug-viewlet .monaco-inputbox > .wrapper > .input {
.debug-pane .monaco-inputbox > .wrapper > .input {
padding: 0px;
color: initial;
}
.debug-viewlet .watch-expression {
.debug-pane .watch-expression {
display: flex;
}
.debug-viewlet .watch-expression .expression {
.debug-pane .watch-expression .expression {
flex : 1;
}
.vs-dark .debug-viewlet .monaco-list-row .expression .value.changed {
.vs-dark .debug-pane .monaco-list-row .expression .value.changed {
animation-name: debugViewletValueChanged;
}
/* Breakpoints */
.debug-viewlet .monaco-list-row {
.debug-pane .monaco-list-row {
line-height: 22px;
}
.debug-viewlet .debug-breakpoints .monaco-list-row .breakpoint {
.debug-pane .debug-breakpoints .monaco-list-row .breakpoint {
padding-left: 2px;
}
.debug-viewlet .debug-breakpoints .breakpoint.exception {
.debug-pane .debug-breakpoints .breakpoint.exception {
padding-left: 20px;
}
.debug-viewlet .debug-breakpoints .breakpoint {
.debug-pane .debug-breakpoints .breakpoint {
display: flex;
padding-right: 0.8em;
flex: 1;
align-items: center;
}
.debug-viewlet .debug-breakpoints .breakpoint input {
.debug-pane .debug-breakpoints .breakpoint input {
flex-shrink: 0;
}
.debug-viewlet .debug-breakpoints .breakpoint > .codicon {
.debug-pane .debug-breakpoints .breakpoint > .codicon {
width: 19px;
height: 19px;
min-width: 19px;
@@ -374,7 +374,7 @@
justify-content: center;
}
.debug-viewlet .debug-breakpoints .breakpoint > .file-path {
.debug-pane .debug-breakpoints .breakpoint > .file-path {
opacity: 0.7;
font-size: 0.9em;
margin-left: 0.8em;
@@ -383,7 +383,7 @@
overflow: hidden;
}
.debug-viewlet .debug-breakpoints .breakpoint .name {
.debug-pane .debug-breakpoints .breakpoint .name {
overflow: hidden;
text-overflow: ellipsis
}

View File

@@ -12,12 +12,12 @@ import { IDebugService, IExpression, IScope, CONTEXT_VARIABLES_FOCUSED, IViewMod
import { Variable, Scope } from 'vs/workbench/contrib/debug/common/debugModel';
import { IContextMenuService } from 'vs/platform/contextview/browser/contextView';
import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
import { renderViewTree, renderVariable, IInputBoxOptions, AbstractExpressionsRenderer, IExpressionTemplateData } from 'vs/workbench/contrib/debug/browser/baseDebugView';
import { renderViewTree, renderVariable, IInputBoxOptions, AbstractExpressionsRenderer, IExpressionTemplateData, BaseDebugViewPane } from 'vs/workbench/contrib/debug/browser/baseDebugView';
import { IAction, Action } from 'vs/base/common/actions';
import { CopyValueAction } from 'vs/workbench/contrib/debug/browser/debugActions';
import { Separator } from 'vs/base/browser/ui/actionbar/actionbar';
import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
import { IViewPaneOptions, ViewPane } from 'vs/workbench/browser/parts/views/viewPaneContainer';
import { IViewPaneOptions } from 'vs/workbench/browser/parts/views/viewPaneContainer';
import { IAccessibilityProvider } from 'vs/base/browser/ui/list/listWidget';
import { IListVirtualDelegate } from 'vs/base/browser/ui/list/list';
import { ITreeRenderer, ITreeNode, ITreeMouseEvent, ITreeContextMenuEvent, IAsyncDataSource } from 'vs/base/browser/ui/tree/tree';
@@ -39,7 +39,7 @@ let forgetScopes = true;
export const variableSetEmitter = new Emitter<void>();
export class VariablesView extends ViewPane {
export class VariablesView extends BaseDebugViewPane {
private onFocusStackFrameScheduler: RunOnceScheduler;
private needsRefresh = false;
@@ -143,11 +143,6 @@ export class VariablesView extends ViewPane {
this.tree.rerender(e);
}
}));
this._register(this.viewDescriptorService.onDidChangeLocation(({ views, from, to }) => {
if (views.some(v => v.id === this.id)) {
this.tree.updateOptions({ overrideStyles: { listBackground: this.getBackgroundColor() } });
}
}));
}
getActions(): IAction[] {

View File

@@ -16,9 +16,9 @@ import { IInstantiationService } from 'vs/platform/instantiation/common/instanti
import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
import { IAction, Action } from 'vs/base/common/actions';
import { Separator } from 'vs/base/browser/ui/actionbar/actionbar';
import { renderExpressionValue, renderViewTree, IInputBoxOptions, AbstractExpressionsRenderer, IExpressionTemplateData } from 'vs/workbench/contrib/debug/browser/baseDebugView';
import { renderExpressionValue, renderViewTree, IInputBoxOptions, AbstractExpressionsRenderer, IExpressionTemplateData, BaseDebugViewPane } from 'vs/workbench/contrib/debug/browser/baseDebugView';
import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
import { IViewPaneOptions, ViewPane } from 'vs/workbench/browser/parts/views/viewPaneContainer';
import { IViewPaneOptions } from 'vs/workbench/browser/parts/views/viewPaneContainer';
import { IListVirtualDelegate } from 'vs/base/browser/ui/list/list';
import { IAccessibilityProvider } from 'vs/base/browser/ui/list/listWidget';
import { WorkbenchAsyncDataTree } from 'vs/platform/list/browser/listService';
@@ -38,7 +38,7 @@ const MAX_VALUE_RENDER_LENGTH_IN_VIEWLET = 1024;
let ignoreVariableSetEmitter = false;
let useCachedEvaluation = false;
export class WatchExpressionsView extends ViewPane {
export class WatchExpressionsView extends BaseDebugViewPane {
private onWatchExpressionsUpdatedScheduler: RunOnceScheduler;
private needsRefresh = false;
@@ -138,11 +138,6 @@ export class WatchExpressionsView extends ViewPane {
this.tree.rerender(e);
}
}));
this._register(this.viewDescriptorService.onDidChangeLocation(({ views, from, to }) => {
if (views.some(v => v.id === this.id)) {
this.tree.updateOptions({ overrideStyles: { listBackground: this.getBackgroundColor() } });
}
}));
}
layoutBody(height: number, width: number): void {

View File

@@ -467,7 +467,7 @@ export interface IDebugConfiguration {
closeOnEnd: boolean;
};
focusWindowOnBreak: boolean;
onTaskErrors: 'debugAnyway' | 'showErrors' | 'prompt' | 'cancel';
onTaskErrors: 'debugAnyway' | 'showErrors' | 'prompt' | 'abort';
showBreakpointsInOverviewRuler: boolean;
showInlineBreakpointCandidates: boolean;
}

View File

@@ -73,7 +73,7 @@ export class Source {
openInEditor(editorService: IEditorService, selection: IRange, preserveFocus?: boolean, sideBySide?: boolean, pinned?: boolean): Promise<ITextEditor | undefined> {
return !this.available ? Promise.resolve(undefined) : editorService.openEditor({
resource: this.uri.with({ query: null }),
resource: this.uri,
description: this.origin,
options: {
preserveFocus,

View File

@@ -94,7 +94,8 @@ export function prepareCommand(args: DebugProtocol.RunInTerminalRequestArguments
}
let quote: (s: string) => string;
let command = '';
// begin command with a space to avoid polluting shell history
let command = ' ';
switch (shellType) {