From 6b43b2cb5e5118a5246e8fd29feb1976fbeea264 Mon Sep 17 00:00:00 2001 From: Miguel Solorio Date: Fri, 8 Nov 2019 14:43:12 -0800 Subject: [PATCH 01/11] Update breakpoints to codicons --- .../editor/browser/viewParts/glyphMargin/glyphMargin.ts | 2 +- src/vs/workbench/contrib/debug/browser/breakpointsView.ts | 8 ++++---- .../extensions/browser/media/extensionsViewlet.css | 1 + test/automation/src/debug.ts | 2 +- 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/vs/editor/browser/viewParts/glyphMargin/glyphMargin.ts b/src/vs/editor/browser/viewParts/glyphMargin/glyphMargin.ts index 494b7d7ca233e..0cdd9c61cc2ed 100644 --- a/src/vs/editor/browser/viewParts/glyphMargin/glyphMargin.ts +++ b/src/vs/editor/browser/viewParts/glyphMargin/glyphMargin.ts @@ -177,7 +177,7 @@ export class GlyphMarginOverlay extends DedupOverlay { output[lineIndex] = ''; } else { output[lineIndex] = ( - '
.extensions .extension > .details > .header-container > .header .codicon { font-size: 120%; margin-right: 2px; + -webkit-mask: inherit; } .extensions-viewlet > .extensions .extension > .details > .header-container > .header > .ratings { diff --git a/test/automation/src/debug.ts b/test/automation/src/debug.ts index 2dc548e5cb32f..ec6678bb780ab 100644 --- a/test/automation/src/debug.ts +++ b/test/automation/src/debug.ts @@ -19,7 +19,7 @@ const STEP_IN = `.debug-toolbar .action-label[title*="Step Into"]`; const STEP_OUT = `.debug-toolbar .action-label[title*="Step Out"]`; const CONTINUE = `.debug-toolbar .action-label[title*="Continue"]`; const GLYPH_AREA = '.margin-view-overlays>:nth-child'; -const BREAKPOINT_GLYPH = '.debug-breakpoint'; +const BREAKPOINT_GLYPH = '.codicon-circle-filled'; const PAUSE = `.debug-toolbar .action-label[title*="Pause"]`; const DEBUG_STATUS_BAR = `.statusbar.debugging`; const NOT_DEBUG_STATUS_BAR = `.statusbar:not(debugging)`; From 3091f55e3e1fb8d198192377d322afff33d3b44b Mon Sep 17 00:00:00 2001 From: Miguel Solorio Date: Wed, 13 Nov 2019 15:20:02 -0800 Subject: [PATCH 02/11] Add breakpoint color tokens --- .../ui/codiconLabel/codicon/codicon.css | 31 ++++-- .../ui/codiconLabel/codicon/codicon.ttf | Bin 46380 -> 46836 bytes .../browser/breakpointEditorContribution.ts | 9 +- .../contrib/debug/browser/breakpointsView.ts | 30 ++--- .../browser/debugCallStackContribution.ts | 90 ++++++++++++++- .../browser/media/debug.contribution.css | 103 +++--------------- .../debug/browser/media/debugViewlet.css | 13 ++- 7 files changed, 158 insertions(+), 118 deletions(-) diff --git a/src/vs/base/browser/ui/codiconLabel/codicon/codicon.css b/src/vs/base/browser/ui/codiconLabel/codicon/codicon.css index 753d70792994e..5fe22758599cc 100644 --- a/src/vs/base/browser/ui/codiconLabel/codicon/codicon.css +++ b/src/vs/base/browser/ui/codiconLabel/codicon/codicon.css @@ -5,7 +5,7 @@ @font-face { font-family: "codicon"; - src: url("./codicon.ttf?3443fb4013ab5a04c23a30f912dd6627") format("truetype"); + src: url("./codicon.ttf?d02baa177e0c5b865597b4e28fca9e07") format("truetype"); } .codicon[class*='codicon-'] { @@ -69,6 +69,9 @@ .codicon-eye-watch:before { content: "\ea70" } .codicon-circle-filled:before { content: "\ea71" } .codicon-primitive-dot:before { content: "\ea71" } +.codicon-debug-breakpoint:before { content: "\ea71" } +.codicon-debug-breakpoint-disabled:before { content: "\ea71" } +.codicon-debug-hint:before { content: "\ea71" } .codicon-primitive-square:before { content: "\ea72" } .codicon-edit:before { content: "\ea73" } .codicon-pencil:before { content: "\ea73" } @@ -162,12 +165,15 @@ .codicon-bold:before { content: "\eaa3" } .codicon-book:before { content: "\eaa4" } .codicon-bookmark:before { content: "\eaa5" } -.codicon-breakpoint-conditional-unverified:before { content: "\eaa6" } -.codicon-breakpoint-conditional:before { content: "\eaa7" } -.codicon-breakpoint-data-unverified:before { content: "\eaa8" } -.codicon-breakpoint-data:before { content: "\eaa9" } -.codicon-breakpoint-log-unverified:before { content: "\eaaa" } -.codicon-breakpoint-log:before { content: "\eaab" } +.codicon-debug-breakpoint-conditional-unverified:before { content: "\eaa6" } +.codicon-debug-breakpoint-conditional:before { content: "\eaa7" } +.codicon-debug-breakpoint-conditional-disabled:before { content: "\eaa7" } +.codicon-debug-breakpoint-data-unverified:before { content: "\eaa8" } +.codicon-debug-breakpoint-data:before { content: "\eaa9" } +.codicon-debug-breakpoint-data-disabled:before { content: "\eaa9" } +.codicon-debug-breakpoint-log-unverified:before { content: "\eaaa" } +.codicon-debug-breakpoint-log:before { content: "\eaab" } +.codicon-debug-breakpoint-log-disabled:before { content: "\eaab" } .codicon-briefcase:before { content: "\eaac" } .codicon-broadcast:before { content: "\eaad" } .codicon-browser:before { content: "\eaae" } @@ -185,6 +191,7 @@ .codicon-chrome-minimize:before { content: "\eaba" } .codicon-chrome-restore:before { content: "\eabb" } .codicon-circle-outline:before { content: "\eabc" } +.codicon-debug-breakpoint-unverified:before { content: "\eabc" } .codicon-circle-slash:before { content: "\eabd" } .codicon-circuit-board:before { content: "\eabe" } .codicon-clear-all:before { content: "\eabf" } @@ -198,8 +205,6 @@ .codicon-comment-discussion:before { content: "\eac7" } .codicon-compare-changes:before { content: "\eac8" } .codicon-credit-card:before { content: "\eac9" } -.codicon-current-and-breakpoint:before { content: "\eaca" } -.codicon-current:before { content: "\eacb" } .codicon-dash:before { content: "\eacc" } .codicon-dashboard:before { content: "\eacd" } .codicon-database:before { content: "\eace" } @@ -386,3 +391,11 @@ .codicon-list-flat:before { content: "\eb84" } .codicon-list-selection:before { content: "\eb85" } .codicon-list-tree:before { content: "\eb86" } +.codicon-debug-breakpoint-function-unverified:before { content: "\eb87" } +.codicon-debug-breakpoint-function:before { content: "\eb88" } +.codicon-debug-breakpoint-function-disabled:before { content: "\eb88" } +.codicon-debug-breakpoint-stackframe-active:before { content: "\eb89" } +.codicon-debug-breakpoint-stackframe-dot:before { content: "\eb8a" } +.codicon-debug-breakpoint-stackframe:before { content: "\eb8b" } +.codicon-debug-breakpoint-stackframe-focused:before { content: "\eb8b" } +.codicon-debug-breakpoint-unsupported:before { content: "\eb8c" } diff --git a/src/vs/base/browser/ui/codiconLabel/codicon/codicon.ttf b/src/vs/base/browser/ui/codiconLabel/codicon/codicon.ttf index ba3474205da690928d1da0baa9f557ae33a5b1d3..3af3dbb97c51f3979947e67df2d63717f4e4dd77 100644 GIT binary patch delta 5435 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 delta 5014 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 this.getContextMenuActions(candidate.breakpoint ? [candidate.breakpoint] : [], activeCodeEditor.getModel().uri, candidate.range.startLineNumber, candidate.range.startColumn); const inlineWidget = new InlineBreakpointWidget(activeCodeEditor, decorationId, cssClass, candidate.breakpoint, this.debugService, this.contextMenuService, contextMenuActions); @@ -543,6 +543,7 @@ class InlineBreakpointWidget implements IContentWidget, IDisposable { private create(cssClass: string | null | undefined): void { this.domNode = $('.inline-breakpoint-widget'); + this.domNode.classList.add('codicon'); if (cssClass) { this.domNode.classList.add(cssClass); } diff --git a/src/vs/workbench/contrib/debug/browser/breakpointsView.ts b/src/vs/workbench/contrib/debug/browser/breakpointsView.ts index 66102bb84fc84..a23fddadbb61a 100644 --- a/src/vs/workbench/contrib/debug/browser/breakpointsView.ts +++ b/src/vs/workbench/contrib/debug/browser/breakpointsView.ts @@ -346,7 +346,7 @@ class BreakpointsRenderer implements IListRenderer { if (focusedStackFrame) { collector.addRule(`.monaco-editor .view-overlays .debug-focused-stack-frame-line { background: ${focusedStackFrame}; }`); } + + const debugIconBreakpointColor = theme.getColor(debugIconBreakpointForeground); + if (debugIconBreakpointColor) { + collector.addRule(` + .monaco-workbench .codicon-debug-breakpoint, + .monaco-workbench .codicon-debug-hint:not(*[class*='codicon-debug-breakpoint']) , + .monaco-workbench .codicon-debug-breakpoint-stackframe-dot, + .monaco-workbench .codicon-debug-breakpoint.codicon-debug-breakpoint-stackframe-focused::after { + color: ${debugIconBreakpointColor} !important; + } + `); + } + + const debugIconBreakpointDisabledColor = theme.getColor(debugIconBreakpointDisabledForeground); + if (debugIconBreakpointDisabledColor) { + collector.addRule(` + .monaco-workbench .codicon[class*='-disabled'] { + color: ${debugIconBreakpointDisabledColor} !important; + } + `); + } + + const debugIconBreakpointUnverifiedColor = theme.getColor(debugIconBreakpointUnverifiedForeground); + if (debugIconBreakpointUnverifiedColor) { + collector.addRule(` + .monaco-workbench .codicon[class*='-unverified'] { + color: ${debugIconBreakpointUnverifiedColor} !important; + } + `); + } + + const debugIconBreakpointConditionalColor = theme.getColor(debugIconBreakpointConditionalForeground); + if (debugIconBreakpointConditionalColor) { + collector.addRule(` + .monaco-workbench .codicon-debug-breakpoint-conditional { + color: ${debugIconBreakpointConditionalColor} !important; + } + `); + } + + const debugIconBreakpointLogColor = theme.getColor(debugIconBreakpointLogForeground); + if (debugIconBreakpointLogColor) { + collector.addRule(` + .monaco-workbench .codicon-debug-breakpoint-log { + color: ${debugIconBreakpointLogColor} !important; + } + `); + } + + const debugIconBreakpointFunctionColor = theme.getColor(debugIconBreakpointFunctionForeground); + if (debugIconBreakpointFunctionColor) { + collector.addRule(` + .monaco-workbench .codicon-debug-breakpoint-function { + color: ${debugIconBreakpointFunctionColor} !important; + } + `); + } + + const debugIconBreakpointStackframeColor = theme.getColor(debugIconBreakpointStackframeForeground); + if (debugIconBreakpointStackframeColor) { + collector.addRule(` + .monaco-workbench .codicon-debug-breakpoint-stackframe, + .monaco-workbench .codicon-debug-breakpoint-stackframe-dot::after { + color: ${debugIconBreakpointStackframeColor} !important; + } + `); + } + + const debugIconBreakpointStackframeFocusedColor = theme.getColor(debugIconBreakpointStackframeFocusedForeground); + if (debugIconBreakpointStackframeFocusedColor) { + collector.addRule(` + .monaco-workbench .codicon-debug-breakpoint-stackframe-focused { + color: ${debugIconBreakpointStackframeFocusedColor} !important; + } + `); + } + }); const topStackFrameColor = registerColor('editor.stackFrameHighlightBackground', { dark: '#ffff0033', light: '#ffff6673', hc: '#fff600' }, localize('topStackFrameLineHighlight', 'Background color for the highlight of line at the top stack frame position.')); const focusedStackFrameColor = registerColor('editor.focusedStackFrameHighlightBackground', { dark: '#7abd7a4d', light: '#cee7ce73', hc: '#cee7ce' }, localize('focusedStackFrameLineHighlight', 'Background color for the highlight of line at focused stack frame position.')); + +const debugIconBreakpointForeground = registerColor('debugIcon.breakpointForeground', { dark: '#E51400', light: '#E51400', hc: '#E51400' }, localize('debugIcon.breakpointForeground', 'Icon color for breakpoints.')); +const debugIconBreakpointDisabledForeground = registerColor('debugIcon.breakpointDisabledForeground', { dark: '#848484', light: '#848484', hc: '#848484' }, localize('debugIcon.breakpointDisabledForeground', 'Icon color for disabled breakpoints.')); +const debugIconBreakpointUnverifiedForeground = registerColor('debugIcon.breakpointUnverifiedForeground', { dark: '#848484', light: '#848484', hc: '#848484' }, localize('debugIcon.breakpointUnverifiedForeground', 'Icon color for unverified breakpoints.')); +const debugIconBreakpointConditionalForeground = registerColor('debugIcon.breakpointConditionalForeground', { dark: debugIconBreakpointForeground, light: debugIconBreakpointForeground, hc: debugIconBreakpointForeground }, localize('debugIcon.breakpointConditionalForeground', 'Icon color for conditional breakpoints.')); +const debugIconBreakpointLogForeground = registerColor('debugIcon.breakpointLogForeground', { dark: debugIconBreakpointForeground, light: debugIconBreakpointForeground, hc: debugIconBreakpointForeground }, localize('debugIcon.breakpointLogForeground', 'Icon color for log breakpoints.')); +const debugIconBreakpointFunctionForeground = registerColor('debugIcon.breakpointFunctionForeground', { dark: debugIconBreakpointForeground, light: debugIconBreakpointForeground, hc: debugIconBreakpointForeground }, localize('debugIcon.breakpointFunctionForeground', 'Icon color for function breakpoints.')); +const debugIconBreakpointStackframeForeground = registerColor('debugIcon.breakpointStackframeForeground', { dark: '#FFCC00', light: '#FFCC00', hc: '#FFCC00' }, localize('debugIcon.breakpointStackframeForeground', 'Icon color for breakpoints.')); +const debugIconBreakpointStackframeFocusedForeground = registerColor('debugIcon.breakpointStackframeFocusedForeground', { dark: '#89D185', light: '#89D185', hc: '#89D185' }, localize('debugIcon.breakpointStackframeFocusedForeground', 'Icon color for breakpoints.')); diff --git a/src/vs/workbench/contrib/debug/browser/media/debug.contribution.css b/src/vs/workbench/contrib/debug/browser/media/debug.contribution.css index fd184092abdc8..b712940078246 100644 --- a/src/vs/workbench/contrib/debug/browser/media/debug.contribution.css +++ b/src/vs/workbench/contrib/debug/browser/media/debug.contribution.css @@ -3,45 +3,35 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -/* Activity Bar */ -.monaco-editor .debug-top-stack-frame-column::before { - background: url('current-arrow.svg') center center no-repeat; -} - -.debug-breakpoint-hint { - background: url('breakpoint-hint.svg') center center no-repeat; +.codicon-debug-hint { cursor: pointer; } -.debug-breakpoint-disabled, -.monaco-editor .inline-breakpoint-widget.debug-breakpoint-disabled { - background: url('breakpoint-disabled.svg') center center no-repeat; +.codicon-debug-hint:not(*[class*='codicon-debug-breakpoint']) { + opacity: .4 !important; } -.monaco-editor .inline-breakpoint-widget.debug-breakpoint-disabled:hover { - background: url('breakpoint-hint.svg') center center no-repeat; +/* overlapped icons */ +.inline-breakpoint-widget.codicon-debug-breakpoint-stackframe-dot::after { + position: absolute; + top: 0; + left: 0; } -.monaco-editor .inline-breakpoint-widget.line-start { - left: -0.45em !important; +.codicon-debug-breakpoint.codicon-debug-breakpoint-stackframe-focused::after { + position: absolute; } -.debug-breakpoint-unverified, -.monaco-editor .inline-breakpoint-widget.debug-breakpoint-unverified { - background: url('breakpoint-unverified.svg') center center no-repeat; +.inline-breakpoint-widget.codicon-debug-breakpoint-stackframe-dot::after { + content: "\eb8b"; } -.monaco-editor .debug-top-stack-frame { - background: url('current-arrow.svg') center center no-repeat; +.codicon-debug-breakpoint.codicon-debug-breakpoint-stackframe-focused::after { + content: "\eb8a"; } -.monaco-editor .debug-focused-stack-frame { - background: url('stackframe-arrow.svg') center center no-repeat; -} - -.debug-breakpoint, -.monaco-editor .inline-breakpoint-widget { - background: url('breakpoint.svg') center center no-repeat; +.monaco-editor .inline-breakpoint-widget.line-start { + left: -0.45em !important; } .monaco-editor .debug-breakpoint-placeholder::before, @@ -70,67 +60,6 @@ cursor: pointer; } -.debug-function-breakpoint { - background: url('breakpoint-function.svg') center center no-repeat; -} - -.debug-function-breakpoint-unverified { - background: url('breakpoint-function-unverified.svg') center center no-repeat; -} - -.debug-function-breakpoint-disabled { - background: url('breakpoint-function-disabled.svg') center center no-repeat; -} - -.debug-data-breakpoint { - background: url('breakpoint-data.svg') center center no-repeat; -} - -.debug-data-breakpoint-unverified { - background: url('breakpoint-data-unverified.svg') center center no-repeat; -} - -.debug-data-breakpoint-disabled { - background: url('breakpoint-data-disabled.svg') center center no-repeat; -} - -.debug-breakpoint-conditional, -.monaco-editor .inline-breakpoint-widget.debug-breakpoint-conditional { - background: url('breakpoint-conditional.svg') center center no-repeat; -} - -.debug-breakpoint-log, -.monaco-editor .inline-breakpoint-widget.debug-breakpoint-log { - background: url('breakpoint-log.svg') center center no-repeat; -} - -.debug-breakpoint-log-disabled, -.monaco-editor .inline-breakpoint-widget.debug-breakpoint-log-disabled { - background: url('breakpoint-log-disabled.svg') center center no-repeat; -} - -.debug-breakpoint-log-unverified, -.monaco-editor .inline-breakpoint-widget.debug-breakpoint-log-unverified { - background: url('breakpoint-log-unverified.svg') center center no-repeat; -} - -.debug-breakpoint-unsupported, -.monaco-editor .inline-breakpoint-widget.debug-breakpoint-unsupported { - background: url('breakpoint-unsupported.svg') center center no-repeat; -} - -.monaco-editor .debug-top-stack-frame.debug-breakpoint-and-top-stack-frame, -.monaco-editor .debug-breakpoint.debug-top-stack-frame, -.monaco-editor .debug-breakpoint-and-top-stack-frame-at-column { - background: url('current-and-breakpoint.svg') center center no-repeat; -} - -.monaco-editor .debug-focused-stack-frame.debug-breakpoint, -.monaco-editor .debug-focused-stack-frame.debug-breakpoint-conditional, -.monaco-editor .debug-focused-stack-frame.debug-breakpoint-log { - background: url('stackframe-and-breakpoint.svg') center center no-repeat; -} - /* Error editor */ .debug-error-editor:focus { outline: none !important; diff --git a/src/vs/workbench/contrib/debug/browser/media/debugViewlet.css b/src/vs/workbench/contrib/debug/browser/media/debugViewlet.css index 9847a8b1d06ac..185b8187d413a 100644 --- a/src/vs/workbench/contrib/debug/browser/media/debugViewlet.css +++ b/src/vs/workbench/contrib/debug/browser/media/debugViewlet.css @@ -78,6 +78,10 @@ color: #666; } +.debug-viewlet .monaco-list:focus .monaco-list-row.selected.focused .codicon { + color: inherit !important; +} + .debug-viewlet .disabled { opacity: 0.35; } @@ -333,10 +337,17 @@ flex-shrink: 0; } -.debug-viewlet .debug-breakpoints .breakpoint > .icon { +.debug-viewlet .debug-breakpoints .breakpoint > .codicon { width: 19px; height: 19px; min-width: 19px; + display: flex; + align-items: center; + justify-content: center; +} + +.debug-viewlet .debug-breakpoints .breakpoint > .codicon-debug-breakpoint-stackframe-dot::before { + content: "\ea71"; } .debug-viewlet .debug-breakpoints .breakpoint > .file-path { From c9f9081e2fd9846c6f24d5ee782dfa7373ee32c2 Mon Sep 17 00:00:00 2001 From: Miguel Solorio Date: Wed, 13 Nov 2019 17:11:27 -0800 Subject: [PATCH 03/11] Add icon classes to debug tooldbar contributions --- .../ui/codiconLabel/codicon/codicon.css | 3 +- .../ui/codiconLabel/codicon/codicon.ttf | Bin 46836 -> 46932 bytes .../browser/menuEntryActionViewItem.ts | 54 +++++++++++++----- src/vs/platform/actions/common/actions.ts | 3 +- .../debug/browser/debug.contribution.ts | 23 ++++---- .../contrib/debug/browser/debugToolBar.ts | 11 ++++ .../debug/browser/media/debugToolBar.css | 3 + 7 files changed, 69 insertions(+), 28 deletions(-) diff --git a/src/vs/base/browser/ui/codiconLabel/codicon/codicon.css b/src/vs/base/browser/ui/codiconLabel/codicon/codicon.css index 5fe22758599cc..fda705bceb666 100644 --- a/src/vs/base/browser/ui/codiconLabel/codicon/codicon.css +++ b/src/vs/base/browser/ui/codiconLabel/codicon/codicon.css @@ -5,7 +5,7 @@ @font-face { font-family: "codicon"; - src: url("./codicon.ttf?d02baa177e0c5b865597b4e28fca9e07") format("truetype"); + src: url("./codicon.ttf?ffbbbd998c09cc4af5af9e181bb08a70") format("truetype"); } .codicon[class*='codicon-'] { @@ -399,3 +399,4 @@ .codicon-debug-breakpoint-stackframe:before { content: "\eb8b" } .codicon-debug-breakpoint-stackframe-focused:before { content: "\eb8b" } .codicon-debug-breakpoint-unsupported:before { content: "\eb8c" } +.codicon-debug-step-back:before { content: "\f101" } diff --git a/src/vs/base/browser/ui/codiconLabel/codicon/codicon.ttf b/src/vs/base/browser/ui/codiconLabel/codicon/codicon.ttf index 3af3dbb97c51f3979947e67df2d63717f4e4dd77..7e87d7f10387722d05b94db947ddd29351db6cb3 100644 GIT binary patch delta 4143 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 delta 4060 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 b*I#n`E;dQ^*Y=Nb)w>Ud`_$*Z*6jNq60LBW diff --git a/src/vs/platform/actions/browser/menuEntryActionViewItem.ts b/src/vs/platform/actions/browser/menuEntryActionViewItem.ts index 17dfd5efde6ab..ac27e5bf8c523 100644 --- a/src/vs/platform/actions/browser/menuEntryActionViewItem.ts +++ b/src/vs/platform/actions/browser/menuEntryActionViewItem.ts @@ -236,28 +236,52 @@ export class MenuEntryActionViewItem extends ActionViewItem { _updateItemClass(item: ICommandAction): void { this._itemClassDispose.value = undefined; - if (item.iconLocation) { - let iconClass: string; - - const iconPathMapKey = item.iconLocation.dark.toString(); - - if (MenuEntryActionViewItem.ICON_PATH_TO_CSS_RULES.has(iconPathMapKey)) { - iconClass = MenuEntryActionViewItem.ICON_PATH_TO_CSS_RULES.get(iconPathMapKey)!; - } else { - iconClass = ids.nextId(); - createCSSRule(`.icon.${iconClass}`, `background-image: ${asCSSUrl(item.iconLocation.light || item.iconLocation.dark)}`); - createCSSRule(`.vs-dark .icon.${iconClass}, .hc-black .icon.${iconClass}`, `background-image: ${asCSSUrl(item.iconLocation.dark)}`); - MenuEntryActionViewItem.ICON_PATH_TO_CSS_RULES.set(iconPathMapKey, iconClass); - } + // icon class + if (item.iconClassName) { + let iconClass = item.iconClassName; if (this.label) { - addClasses(this.label, 'icon', iconClass); + addClasses(this.label, 'codicon', iconClass); this._itemClassDispose.value = toDisposable(() => { if (this.label) { - removeClasses(this.label, 'icon', iconClass); + removeClasses(this.label, 'codicon', iconClass); } }); } + + } + + // icon path + else if (item.iconLocation) { + let iconClass: string; + + if (typeof item.iconLocation?.dark !== 'undefined') { + + const iconPathMapKey = item.iconLocation.dark.toString(); + + if (MenuEntryActionViewItem.ICON_PATH_TO_CSS_RULES.has(iconPathMapKey)) { + iconClass = MenuEntryActionViewItem.ICON_PATH_TO_CSS_RULES.get(iconPathMapKey)!; + } else { + iconClass = ids.nextId(); + createCSSRule(`.icon.${iconClass}`, `background-image: ${asCSSUrl(item.iconLocation.light || item.iconLocation.dark)}`); + createCSSRule(`.vs-dark .icon.${iconClass}, .hc-black .icon.${iconClass}`, `background-image: ${asCSSUrl(item.iconLocation.dark)}`); + MenuEntryActionViewItem.ICON_PATH_TO_CSS_RULES.set(iconPathMapKey, iconClass); + } + + if (this.label) { + + addClasses(this.label, 'icon', iconClass); + this._itemClassDispose.value = toDisposable(() => { + if (this.label) { + removeClasses(this.label, 'icon', iconClass); + } + }); + } + + } + + + } } } diff --git a/src/vs/platform/actions/common/actions.ts b/src/vs/platform/actions/common/actions.ts index a583f7a34f514..a16aca11677d9 100644 --- a/src/vs/platform/actions/common/actions.ts +++ b/src/vs/platform/actions/common/actions.ts @@ -22,7 +22,8 @@ export interface ICommandAction { id: string; title: string | ILocalizedString; category?: string | ILocalizedString; - iconLocation?: { dark: URI; light?: URI; }; + iconClassName?: string; + iconLocation?: { dark?: URI; light?: URI; }; precondition?: ContextKeyExpr; toggled?: ContextKeyExpr; } diff --git a/src/vs/workbench/contrib/debug/browser/debug.contribution.ts b/src/vs/workbench/contrib/debug/browser/debug.contribution.ts index 3c68e97f7115d..ec050e66f7591 100644 --- a/src/vs/workbench/contrib/debug/browser/debug.contribution.ts +++ b/src/vs/workbench/contrib/debug/browser/debug.contribution.ts @@ -278,7 +278,7 @@ Registry.as(WorkbenchExtensions.Workbench).regi // Debug toolbar -const registerDebugToolBarItem = (id: string, title: string, iconLightUri: URI, iconDarkUri: URI, order: number, when?: ContextKeyExpr, precondition?: ContextKeyExpr) => { +const registerDebugToolBarItem = (id: string, title: string, order: number, iconClassName?: string, iconLightUri?: URI, iconDarkUri?: URI, when?: ContextKeyExpr, precondition?: ContextKeyExpr) => { MenuRegistry.appendMenuItem(MenuId.DebugToolBar, { group: 'navigation', when, @@ -286,6 +286,7 @@ const registerDebugToolBarItem = (id: string, title: string, iconLightUri: URI, command: { id, title, + iconClassName, iconLocation: { light: iconLightUri, dark: iconDarkUri @@ -295,16 +296,16 @@ const registerDebugToolBarItem = (id: string, title: string, iconLightUri: URI, }); }; -registerDebugToolBarItem(CONTINUE_ID, CONTINUE_LABEL, URI.parse(registerAndGetAmdImageURL('vs/workbench/contrib/debug/browser/media/continue-light.svg')), URI.parse(registerAndGetAmdImageURL('vs/workbench/contrib/debug/browser/media/continue-dark.svg')), 10, CONTEXT_DEBUG_STATE.isEqualTo('stopped')); -registerDebugToolBarItem(PAUSE_ID, PAUSE_LABEL, URI.parse(registerAndGetAmdImageURL('vs/workbench/contrib/debug/browser/media/pause-light.svg')), URI.parse(registerAndGetAmdImageURL('vs/workbench/contrib/debug/browser/media/pause-dark.svg')), 10, CONTEXT_DEBUG_STATE.notEqualsTo('stopped')); -registerDebugToolBarItem(STOP_ID, STOP_LABEL, URI.parse(registerAndGetAmdImageURL('vs/workbench/contrib/debug/browser/media/stop-light.svg')), URI.parse(registerAndGetAmdImageURL('vs/workbench/contrib/debug/browser/media/stop-dark.svg')), 70, CONTEXT_FOCUSED_SESSION_IS_ATTACH.toNegated()); -registerDebugToolBarItem(DISCONNECT_ID, DISCONNECT_LABEL, URI.parse(registerAndGetAmdImageURL('vs/workbench/contrib/debug/browser/media/disconnect-light.svg')), URI.parse(registerAndGetAmdImageURL('vs/workbench/contrib/debug/browser/media/disconnect-dark.svg')), 70, CONTEXT_FOCUSED_SESSION_IS_ATTACH); -registerDebugToolBarItem(STEP_OVER_ID, STEP_OVER_LABEL, URI.parse(registerAndGetAmdImageURL('vs/workbench/contrib/debug/browser/media/step-over-light.svg')), URI.parse(registerAndGetAmdImageURL('vs/workbench/contrib/debug/browser/media/step-over-dark.svg')), 20, undefined, CONTEXT_DEBUG_STATE.isEqualTo('stopped')); -registerDebugToolBarItem(STEP_INTO_ID, STEP_INTO_LABEL, URI.parse(registerAndGetAmdImageURL('vs/workbench/contrib/debug/browser/media/step-into-light.svg')), URI.parse(registerAndGetAmdImageURL('vs/workbench/contrib/debug/browser/media/step-into-dark.svg')), 30, undefined, CONTEXT_DEBUG_STATE.isEqualTo('stopped')); -registerDebugToolBarItem(STEP_OUT_ID, STEP_OUT_LABEL, URI.parse(registerAndGetAmdImageURL('vs/workbench/contrib/debug/browser/media/step-out-light.svg')), URI.parse(registerAndGetAmdImageURL('vs/workbench/contrib/debug/browser/media/step-out-dark.svg')), 40, undefined, CONTEXT_DEBUG_STATE.isEqualTo('stopped')); -registerDebugToolBarItem(RESTART_SESSION_ID, RESTART_LABEL, URI.parse(registerAndGetAmdImageURL('vs/workbench/contrib/debug/browser/media/restart-light.svg')), URI.parse(registerAndGetAmdImageURL('vs/workbench/contrib/debug/browser/media/restart-dark.svg')), 60); -registerDebugToolBarItem(STEP_BACK_ID, nls.localize('stepBackDebug', "Step Back"), URI.parse(registerAndGetAmdImageURL('vs/workbench/contrib/debug/browser/media/step-back-light.svg')), URI.parse(registerAndGetAmdImageURL('vs/workbench/contrib/debug/browser/media/step-back-dark.svg')), 50, CONTEXT_STEP_BACK_SUPPORTED, CONTEXT_DEBUG_STATE.isEqualTo('stopped')); -registerDebugToolBarItem(REVERSE_CONTINUE_ID, nls.localize('reverseContinue', "Reverse"), URI.parse(registerAndGetAmdImageURL('vs/workbench/contrib/debug/browser/media/reverse-continue-light.svg')), URI.parse(registerAndGetAmdImageURL('vs/workbench/contrib/debug/browser/media/reverse-continue-dark.svg')), 60, CONTEXT_STEP_BACK_SUPPORTED, CONTEXT_DEBUG_STATE.isEqualTo('stopped')); +registerDebugToolBarItem(CONTINUE_ID, CONTINUE_LABEL, 10, 'codicon-debug-continue', undefined, undefined, CONTEXT_DEBUG_STATE.isEqualTo('stopped')); +registerDebugToolBarItem(PAUSE_ID, PAUSE_LABEL, 10, 'codicon-debug-pause', undefined, undefined, CONTEXT_DEBUG_STATE.notEqualsTo('stopped')); +registerDebugToolBarItem(STOP_ID, STOP_LABEL, 70, 'codicon-debug-stop', undefined, undefined, CONTEXT_FOCUSED_SESSION_IS_ATTACH.toNegated()); +registerDebugToolBarItem(DISCONNECT_ID, DISCONNECT_LABEL, 70, 'codicon-debug-disconnect', undefined, undefined, CONTEXT_FOCUSED_SESSION_IS_ATTACH); +registerDebugToolBarItem(STEP_OVER_ID, STEP_OVER_LABEL, 20, 'codicon-debug-step-over', undefined, undefined, undefined, CONTEXT_DEBUG_STATE.isEqualTo('stopped')); +registerDebugToolBarItem(STEP_INTO_ID, STEP_INTO_LABEL, 30, 'codicon-debug-step-into', undefined, undefined, undefined, CONTEXT_DEBUG_STATE.isEqualTo('stopped')); +registerDebugToolBarItem(STEP_OUT_ID, STEP_OUT_LABEL, 40, 'codicon-debug-step-out', undefined, undefined, undefined, CONTEXT_DEBUG_STATE.isEqualTo('stopped')); +registerDebugToolBarItem(RESTART_SESSION_ID, RESTART_LABEL, 60, 'codicon-debug-restart', undefined, undefined); +registerDebugToolBarItem(STEP_BACK_ID, nls.localize('stepBackDebug', "Step Back"), 50, 'codicon-debug-step-back', undefined, undefined, CONTEXT_STEP_BACK_SUPPORTED, CONTEXT_DEBUG_STATE.isEqualTo('stopped')); +registerDebugToolBarItem(REVERSE_CONTINUE_ID, nls.localize('reverseContinue', "Reverse"), 60, 'codicon-debug-continue', undefined, undefined, CONTEXT_STEP_BACK_SUPPORTED, CONTEXT_DEBUG_STATE.isEqualTo('stopped')); // Debug callstack context menu const registerDebugCallstackItem = (id: string, title: string, order: number, when?: ContextKeyExpr, precondition?: ContextKeyExpr, group = 'navigation') => { diff --git a/src/vs/workbench/contrib/debug/browser/debugToolBar.ts b/src/vs/workbench/contrib/debug/browser/debugToolBar.ts index 781ac16a5dea2..1ce4ad3dba49c 100644 --- a/src/vs/workbench/contrib/debug/browser/debugToolBar.ts +++ b/src/vs/workbench/contrib/debug/browser/debugToolBar.ts @@ -102,6 +102,12 @@ export const debugIconContinueForeground = registerColor('debugIcon.continueFore hc: '#75BEFF' }, localize('debugIcon.continueForeground', "Debug toolbar icon for continue.")); +export const debugIconStepBackForeground = registerColor('debugIcon.stepBackForeground', { + dark: '#75BEFF', + light: '#007ACC', + hc: '#75BEFF' +}, localize('debugIcon.stepBackForeground', "Debug toolbar icon for step back.")); + export class DebugToolBar extends Themable implements IWorkbenchContribution { private $el: HTMLElement; @@ -391,4 +397,9 @@ registerThemingParticipant((theme, collector) => { if (debugIconContinueColor) { collector.addRule(`.monaco-workbench .codicon-debug-continue { color: ${debugIconContinueColor} !important; }`); } + + const debugIconStepBackColor = theme.getColor(debugIconStepBackForeground); + if (debugIconStepBackColor) { + collector.addRule(`.monaco-workbench .codicon-debug-step-back { color: ${debugIconStepBackColor} !important; }`); + } }); diff --git a/src/vs/workbench/contrib/debug/browser/media/debugToolBar.css b/src/vs/workbench/contrib/debug/browser/media/debugToolBar.css index a0a76da7ec1d9..4ac6feef4802d 100644 --- a/src/vs/workbench/contrib/debug/browser/media/debugToolBar.css +++ b/src/vs/workbench/contrib/debug/browser/media/debugToolBar.css @@ -43,4 +43,7 @@ background-size: 16px; background-position: center center; background-repeat: no-repeat; + display: flex; + align-items: center; + justify-content: center; } From 353510eeece8f2089b94fa7f73f40a80ba0b429f Mon Sep 17 00:00:00 2001 From: Miguel Solorio Date: Wed, 13 Nov 2019 19:55:49 -0800 Subject: [PATCH 04/11] Fix compiler errors --- src/vs/code/electron-main/window.ts | 2 +- src/vs/workbench/test/workbenchTestServices.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/vs/code/electron-main/window.ts b/src/vs/code/electron-main/window.ts index b55f4095e3b82..531dfe2afb807 100644 --- a/src/vs/code/electron-main/window.ts +++ b/src/vs/code/electron-main/window.ts @@ -1096,7 +1096,7 @@ export class CodeWindow extends Disposable implements ICodeWindow { private createTouchBarGroupSegments(items: ISerializableCommandAction[] = []): ITouchBarSegment[] { const segments: ITouchBarSegment[] = items.map(item => { let icon: NativeImage | undefined; - if (item.iconLocation && item.iconLocation.dark.scheme === 'file') { + if (item.iconLocation && typeof item.iconLocation?.dark !== 'undefined' && item.iconLocation.dark.scheme === 'file') { icon = nativeImage.createFromPath(URI.revive(item.iconLocation.dark).fsPath); if (icon.isEmpty()) { icon = undefined; diff --git a/src/vs/workbench/test/workbenchTestServices.ts b/src/vs/workbench/test/workbenchTestServices.ts index b1e238cb5d5f0..89528afc51ad3 100644 --- a/src/vs/workbench/test/workbenchTestServices.ts +++ b/src/vs/workbench/test/workbenchTestServices.ts @@ -1377,7 +1377,7 @@ export class TestElectronService implements IElectronService { async setRepresentedFilename(path: string): Promise { } async setDocumentEdited(edited: boolean): Promise { } async openExternal(url: string): Promise { return false; } - async updateTouchBar(items: { id: string; title: string | { value: string; original: string; }; category?: string | { value: string; original: string; } | undefined; iconLocation?: { dark: UriComponents; light?: { readonly scheme: string; readonly authority: string; readonly path: string; readonly query: string; readonly fragment: string; readonly fsPath: string; with: {}; toString: {}; toJSON: {}; } | undefined; } | undefined; precondition?: { getType: {}; equals: {}; evaluate: {}; serialize: {}; keys: {}; map: {}; negate: {}; } | undefined; toggled?: { getType: {}; equals: {}; evaluate: {}; serialize: {}; keys: {}; map: {}; negate: {}; } | undefined; }[][]): Promise { } + async updateTouchBar(items: { id: string; title: string | { value: string; original: string; }; category?: string | { value: string; original: string; } | undefined; iconLocation?: { dark?: UriComponents; light?: { readonly scheme: string; readonly authority: string; readonly path: string; readonly query: string; readonly fragment: string; readonly fsPath: string; with: {}; toString: {}; toJSON: {}; } | undefined; } | undefined; precondition?: { getType: {}; equals: {}; evaluate: {}; serialize: {}; keys: {}; map: {}; negate: {}; } | undefined; toggled?: { getType: {}; equals: {}; evaluate: {}; serialize: {}; keys: {}; map: {}; negate: {}; } | undefined; }[][]): Promise { } async newWindowTab(): Promise { } async showPreviousWindowTab(): Promise { } async showNextWindowTab(): Promise { } From 9582e83e56d4f9f38562abfd643bc3774370921f Mon Sep 17 00:00:00 2001 From: Miguel Solorio Date: Wed, 13 Nov 2019 20:53:38 -0800 Subject: [PATCH 05/11] Remove unused files --- .../contrib/debug/browser/media/breakpoint-conditional.svg | 3 --- .../contrib/debug/browser/media/breakpoint-data-disabled.svg | 3 --- .../debug/browser/media/breakpoint-data-unverified.svg | 3 --- .../contrib/debug/browser/media/breakpoint-data.svg | 3 --- .../contrib/debug/browser/media/breakpoint-disabled.svg | 3 --- .../debug/browser/media/breakpoint-function-disabled.svg | 3 --- .../debug/browser/media/breakpoint-function-unverified.svg | 3 --- .../contrib/debug/browser/media/breakpoint-function.svg | 3 --- .../contrib/debug/browser/media/breakpoint-hint.svg | 5 ----- .../contrib/debug/browser/media/breakpoint-log-disabled.svg | 3 --- .../debug/browser/media/breakpoint-log-unverified.svg | 3 --- .../workbench/contrib/debug/browser/media/breakpoint-log.svg | 3 --- .../contrib/debug/browser/media/breakpoint-unsupported.svg | 3 --- .../contrib/debug/browser/media/breakpoint-unverified.svg | 3 --- src/vs/workbench/contrib/debug/browser/media/breakpoint.svg | 3 --- .../workbench/contrib/debug/browser/media/continue-dark.svg | 3 --- .../workbench/contrib/debug/browser/media/continue-light.svg | 3 --- .../contrib/debug/browser/media/current-and-breakpoint.svg | 4 ---- .../workbench/contrib/debug/browser/media/current-arrow.svg | 3 --- .../contrib/debug/browser/media/disconnect-dark.svg | 3 --- .../contrib/debug/browser/media/disconnect-light.svg | 3 --- src/vs/workbench/contrib/debug/browser/media/pause-dark.svg | 3 --- src/vs/workbench/contrib/debug/browser/media/pause-light.svg | 3 --- .../workbench/contrib/debug/browser/media/restart-dark.svg | 3 --- .../workbench/contrib/debug/browser/media/restart-light.svg | 3 --- .../contrib/debug/browser/media/reverse-continue-dark.svg | 3 --- .../contrib/debug/browser/media/reverse-continue-light.svg | 3 --- .../debug/browser/media/stackframe-and-breakpoint.svg | 4 ---- .../contrib/debug/browser/media/stackframe-arrow.svg | 3 --- .../workbench/contrib/debug/browser/media/step-back-dark.svg | 3 --- .../contrib/debug/browser/media/step-back-light.svg | 3 --- .../workbench/contrib/debug/browser/media/step-into-dark.svg | 3 --- .../contrib/debug/browser/media/step-into-light.svg | 3 --- .../workbench/contrib/debug/browser/media/step-out-dark.svg | 3 --- .../workbench/contrib/debug/browser/media/step-out-light.svg | 3 --- .../workbench/contrib/debug/browser/media/step-over-dark.svg | 3 --- .../contrib/debug/browser/media/step-over-light.svg | 3 --- src/vs/workbench/contrib/debug/browser/media/stop-dark.svg | 3 --- src/vs/workbench/contrib/debug/browser/media/stop-light.svg | 3 --- 39 files changed, 121 deletions(-) delete mode 100644 src/vs/workbench/contrib/debug/browser/media/breakpoint-conditional.svg delete mode 100644 src/vs/workbench/contrib/debug/browser/media/breakpoint-data-disabled.svg delete mode 100644 src/vs/workbench/contrib/debug/browser/media/breakpoint-data-unverified.svg delete mode 100644 src/vs/workbench/contrib/debug/browser/media/breakpoint-data.svg delete mode 100644 src/vs/workbench/contrib/debug/browser/media/breakpoint-disabled.svg delete mode 100644 src/vs/workbench/contrib/debug/browser/media/breakpoint-function-disabled.svg delete mode 100644 src/vs/workbench/contrib/debug/browser/media/breakpoint-function-unverified.svg delete mode 100644 src/vs/workbench/contrib/debug/browser/media/breakpoint-function.svg delete mode 100644 src/vs/workbench/contrib/debug/browser/media/breakpoint-hint.svg delete mode 100644 src/vs/workbench/contrib/debug/browser/media/breakpoint-log-disabled.svg delete mode 100644 src/vs/workbench/contrib/debug/browser/media/breakpoint-log-unverified.svg delete mode 100644 src/vs/workbench/contrib/debug/browser/media/breakpoint-log.svg delete mode 100644 src/vs/workbench/contrib/debug/browser/media/breakpoint-unsupported.svg delete mode 100644 src/vs/workbench/contrib/debug/browser/media/breakpoint-unverified.svg delete mode 100644 src/vs/workbench/contrib/debug/browser/media/breakpoint.svg delete mode 100644 src/vs/workbench/contrib/debug/browser/media/continue-dark.svg delete mode 100644 src/vs/workbench/contrib/debug/browser/media/continue-light.svg delete mode 100644 src/vs/workbench/contrib/debug/browser/media/current-and-breakpoint.svg delete mode 100644 src/vs/workbench/contrib/debug/browser/media/current-arrow.svg delete mode 100644 src/vs/workbench/contrib/debug/browser/media/disconnect-dark.svg delete mode 100644 src/vs/workbench/contrib/debug/browser/media/disconnect-light.svg delete mode 100644 src/vs/workbench/contrib/debug/browser/media/pause-dark.svg delete mode 100644 src/vs/workbench/contrib/debug/browser/media/pause-light.svg delete mode 100644 src/vs/workbench/contrib/debug/browser/media/restart-dark.svg delete mode 100644 src/vs/workbench/contrib/debug/browser/media/restart-light.svg delete mode 100644 src/vs/workbench/contrib/debug/browser/media/reverse-continue-dark.svg delete mode 100644 src/vs/workbench/contrib/debug/browser/media/reverse-continue-light.svg delete mode 100644 src/vs/workbench/contrib/debug/browser/media/stackframe-and-breakpoint.svg delete mode 100644 src/vs/workbench/contrib/debug/browser/media/stackframe-arrow.svg delete mode 100644 src/vs/workbench/contrib/debug/browser/media/step-back-dark.svg delete mode 100644 src/vs/workbench/contrib/debug/browser/media/step-back-light.svg delete mode 100644 src/vs/workbench/contrib/debug/browser/media/step-into-dark.svg delete mode 100644 src/vs/workbench/contrib/debug/browser/media/step-into-light.svg delete mode 100644 src/vs/workbench/contrib/debug/browser/media/step-out-dark.svg delete mode 100644 src/vs/workbench/contrib/debug/browser/media/step-out-light.svg delete mode 100644 src/vs/workbench/contrib/debug/browser/media/step-over-dark.svg delete mode 100644 src/vs/workbench/contrib/debug/browser/media/step-over-light.svg delete mode 100644 src/vs/workbench/contrib/debug/browser/media/stop-dark.svg delete mode 100644 src/vs/workbench/contrib/debug/browser/media/stop-light.svg diff --git a/src/vs/workbench/contrib/debug/browser/media/breakpoint-conditional.svg b/src/vs/workbench/contrib/debug/browser/media/breakpoint-conditional.svg deleted file mode 100644 index 382507ebcdf4c..0000000000000 --- a/src/vs/workbench/contrib/debug/browser/media/breakpoint-conditional.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/vs/workbench/contrib/debug/browser/media/breakpoint-data-disabled.svg b/src/vs/workbench/contrib/debug/browser/media/breakpoint-data-disabled.svg deleted file mode 100644 index a2c8c3417e503..0000000000000 --- a/src/vs/workbench/contrib/debug/browser/media/breakpoint-data-disabled.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/vs/workbench/contrib/debug/browser/media/breakpoint-data-unverified.svg b/src/vs/workbench/contrib/debug/browser/media/breakpoint-data-unverified.svg deleted file mode 100644 index 96dda92ee3822..0000000000000 --- a/src/vs/workbench/contrib/debug/browser/media/breakpoint-data-unverified.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/vs/workbench/contrib/debug/browser/media/breakpoint-data.svg b/src/vs/workbench/contrib/debug/browser/media/breakpoint-data.svg deleted file mode 100644 index 6752b060aeb62..0000000000000 --- a/src/vs/workbench/contrib/debug/browser/media/breakpoint-data.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/vs/workbench/contrib/debug/browser/media/breakpoint-disabled.svg b/src/vs/workbench/contrib/debug/browser/media/breakpoint-disabled.svg deleted file mode 100644 index 84588f8eac598..0000000000000 --- a/src/vs/workbench/contrib/debug/browser/media/breakpoint-disabled.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/vs/workbench/contrib/debug/browser/media/breakpoint-function-disabled.svg b/src/vs/workbench/contrib/debug/browser/media/breakpoint-function-disabled.svg deleted file mode 100644 index cd71f6e462e2d..0000000000000 --- a/src/vs/workbench/contrib/debug/browser/media/breakpoint-function-disabled.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/vs/workbench/contrib/debug/browser/media/breakpoint-function-unverified.svg b/src/vs/workbench/contrib/debug/browser/media/breakpoint-function-unverified.svg deleted file mode 100644 index 9e2354d67bd9d..0000000000000 --- a/src/vs/workbench/contrib/debug/browser/media/breakpoint-function-unverified.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/vs/workbench/contrib/debug/browser/media/breakpoint-function.svg b/src/vs/workbench/contrib/debug/browser/media/breakpoint-function.svg deleted file mode 100644 index f25e57ffde942..0000000000000 --- a/src/vs/workbench/contrib/debug/browser/media/breakpoint-function.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/vs/workbench/contrib/debug/browser/media/breakpoint-hint.svg b/src/vs/workbench/contrib/debug/browser/media/breakpoint-hint.svg deleted file mode 100644 index d622c6cf0c4b5..0000000000000 --- a/src/vs/workbench/contrib/debug/browser/media/breakpoint-hint.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/src/vs/workbench/contrib/debug/browser/media/breakpoint-log-disabled.svg b/src/vs/workbench/contrib/debug/browser/media/breakpoint-log-disabled.svg deleted file mode 100644 index ea246058e0f6a..0000000000000 --- a/src/vs/workbench/contrib/debug/browser/media/breakpoint-log-disabled.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/vs/workbench/contrib/debug/browser/media/breakpoint-log-unverified.svg b/src/vs/workbench/contrib/debug/browser/media/breakpoint-log-unverified.svg deleted file mode 100644 index ae8ed0ba7b696..0000000000000 --- a/src/vs/workbench/contrib/debug/browser/media/breakpoint-log-unverified.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/vs/workbench/contrib/debug/browser/media/breakpoint-log.svg b/src/vs/workbench/contrib/debug/browser/media/breakpoint-log.svg deleted file mode 100644 index fc72afc7e2b3e..0000000000000 --- a/src/vs/workbench/contrib/debug/browser/media/breakpoint-log.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/vs/workbench/contrib/debug/browser/media/breakpoint-unsupported.svg b/src/vs/workbench/contrib/debug/browser/media/breakpoint-unsupported.svg deleted file mode 100644 index 624b9f60c80da..0000000000000 --- a/src/vs/workbench/contrib/debug/browser/media/breakpoint-unsupported.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/vs/workbench/contrib/debug/browser/media/breakpoint-unverified.svg b/src/vs/workbench/contrib/debug/browser/media/breakpoint-unverified.svg deleted file mode 100644 index 0f39b8b7c8f06..0000000000000 --- a/src/vs/workbench/contrib/debug/browser/media/breakpoint-unverified.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/vs/workbench/contrib/debug/browser/media/breakpoint.svg b/src/vs/workbench/contrib/debug/browser/media/breakpoint.svg deleted file mode 100644 index af02a87495033..0000000000000 --- a/src/vs/workbench/contrib/debug/browser/media/breakpoint.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/vs/workbench/contrib/debug/browser/media/continue-dark.svg b/src/vs/workbench/contrib/debug/browser/media/continue-dark.svg deleted file mode 100644 index 7c58386cccc63..0000000000000 --- a/src/vs/workbench/contrib/debug/browser/media/continue-dark.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/vs/workbench/contrib/debug/browser/media/continue-light.svg b/src/vs/workbench/contrib/debug/browser/media/continue-light.svg deleted file mode 100644 index 7c58386cccc63..0000000000000 --- a/src/vs/workbench/contrib/debug/browser/media/continue-light.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/vs/workbench/contrib/debug/browser/media/current-and-breakpoint.svg b/src/vs/workbench/contrib/debug/browser/media/current-and-breakpoint.svg deleted file mode 100644 index 17d71fddac9df..0000000000000 --- a/src/vs/workbench/contrib/debug/browser/media/current-and-breakpoint.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/src/vs/workbench/contrib/debug/browser/media/current-arrow.svg b/src/vs/workbench/contrib/debug/browser/media/current-arrow.svg deleted file mode 100644 index 85f288efcd3ee..0000000000000 --- a/src/vs/workbench/contrib/debug/browser/media/current-arrow.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/vs/workbench/contrib/debug/browser/media/disconnect-dark.svg b/src/vs/workbench/contrib/debug/browser/media/disconnect-dark.svg deleted file mode 100644 index 71aae0dd887fc..0000000000000 --- a/src/vs/workbench/contrib/debug/browser/media/disconnect-dark.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/vs/workbench/contrib/debug/browser/media/disconnect-light.svg b/src/vs/workbench/contrib/debug/browser/media/disconnect-light.svg deleted file mode 100644 index 06fc4c31553ed..0000000000000 --- a/src/vs/workbench/contrib/debug/browser/media/disconnect-light.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/vs/workbench/contrib/debug/browser/media/pause-dark.svg b/src/vs/workbench/contrib/debug/browser/media/pause-dark.svg deleted file mode 100644 index 9cd9f46613072..0000000000000 --- a/src/vs/workbench/contrib/debug/browser/media/pause-dark.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/vs/workbench/contrib/debug/browser/media/pause-light.svg b/src/vs/workbench/contrib/debug/browser/media/pause-light.svg deleted file mode 100644 index 01d3cbc290ce6..0000000000000 --- a/src/vs/workbench/contrib/debug/browser/media/pause-light.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/vs/workbench/contrib/debug/browser/media/restart-dark.svg b/src/vs/workbench/contrib/debug/browser/media/restart-dark.svg deleted file mode 100644 index fc48916d5a647..0000000000000 --- a/src/vs/workbench/contrib/debug/browser/media/restart-dark.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/vs/workbench/contrib/debug/browser/media/restart-light.svg b/src/vs/workbench/contrib/debug/browser/media/restart-light.svg deleted file mode 100644 index 4964d5bfaf19e..0000000000000 --- a/src/vs/workbench/contrib/debug/browser/media/restart-light.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/vs/workbench/contrib/debug/browser/media/reverse-continue-dark.svg b/src/vs/workbench/contrib/debug/browser/media/reverse-continue-dark.svg deleted file mode 100644 index e0bbfb4202e36..0000000000000 --- a/src/vs/workbench/contrib/debug/browser/media/reverse-continue-dark.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/vs/workbench/contrib/debug/browser/media/reverse-continue-light.svg b/src/vs/workbench/contrib/debug/browser/media/reverse-continue-light.svg deleted file mode 100644 index e0bbfb4202e36..0000000000000 --- a/src/vs/workbench/contrib/debug/browser/media/reverse-continue-light.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/vs/workbench/contrib/debug/browser/media/stackframe-and-breakpoint.svg b/src/vs/workbench/contrib/debug/browser/media/stackframe-and-breakpoint.svg deleted file mode 100644 index 3ce31c822c74b..0000000000000 --- a/src/vs/workbench/contrib/debug/browser/media/stackframe-and-breakpoint.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/src/vs/workbench/contrib/debug/browser/media/stackframe-arrow.svg b/src/vs/workbench/contrib/debug/browser/media/stackframe-arrow.svg deleted file mode 100644 index 38b63a34c5371..0000000000000 --- a/src/vs/workbench/contrib/debug/browser/media/stackframe-arrow.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/vs/workbench/contrib/debug/browser/media/step-back-dark.svg b/src/vs/workbench/contrib/debug/browser/media/step-back-dark.svg deleted file mode 100644 index 5a6ada3e113f0..0000000000000 --- a/src/vs/workbench/contrib/debug/browser/media/step-back-dark.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/vs/workbench/contrib/debug/browser/media/step-back-light.svg b/src/vs/workbench/contrib/debug/browser/media/step-back-light.svg deleted file mode 100644 index b5a994d42525a..0000000000000 --- a/src/vs/workbench/contrib/debug/browser/media/step-back-light.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/vs/workbench/contrib/debug/browser/media/step-into-dark.svg b/src/vs/workbench/contrib/debug/browser/media/step-into-dark.svg deleted file mode 100644 index 570ae02aafa4f..0000000000000 --- a/src/vs/workbench/contrib/debug/browser/media/step-into-dark.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/vs/workbench/contrib/debug/browser/media/step-into-light.svg b/src/vs/workbench/contrib/debug/browser/media/step-into-light.svg deleted file mode 100644 index 55c47062f5c4a..0000000000000 --- a/src/vs/workbench/contrib/debug/browser/media/step-into-light.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/vs/workbench/contrib/debug/browser/media/step-out-dark.svg b/src/vs/workbench/contrib/debug/browser/media/step-out-dark.svg deleted file mode 100644 index 33a7a2fdb7281..0000000000000 --- a/src/vs/workbench/contrib/debug/browser/media/step-out-dark.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/vs/workbench/contrib/debug/browser/media/step-out-light.svg b/src/vs/workbench/contrib/debug/browser/media/step-out-light.svg deleted file mode 100644 index 6ac2139659d46..0000000000000 --- a/src/vs/workbench/contrib/debug/browser/media/step-out-light.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/vs/workbench/contrib/debug/browser/media/step-over-dark.svg b/src/vs/workbench/contrib/debug/browser/media/step-over-dark.svg deleted file mode 100644 index 5bf10674eecdd..0000000000000 --- a/src/vs/workbench/contrib/debug/browser/media/step-over-dark.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/vs/workbench/contrib/debug/browser/media/step-over-light.svg b/src/vs/workbench/contrib/debug/browser/media/step-over-light.svg deleted file mode 100644 index b874a2564b5e5..0000000000000 --- a/src/vs/workbench/contrib/debug/browser/media/step-over-light.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/vs/workbench/contrib/debug/browser/media/stop-dark.svg b/src/vs/workbench/contrib/debug/browser/media/stop-dark.svg deleted file mode 100644 index 9a28f77a9f970..0000000000000 --- a/src/vs/workbench/contrib/debug/browser/media/stop-dark.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/vs/workbench/contrib/debug/browser/media/stop-light.svg b/src/vs/workbench/contrib/debug/browser/media/stop-light.svg deleted file mode 100644 index 9a28f77a9f970..0000000000000 --- a/src/vs/workbench/contrib/debug/browser/media/stop-light.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - From deb6b36378b071e5cb39287dbd73ee4dccd2d494 Mon Sep 17 00:00:00 2001 From: Miguel Solorio Date: Wed, 13 Nov 2019 20:58:51 -0800 Subject: [PATCH 06/11] Add data & unsupported breakpoint color tokens --- .../browser/debugCallStackContribution.ts | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/vs/workbench/contrib/debug/browser/debugCallStackContribution.ts b/src/vs/workbench/contrib/debug/browser/debugCallStackContribution.ts index 6a524f942794d..687eb51cd2d10 100644 --- a/src/vs/workbench/contrib/debug/browser/debugCallStackContribution.ts +++ b/src/vs/workbench/contrib/debug/browser/debugCallStackContribution.ts @@ -234,6 +234,24 @@ registerThemingParticipant((theme, collector) => { `); } + const debugIconBreakpointDataColor = theme.getColor(debugIconBreakpointDataForeground); + if (debugIconBreakpointDataColor) { + collector.addRule(` + .monaco-workbench .codicon-debug-breakpoint-data { + color: ${debugIconBreakpointDataColor} !important; + } + `); + } + + const debugIconBreakpointUnsupportedColor = theme.getColor(debugIconBreakpointUnsupportedForeground); + if (debugIconBreakpointUnsupportedColor) { + collector.addRule(` + .monaco-workbench .codicon-debug-breakpoint-unsupported { + color: ${debugIconBreakpointUnsupportedColor} !important; + } + `); + } + const debugIconBreakpointStackframeColor = theme.getColor(debugIconBreakpointStackframeForeground); if (debugIconBreakpointStackframeColor) { collector.addRule(` @@ -264,5 +282,7 @@ const debugIconBreakpointUnverifiedForeground = registerColor('debugIcon.breakpo const debugIconBreakpointConditionalForeground = registerColor('debugIcon.breakpointConditionalForeground', { dark: debugIconBreakpointForeground, light: debugIconBreakpointForeground, hc: debugIconBreakpointForeground }, localize('debugIcon.breakpointConditionalForeground', 'Icon color for conditional breakpoints.')); const debugIconBreakpointLogForeground = registerColor('debugIcon.breakpointLogForeground', { dark: debugIconBreakpointForeground, light: debugIconBreakpointForeground, hc: debugIconBreakpointForeground }, localize('debugIcon.breakpointLogForeground', 'Icon color for log breakpoints.')); const debugIconBreakpointFunctionForeground = registerColor('debugIcon.breakpointFunctionForeground', { dark: debugIconBreakpointForeground, light: debugIconBreakpointForeground, hc: debugIconBreakpointForeground }, localize('debugIcon.breakpointFunctionForeground', 'Icon color for function breakpoints.')); +const debugIconBreakpointDataForeground = registerColor('debugIcon.breakpointDataForeground', { dark: debugIconBreakpointForeground, light: debugIconBreakpointForeground, hc: debugIconBreakpointForeground }, localize('debugIcon.breakpointDataForeground', 'Icon color for data breakpoints.')); +const debugIconBreakpointUnsupportedForeground = registerColor('debugIcon.breakpointUnsupportedForeground', { dark: debugIconBreakpointForeground, light: debugIconBreakpointForeground, hc: debugIconBreakpointForeground }, localize('debugIcon.breakpointUnsupportedForeground', 'Icon color for unsupported breakpoints.')); const debugIconBreakpointStackframeForeground = registerColor('debugIcon.breakpointStackframeForeground', { dark: '#FFCC00', light: '#FFCC00', hc: '#FFCC00' }, localize('debugIcon.breakpointStackframeForeground', 'Icon color for breakpoints.')); const debugIconBreakpointStackframeFocusedForeground = registerColor('debugIcon.breakpointStackframeFocusedForeground', { dark: '#89D185', light: '#89D185', hc: '#89D185' }, localize('debugIcon.breakpointStackframeFocusedForeground', 'Icon color for breakpoints.')); From a0316e3b3087e1416f8c41acef0b40fca19a30a5 Mon Sep 17 00:00:00 2001 From: Miguel Solorio Date: Wed, 13 Nov 2019 21:18:43 -0800 Subject: [PATCH 07/11] Update breakpoint glyph name in automation test --- test/automation/src/debug.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/automation/src/debug.ts b/test/automation/src/debug.ts index ec6678bb780ab..4739d8a991798 100644 --- a/test/automation/src/debug.ts +++ b/test/automation/src/debug.ts @@ -19,7 +19,7 @@ const STEP_IN = `.debug-toolbar .action-label[title*="Step Into"]`; const STEP_OUT = `.debug-toolbar .action-label[title*="Step Out"]`; const CONTINUE = `.debug-toolbar .action-label[title*="Continue"]`; const GLYPH_AREA = '.margin-view-overlays>:nth-child'; -const BREAKPOINT_GLYPH = '.codicon-circle-filled'; +const BREAKPOINT_GLYPH = '.codicon-debug-breakpoint'; const PAUSE = `.debug-toolbar .action-label[title*="Pause"]`; const DEBUG_STATUS_BAR = `.statusbar.debugging`; const NOT_DEBUG_STATUS_BAR = `.statusbar:not(debugging)`; From bf9d2637b8c3ebed40c074f4570de63d679d1929 Mon Sep 17 00:00:00 2001 From: Miguel Solorio Date: Wed, 13 Nov 2019 23:04:09 -0800 Subject: [PATCH 08/11] Use optional chaining --- src/vs/code/electron-main/window.ts | 2 +- src/vs/platform/actions/browser/menuEntryActionViewItem.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/vs/code/electron-main/window.ts b/src/vs/code/electron-main/window.ts index 531dfe2afb807..6313aaf033836 100644 --- a/src/vs/code/electron-main/window.ts +++ b/src/vs/code/electron-main/window.ts @@ -1096,7 +1096,7 @@ export class CodeWindow extends Disposable implements ICodeWindow { private createTouchBarGroupSegments(items: ISerializableCommandAction[] = []): ITouchBarSegment[] { const segments: ITouchBarSegment[] = items.map(item => { let icon: NativeImage | undefined; - if (item.iconLocation && typeof item.iconLocation?.dark !== 'undefined' && item.iconLocation.dark.scheme === 'file') { + if (item.iconLocation && item.iconLocation?.dark?.scheme === 'file') { icon = nativeImage.createFromPath(URI.revive(item.iconLocation.dark).fsPath); if (icon.isEmpty()) { icon = undefined; diff --git a/src/vs/platform/actions/browser/menuEntryActionViewItem.ts b/src/vs/platform/actions/browser/menuEntryActionViewItem.ts index ac27e5bf8c523..05efd4bd424ca 100644 --- a/src/vs/platform/actions/browser/menuEntryActionViewItem.ts +++ b/src/vs/platform/actions/browser/menuEntryActionViewItem.ts @@ -255,7 +255,7 @@ export class MenuEntryActionViewItem extends ActionViewItem { else if (item.iconLocation) { let iconClass: string; - if (typeof item.iconLocation?.dark !== 'undefined') { + if (item.iconLocation?.dark?.scheme) { const iconPathMapKey = item.iconLocation.dark.toString(); From 0b72a41d72bdb9b0478e9bde30724082e68252f4 Mon Sep 17 00:00:00 2001 From: Miguel Solorio Date: Wed, 13 Nov 2019 23:04:55 -0800 Subject: [PATCH 09/11] Remove unused import --- src/vs/workbench/contrib/debug/browser/debug.contribution.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/vs/workbench/contrib/debug/browser/debug.contribution.ts b/src/vs/workbench/contrib/debug/browser/debug.contribution.ts index ec050e66f7591..3b28f2ac0c3d4 100644 --- a/src/vs/workbench/contrib/debug/browser/debug.contribution.ts +++ b/src/vs/workbench/contrib/debug/browser/debug.contribution.ts @@ -47,7 +47,6 @@ import { WatchExpressionsView } from 'vs/workbench/contrib/debug/browser/watchEx import { VariablesView } from 'vs/workbench/contrib/debug/browser/variablesView'; import { ClearReplAction, Repl } from 'vs/workbench/contrib/debug/browser/repl'; import { DebugContentProvider } from 'vs/workbench/contrib/debug/common/debugContentProvider'; -import { registerAndGetAmdImageURL } from 'vs/base/common/amd'; import { DebugCallStackContribution } from 'vs/workbench/contrib/debug/browser/debugCallStackContribution'; class OpenDebugViewletAction extends ShowViewletAction { From bfea1b4f6159c25a75c3e49b3fdb13710aa3d67d Mon Sep 17 00:00:00 2001 From: Miguel Solorio Date: Thu, 14 Nov 2019 07:58:21 -0800 Subject: [PATCH 10/11] Update codicons --- .../ui/codiconLabel/codicon/codicon.css | 3 ++- .../ui/codiconLabel/codicon/codicon.ttf | Bin 46932 -> 46932 bytes 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/vs/base/browser/ui/codiconLabel/codicon/codicon.css b/src/vs/base/browser/ui/codiconLabel/codicon/codicon.css index fda705bceb666..ef963fea47371 100644 --- a/src/vs/base/browser/ui/codiconLabel/codicon/codicon.css +++ b/src/vs/base/browser/ui/codiconLabel/codicon/codicon.css @@ -5,7 +5,7 @@ @font-face { font-family: "codicon"; - src: url("./codicon.ttf?ffbbbd998c09cc4af5af9e181bb08a70") format("truetype"); + src: url("./codicon.ttf?b035097bd976825411d2c57142be0530") format("truetype"); } .codicon[class*='codicon-'] { @@ -390,6 +390,7 @@ .codicon-list-filter:before { content: "\eb83" } .codicon-list-flat:before { content: "\eb84" } .codicon-list-selection:before { content: "\eb85" } +.codicon-selection:before { content: "\eb85" } .codicon-list-tree:before { content: "\eb86" } .codicon-debug-breakpoint-function-unverified:before { content: "\eb87" } .codicon-debug-breakpoint-function:before { content: "\eb88" } diff --git a/src/vs/base/browser/ui/codiconLabel/codicon/codicon.ttf b/src/vs/base/browser/ui/codiconLabel/codicon/codicon.ttf index 7e87d7f10387722d05b94db947ddd29351db6cb3..e2d73d87e70f684d27a21420951c6be81593157b 100644 GIT binary patch delta 48 xcmccej_JxfrU`+}r4vghhD?=~Q5K2kxB1Gz%}~Gq1UElxo`KPuSr`Mh0RX&_5h?%x delta 48 xcmccej_JxfrU`+}#V0>c44En|zeysV-{va=H$wpf5ZwIa#tox4voHp10|4Aa5h?%x From cfeeb1a6c2e9f9be0ff84c059e4bf3e6bf6550b1 Mon Sep 17 00:00:00 2001 From: Miguel Solorio Date: Fri, 15 Nov 2019 10:32:40 -0800 Subject: [PATCH 11/11] Simplify color tokens for breakpoints --- .../browser/debugCallStackContribution.ts | 55 ++----------------- 1 file changed, 5 insertions(+), 50 deletions(-) diff --git a/src/vs/workbench/contrib/debug/browser/debugCallStackContribution.ts b/src/vs/workbench/contrib/debug/browser/debugCallStackContribution.ts index 687eb51cd2d10..ee78a18990e3f 100644 --- a/src/vs/workbench/contrib/debug/browser/debugCallStackContribution.ts +++ b/src/vs/workbench/contrib/debug/browser/debugCallStackContribution.ts @@ -181,6 +181,11 @@ registerThemingParticipant((theme, collector) => { if (debugIconBreakpointColor) { collector.addRule(` .monaco-workbench .codicon-debug-breakpoint, + .monaco-workbench .codicon-debug-breakpoint-conditional, + .monaco-workbench .codicon-debug-breakpoint-log, + .monaco-workbench .codicon-debug-breakpoint-function, + .monaco-workbench .codicon-debug-breakpoint-data, + .monaco-workbench .codicon-debug-breakpoint-unsupported, .monaco-workbench .codicon-debug-hint:not(*[class*='codicon-debug-breakpoint']) , .monaco-workbench .codicon-debug-breakpoint-stackframe-dot, .monaco-workbench .codicon-debug-breakpoint.codicon-debug-breakpoint-stackframe-focused::after { @@ -207,51 +212,6 @@ registerThemingParticipant((theme, collector) => { `); } - const debugIconBreakpointConditionalColor = theme.getColor(debugIconBreakpointConditionalForeground); - if (debugIconBreakpointConditionalColor) { - collector.addRule(` - .monaco-workbench .codicon-debug-breakpoint-conditional { - color: ${debugIconBreakpointConditionalColor} !important; - } - `); - } - - const debugIconBreakpointLogColor = theme.getColor(debugIconBreakpointLogForeground); - if (debugIconBreakpointLogColor) { - collector.addRule(` - .monaco-workbench .codicon-debug-breakpoint-log { - color: ${debugIconBreakpointLogColor} !important; - } - `); - } - - const debugIconBreakpointFunctionColor = theme.getColor(debugIconBreakpointFunctionForeground); - if (debugIconBreakpointFunctionColor) { - collector.addRule(` - .monaco-workbench .codicon-debug-breakpoint-function { - color: ${debugIconBreakpointFunctionColor} !important; - } - `); - } - - const debugIconBreakpointDataColor = theme.getColor(debugIconBreakpointDataForeground); - if (debugIconBreakpointDataColor) { - collector.addRule(` - .monaco-workbench .codicon-debug-breakpoint-data { - color: ${debugIconBreakpointDataColor} !important; - } - `); - } - - const debugIconBreakpointUnsupportedColor = theme.getColor(debugIconBreakpointUnsupportedForeground); - if (debugIconBreakpointUnsupportedColor) { - collector.addRule(` - .monaco-workbench .codicon-debug-breakpoint-unsupported { - color: ${debugIconBreakpointUnsupportedColor} !important; - } - `); - } - const debugIconBreakpointStackframeColor = theme.getColor(debugIconBreakpointStackframeForeground); if (debugIconBreakpointStackframeColor) { collector.addRule(` @@ -279,10 +239,5 @@ const focusedStackFrameColor = registerColor('editor.focusedStackFrameHighlightB const debugIconBreakpointForeground = registerColor('debugIcon.breakpointForeground', { dark: '#E51400', light: '#E51400', hc: '#E51400' }, localize('debugIcon.breakpointForeground', 'Icon color for breakpoints.')); const debugIconBreakpointDisabledForeground = registerColor('debugIcon.breakpointDisabledForeground', { dark: '#848484', light: '#848484', hc: '#848484' }, localize('debugIcon.breakpointDisabledForeground', 'Icon color for disabled breakpoints.')); const debugIconBreakpointUnverifiedForeground = registerColor('debugIcon.breakpointUnverifiedForeground', { dark: '#848484', light: '#848484', hc: '#848484' }, localize('debugIcon.breakpointUnverifiedForeground', 'Icon color for unverified breakpoints.')); -const debugIconBreakpointConditionalForeground = registerColor('debugIcon.breakpointConditionalForeground', { dark: debugIconBreakpointForeground, light: debugIconBreakpointForeground, hc: debugIconBreakpointForeground }, localize('debugIcon.breakpointConditionalForeground', 'Icon color for conditional breakpoints.')); -const debugIconBreakpointLogForeground = registerColor('debugIcon.breakpointLogForeground', { dark: debugIconBreakpointForeground, light: debugIconBreakpointForeground, hc: debugIconBreakpointForeground }, localize('debugIcon.breakpointLogForeground', 'Icon color for log breakpoints.')); -const debugIconBreakpointFunctionForeground = registerColor('debugIcon.breakpointFunctionForeground', { dark: debugIconBreakpointForeground, light: debugIconBreakpointForeground, hc: debugIconBreakpointForeground }, localize('debugIcon.breakpointFunctionForeground', 'Icon color for function breakpoints.')); -const debugIconBreakpointDataForeground = registerColor('debugIcon.breakpointDataForeground', { dark: debugIconBreakpointForeground, light: debugIconBreakpointForeground, hc: debugIconBreakpointForeground }, localize('debugIcon.breakpointDataForeground', 'Icon color for data breakpoints.')); -const debugIconBreakpointUnsupportedForeground = registerColor('debugIcon.breakpointUnsupportedForeground', { dark: debugIconBreakpointForeground, light: debugIconBreakpointForeground, hc: debugIconBreakpointForeground }, localize('debugIcon.breakpointUnsupportedForeground', 'Icon color for unsupported breakpoints.')); const debugIconBreakpointStackframeForeground = registerColor('debugIcon.breakpointStackframeForeground', { dark: '#FFCC00', light: '#FFCC00', hc: '#FFCC00' }, localize('debugIcon.breakpointStackframeForeground', 'Icon color for breakpoints.')); const debugIconBreakpointStackframeFocusedForeground = registerColor('debugIcon.breakpointStackframeFocusedForeground', { dark: '#89D185', light: '#89D185', hc: '#89D185' }, localize('debugIcon.breakpointStackframeFocusedForeground', 'Icon color for breakpoints.'));