@codingame/monaco-vscode-debug-service-override 5.2.0 → 6.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -2
- package/vscode/src/vs/workbench/contrib/debug/browser/callStackView.js +5 -5
- package/vscode/src/vs/workbench/contrib/debug/browser/debug.contribution.js +26 -23
- package/vscode/src/vs/workbench/contrib/debug/browser/debugActionViewItems.js +8 -5
- package/vscode/src/vs/workbench/contrib/debug/browser/debugAdapterManager.js +2 -1
- package/vscode/src/vs/workbench/contrib/debug/browser/debugConfigurationManager.js +23 -20
- package/vscode/src/vs/workbench/contrib/debug/browser/debugEditorActions.js +12 -11
- package/vscode/src/vs/workbench/contrib/debug/browser/debugEditorContribution.js +38 -19
- package/vscode/src/vs/workbench/contrib/debug/browser/debugHover.js +22 -12
- package/vscode/src/vs/workbench/contrib/debug/browser/debugMemory.js +10 -10
- package/vscode/src/vs/workbench/contrib/debug/browser/debugProgress.js +2 -1
- package/vscode/src/vs/workbench/contrib/debug/browser/debugQuickAccess.js +4 -3
- package/vscode/src/vs/workbench/contrib/debug/browser/debugService.js +76 -57
- package/vscode/src/vs/workbench/contrib/debug/browser/debugSession.js +13 -11
- package/vscode/src/vs/workbench/contrib/debug/browser/debugStatus.js +4 -2
- package/vscode/src/vs/workbench/contrib/debug/browser/debugTaskRunner.js +23 -16
- package/vscode/src/vs/workbench/contrib/debug/browser/debugTitle.js +2 -1
- package/vscode/src/vs/workbench/contrib/debug/browser/debugToolBar.js +15 -13
- package/vscode/src/vs/workbench/contrib/debug/browser/debugViewlet.js +3 -3
- package/vscode/src/vs/workbench/contrib/debug/browser/disassemblyView.js +8 -6
- package/vscode/src/vs/workbench/contrib/debug/browser/exceptionWidget.js +3 -2
- package/vscode/src/vs/workbench/contrib/debug/browser/extensionHostDebugService.js +5 -3
- package/vscode/src/vs/workbench/contrib/debug/browser/linkDetector.js +3 -2
- package/vscode/src/vs/workbench/contrib/debug/browser/loadedScriptsView.js +5 -4
- package/vscode/src/vs/workbench/contrib/debug/browser/repl.js +29 -26
- package/vscode/src/vs/workbench/contrib/debug/browser/replFilter.js +3 -2
- package/vscode/src/vs/workbench/contrib/debug/browser/statusbarColorProvider.js +7 -6
- package/vscode/src/vs/workbench/contrib/debug/browser/variablesView.js +7 -6
- package/vscode/src/vs/workbench/contrib/debug/browser/watchExpressionsView.js +12 -11
- package/vscode/src/vs/workbench/contrib/debug/browser/welcomeView.js +3 -2
- package/vscode/src/vs/workbench/contrib/debug/common/debugStorage.js +21 -20
- package/vscode/src/vs/workbench/services/configurationResolver/browser/baseConfigurationResolverService.js +5 -3
- package/vscode/src/vs/workbench/services/configurationResolver/browser/configurationResolverService.js +1 -0
|
@@ -6,6 +6,7 @@ import { RunOnceScheduler } from 'vscode/vscode/vs/base/common/async';
|
|
|
6
6
|
import { memoize } from 'vscode/vscode/vs/base/common/decorators';
|
|
7
7
|
import { Emitter } from 'vscode/vscode/vs/base/common/event';
|
|
8
8
|
import { HistoryNavigator } from 'vscode/vscode/vs/base/common/history';
|
|
9
|
+
import { KeyCode, KeyMod } from 'vscode/vscode/vs/base/common/keyCodes';
|
|
9
10
|
import { Disposable } from 'vscode/vscode/vs/base/common/lifecycle';
|
|
10
11
|
import { removeAnsiEscapeCodes } from 'vscode/vscode/vs/base/common/strings';
|
|
11
12
|
import { ThemeIcon } from 'vscode/vscode/vs/base/common/themables';
|
|
@@ -15,10 +16,10 @@ import { isCodeEditor } from 'vscode/vscode/vs/editor/browser/editorBrowser';
|
|
|
15
16
|
import { EditorAction, registerEditorAction } from 'vscode/vscode/vs/editor/browser/editorExtensions';
|
|
16
17
|
import { ICodeEditorService } from 'vscode/vscode/vs/editor/browser/services/codeEditorService';
|
|
17
18
|
import { CodeEditorWidget } from 'vscode/vscode/vs/editor/browser/widget/codeEditor/codeEditorWidget';
|
|
18
|
-
import { EDITOR_FONT_DEFAULTS } from 'vscode/vscode/vs/editor/common/config/editorOptions';
|
|
19
|
+
import { EDITOR_FONT_DEFAULTS, EditorOption } from 'vscode/vscode/vs/editor/common/config/editorOptions';
|
|
19
20
|
import { Range } from 'vscode/vscode/vs/editor/common/core/range';
|
|
20
21
|
import { EditorContextKeys } from 'vscode/vscode/vs/editor/common/editorContextKeys';
|
|
21
|
-
import { CompletionItemKinds } from 'vscode/vscode/vs/editor/common/languages';
|
|
22
|
+
import { CompletionItemInsertTextRule, CompletionItemKinds, CompletionItemKind } from 'vscode/vscode/vs/editor/common/languages';
|
|
22
23
|
import { ILanguageFeaturesService } from 'vscode/vscode/vs/editor/common/services/languageFeatures';
|
|
23
24
|
import { IModelService } from 'vscode/vscode/vs/editor/common/services/model';
|
|
24
25
|
import { ITextResourcePropertiesService } from 'vscode/vscode/vs/editor/common/services/textResourceConfiguration';
|
|
@@ -36,9 +37,11 @@ import { registerAndCreateHistoryNavigationContext } from 'vscode/vscode/vs/plat
|
|
|
36
37
|
import { IInstantiationService } from 'vscode/vscode/vs/platform/instantiation/common/instantiation';
|
|
37
38
|
import { ServiceCollection } from 'vscode/vscode/vs/platform/instantiation/common/serviceCollection';
|
|
38
39
|
import { IKeybindingService } from 'vscode/vscode/vs/platform/keybinding/common/keybinding.service';
|
|
40
|
+
import { KeybindingWeight } from 'vscode/vscode/vs/platform/keybinding/common/keybindingsRegistry';
|
|
39
41
|
import { WorkbenchAsyncDataTree } from 'vscode/vscode/vs/platform/list/browser/listService';
|
|
40
42
|
import { ILogService } from 'vscode/vscode/vs/platform/log/common/log.service';
|
|
41
43
|
import { IOpenerService } from 'vscode/vscode/vs/platform/opener/common/opener.service';
|
|
44
|
+
import { StorageScope, StorageTarget } from 'vscode/vscode/vs/platform/storage/common/storage';
|
|
42
45
|
import { IStorageService } from 'vscode/vscode/vs/platform/storage/common/storage.service';
|
|
43
46
|
import { ITelemetryService } from 'vscode/vscode/vs/platform/telemetry/common/telemetry.service';
|
|
44
47
|
import { resolveColorValue } from 'vscode/vscode/vs/platform/theme/common/colorUtils';
|
|
@@ -62,7 +65,7 @@ import { debugConsoleEvaluationPrompt, debugConsoleClearAll } from 'vscode/vscod
|
|
|
62
65
|
import { LinkDetector } from './linkDetector.js';
|
|
63
66
|
import { ReplFilter } from './replFilter.js';
|
|
64
67
|
import { ReplDelegate, ReplVariablesRenderer, ReplOutputElementRenderer, ReplEvaluationInputsRenderer, ReplGroupRenderer, ReplEvaluationResultsRenderer, ReplRawObjectsRenderer, ReplDataSource, ReplAccessibilityProvider } from './replViewer.js';
|
|
65
|
-
import { DEBUG_SCHEME, CONTEXT_MULTI_SESSION_REPL, CONTEXT_IN_DEBUG_REPL, REPL_VIEW_ID, CONTEXT_DEBUG_STATE, getStateLabel } from 'vscode/vscode/vs/workbench/contrib/debug/common/debug';
|
|
68
|
+
import { DEBUG_SCHEME, CONTEXT_MULTI_SESSION_REPL, State, CONTEXT_IN_DEBUG_REPL, REPL_VIEW_ID, CONTEXT_DEBUG_STATE, getStateLabel } from 'vscode/vscode/vs/workbench/contrib/debug/common/debug';
|
|
66
69
|
import { IDebugService } from 'vscode/vscode/vs/workbench/contrib/debug/common/debug.service';
|
|
67
70
|
import { Variable } from 'vscode/vscode/vs/workbench/contrib/debug/common/debugModel';
|
|
68
71
|
import { ReplGroup, ReplEvaluationResult } from 'vscode/vscode/vs/workbench/contrib/debug/common/replModel';
|
|
@@ -89,13 +92,13 @@ let Repl = class Repl extends FilterViewPane {
|
|
|
89
92
|
static { this.REFRESH_DELAY = 50; }
|
|
90
93
|
static { this.URI = ( URI.parse(`${DEBUG_SCHEME}:replinput`)); }
|
|
91
94
|
constructor(options, debugService, instantiationService, storageService, themeService, modelService, contextKeyService, codeEditorService, viewDescriptorService, contextMenuService, configurationService, textResourcePropertiesService, editorService, keybindingService, openerService, telemetryService, hoverService, menuService, languageFeaturesService, logService) {
|
|
92
|
-
const filterText = storageService.get(FILTER_VALUE_STORAGE_KEY,
|
|
95
|
+
const filterText = storageService.get(FILTER_VALUE_STORAGE_KEY, StorageScope.WORKSPACE, '');
|
|
93
96
|
super({
|
|
94
97
|
...options,
|
|
95
98
|
filterOptions: {
|
|
96
99
|
placeholder: ( localizeWithPath(_moduleId, 0, "Filter (e.g. text, !exclude, \\escape)")),
|
|
97
100
|
text: filterText,
|
|
98
|
-
history: JSON.parse(storageService.get(FILTER_HISTORY_STORAGE_KEY,
|
|
101
|
+
history: JSON.parse(storageService.get(FILTER_HISTORY_STORAGE_KEY, StorageScope.WORKSPACE, '[]')),
|
|
99
102
|
}
|
|
100
103
|
}, keybindingService, contextMenuService, configurationService, contextKeyService, viewDescriptorService, instantiationService, openerService, themeService, telemetryService, hoverService);
|
|
101
104
|
this.debugService = debugService;
|
|
@@ -112,7 +115,7 @@ let Repl = class Repl extends FilterViewPane {
|
|
|
112
115
|
this.menu = menuService.createMenu(MenuId.DebugConsoleContext, contextKeyService);
|
|
113
116
|
this._register(this.menu);
|
|
114
117
|
this.history = ( (new HistoryNavigator(
|
|
115
|
-
JSON.parse(this.storageService.get(HISTORY_STORAGE_KEY,
|
|
118
|
+
JSON.parse(this.storageService.get(HISTORY_STORAGE_KEY, StorageScope.WORKSPACE, '[]')),
|
|
116
119
|
50
|
|
117
120
|
)));
|
|
118
121
|
this.filter = ( (new ReplFilter()));
|
|
@@ -137,7 +140,7 @@ let Repl = class Repl extends FilterViewPane {
|
|
|
137
140
|
}));
|
|
138
141
|
this._register(this.debugService.onWillNewSession(async (newSession) => {
|
|
139
142
|
const input = this.tree?.getInput();
|
|
140
|
-
if (!input || input.state ===
|
|
143
|
+
if (!input || input.state === State.Inactive) {
|
|
141
144
|
await this.selectSession(newSession);
|
|
142
145
|
}
|
|
143
146
|
this.multiSessionRepl.set(this.isMultiSessionView);
|
|
@@ -218,7 +221,7 @@ let Repl = class Repl extends FilterViewPane {
|
|
|
218
221
|
let insertTextRules = undefined;
|
|
219
222
|
let insertText = item.text || item.label;
|
|
220
223
|
if (typeof item.selectionStart === 'number') {
|
|
221
|
-
insertTextRules =
|
|
224
|
+
insertTextRules = CompletionItemInsertTextRule.InsertAsSnippet;
|
|
222
225
|
const selectionLength = typeof item.selectionLength === 'number' ? item.selectionLength : 0;
|
|
223
226
|
const placeholder = selectionLength > 0 ? '${1:' + insertText.substring(item.selectionStart, item.selectionStart + selectionLength) + '}$0' : '$0';
|
|
224
227
|
insertText = insertText.substring(0, item.selectionStart) + placeholder + insertText.substring(item.selectionStart + selectionLength);
|
|
@@ -242,7 +245,7 @@ let Repl = class Repl extends FilterViewPane {
|
|
|
242
245
|
history.forEach((h, i) => suggestions.push({
|
|
243
246
|
label: h,
|
|
244
247
|
insertText: h,
|
|
245
|
-
kind:
|
|
248
|
+
kind: CompletionItemKind.Text,
|
|
246
249
|
range: computeRange(h.length),
|
|
247
250
|
sortText: 'ZZZ' + String(history.length - i).padStart(idxLength, '0')
|
|
248
251
|
}));
|
|
@@ -264,7 +267,7 @@ let Repl = class Repl extends FilterViewPane {
|
|
|
264
267
|
}
|
|
265
268
|
get isReadonly() {
|
|
266
269
|
const session = this.tree?.getInput();
|
|
267
|
-
if (session && session.state !==
|
|
270
|
+
if (session && session.state !== State.Inactive) {
|
|
268
271
|
return false;
|
|
269
272
|
}
|
|
270
273
|
return true;
|
|
@@ -306,7 +309,7 @@ let Repl = class Repl extends FilterViewPane {
|
|
|
306
309
|
lineHeight: this.replOptions.replConfiguration.lineHeight,
|
|
307
310
|
fontFamily: this.replOptions.replConfiguration.fontFamily === 'default' ? EDITOR_FONT_DEFAULTS.fontFamily : this.replOptions.replConfiguration.fontFamily
|
|
308
311
|
});
|
|
309
|
-
const replInputLineHeight = this.replInput.getOption(
|
|
312
|
+
const replInputLineHeight = this.replInput.getOption(EditorOption.lineHeight);
|
|
310
313
|
this.styleElement.textContent = `
|
|
311
314
|
.repl .repl-input-wrapper .repl-input-chevron {
|
|
312
315
|
line-height: ${replInputLineHeight}px
|
|
@@ -369,7 +372,7 @@ let Repl = class Repl extends FilterViewPane {
|
|
|
369
372
|
const session = this.tree?.getInput();
|
|
370
373
|
if (session) {
|
|
371
374
|
session.removeReplExpressions();
|
|
372
|
-
if (session.state ===
|
|
375
|
+
if (session.state === State.Inactive) {
|
|
373
376
|
sessionsToIgnore.add(session);
|
|
374
377
|
await this.selectSession();
|
|
375
378
|
this.multiSessionRepl.set(this.isMultiSessionView);
|
|
@@ -636,24 +639,24 @@ let Repl = class Repl extends FilterViewPane {
|
|
|
636
639
|
saveState() {
|
|
637
640
|
const replHistory = this.history.getHistory();
|
|
638
641
|
if (replHistory.length) {
|
|
639
|
-
this.storageService.store(HISTORY_STORAGE_KEY, JSON.stringify(replHistory),
|
|
642
|
+
this.storageService.store(HISTORY_STORAGE_KEY, JSON.stringify(replHistory), StorageScope.WORKSPACE, StorageTarget.MACHINE);
|
|
640
643
|
}
|
|
641
644
|
else {
|
|
642
|
-
this.storageService.remove(HISTORY_STORAGE_KEY,
|
|
645
|
+
this.storageService.remove(HISTORY_STORAGE_KEY, StorageScope.WORKSPACE);
|
|
643
646
|
}
|
|
644
647
|
const filterHistory = this.filterWidget.getHistory();
|
|
645
648
|
if (filterHistory.length) {
|
|
646
|
-
this.storageService.store(FILTER_HISTORY_STORAGE_KEY, JSON.stringify(filterHistory),
|
|
649
|
+
this.storageService.store(FILTER_HISTORY_STORAGE_KEY, JSON.stringify(filterHistory), StorageScope.WORKSPACE, StorageTarget.MACHINE);
|
|
647
650
|
}
|
|
648
651
|
else {
|
|
649
|
-
this.storageService.remove(FILTER_HISTORY_STORAGE_KEY,
|
|
652
|
+
this.storageService.remove(FILTER_HISTORY_STORAGE_KEY, StorageScope.WORKSPACE);
|
|
650
653
|
}
|
|
651
654
|
const filterValue = this.filterWidget.getFilterText();
|
|
652
655
|
if (filterValue) {
|
|
653
|
-
this.storageService.store(FILTER_VALUE_STORAGE_KEY, filterValue,
|
|
656
|
+
this.storageService.store(FILTER_VALUE_STORAGE_KEY, filterValue, StorageScope.WORKSPACE, StorageTarget.MACHINE);
|
|
654
657
|
}
|
|
655
658
|
else {
|
|
656
|
-
this.storageService.remove(FILTER_VALUE_STORAGE_KEY,
|
|
659
|
+
this.storageService.remove(FILTER_VALUE_STORAGE_KEY, StorageScope.WORKSPACE);
|
|
657
660
|
}
|
|
658
661
|
super.saveState();
|
|
659
662
|
}
|
|
@@ -743,8 +746,8 @@ class AcceptReplInputAction extends EditorAction {
|
|
|
743
746
|
precondition: CONTEXT_IN_DEBUG_REPL,
|
|
744
747
|
kbOpts: {
|
|
745
748
|
kbExpr: EditorContextKeys.textInputFocus,
|
|
746
|
-
primary:
|
|
747
|
-
weight:
|
|
749
|
+
primary: KeyCode.Enter,
|
|
750
|
+
weight: KeybindingWeight.EditorContrib
|
|
748
751
|
}
|
|
749
752
|
});
|
|
750
753
|
}
|
|
@@ -763,8 +766,8 @@ class FilterReplAction extends EditorAction {
|
|
|
763
766
|
precondition: CONTEXT_IN_DEBUG_REPL,
|
|
764
767
|
kbOpts: {
|
|
765
768
|
kbExpr: EditorContextKeys.textInputFocus,
|
|
766
|
-
primary:
|
|
767
|
-
weight:
|
|
769
|
+
primary: KeyMod.CtrlCmd | KeyCode.KeyF,
|
|
770
|
+
weight: KeybindingWeight.EditorContrib
|
|
768
771
|
}
|
|
769
772
|
});
|
|
770
773
|
}
|
|
@@ -828,9 +831,9 @@ registerAction2(class extends ViewAction {
|
|
|
828
831
|
}
|
|
829
832
|
async runInView(accessor, view, session) {
|
|
830
833
|
const debugService = accessor.get(IDebugService);
|
|
831
|
-
if (session && session.state !==
|
|
832
|
-
if (session.state !==
|
|
833
|
-
const stopppedChildSession = debugService.getModel().getSessions().find(s => s.parentSession === session && s.state ===
|
|
834
|
+
if (session && session.state !== State.Inactive && session !== debugService.getViewModel().focusedSession) {
|
|
835
|
+
if (session.state !== State.Stopped) {
|
|
836
|
+
const stopppedChildSession = debugService.getModel().getSessions().find(s => s.parentSession === session && s.state === State.Stopped);
|
|
834
837
|
if (stopppedChildSession) {
|
|
835
838
|
session = stopppedChildSession;
|
|
836
839
|
}
|
|
@@ -893,7 +896,7 @@ registerAction2(class extends ViewAction {
|
|
|
893
896
|
id: 'debug.replPaste',
|
|
894
897
|
title: ( localizeWithPath(_moduleId, 11, "Paste")),
|
|
895
898
|
viewId: REPL_VIEW_ID,
|
|
896
|
-
precondition: ( (CONTEXT_DEBUG_STATE.notEqualsTo(getStateLabel(
|
|
899
|
+
precondition: ( (CONTEXT_DEBUG_STATE.notEqualsTo(getStateLabel(State.Inactive)))),
|
|
897
900
|
menu: {
|
|
898
901
|
id: MenuId.DebugConsoleContext,
|
|
899
902
|
group: '2_cutcopypaste',
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { matchesFuzzy } from 'vscode/vscode/vs/base/common/filters';
|
|
2
2
|
import { splitGlobAware } from 'vscode/vscode/vs/base/common/glob';
|
|
3
|
+
import { TreeVisibility } from 'vscode/vscode/vs/base/browser/ui/tree/tree';
|
|
3
4
|
import { ReplEvaluationInput, ReplEvaluationResult } from 'vscode/vscode/vs/workbench/contrib/debug/common/replModel';
|
|
4
5
|
import { Variable } from 'vscode/vscode/vs/workbench/contrib/debug/common/debugModel';
|
|
5
6
|
|
|
@@ -28,7 +29,7 @@ class ReplFilter {
|
|
|
28
29
|
}
|
|
29
30
|
filter(element, parentVisibility) {
|
|
30
31
|
if (element instanceof ReplEvaluationInput || element instanceof ReplEvaluationResult || element instanceof Variable) {
|
|
31
|
-
return
|
|
32
|
+
return TreeVisibility.Visible;
|
|
32
33
|
}
|
|
33
34
|
let includeQueryPresent = false;
|
|
34
35
|
let includeQueryMatched = false;
|
|
@@ -44,7 +45,7 @@ class ReplFilter {
|
|
|
44
45
|
}
|
|
45
46
|
}
|
|
46
47
|
}
|
|
47
|
-
return includeQueryPresent ? includeQueryMatched : (
|
|
48
|
+
return includeQueryPresent ? includeQueryMatched : (typeof parentVisibility !== 'undefined' ? parentVisibility : TreeVisibility.Visible);
|
|
48
49
|
}
|
|
49
50
|
}
|
|
50
51
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { __decorate, __param } from 'vscode/external/tslib/tslib.es6.js';
|
|
2
2
|
import { localizeWithPath } from 'vscode/vscode/vs/nls';
|
|
3
|
-
import { registerColor, asCssVariableName, asCssVariable } from 'vscode/vscode/vs/platform/theme/common/colorUtils';
|
|
3
|
+
import { registerColor, ColorTransformType, asCssVariableName, asCssVariable } from 'vscode/vscode/vs/platform/theme/common/colorUtils';
|
|
4
4
|
import 'vscode/vscode/vs/platform/theme/common/colors/baseColors';
|
|
5
5
|
import 'vscode/vscode/vs/platform/theme/common/colors/chartsColors';
|
|
6
6
|
import 'vscode/vscode/vs/platform/theme/common/colors/editorColors';
|
|
@@ -11,6 +11,7 @@ import 'vscode/vscode/vs/platform/theme/common/colors/minimapColors';
|
|
|
11
11
|
import 'vscode/vscode/vs/platform/theme/common/colors/miscColors';
|
|
12
12
|
import 'vscode/vscode/vs/platform/theme/common/colors/quickpickColors';
|
|
13
13
|
import 'vscode/vscode/vs/platform/theme/common/colors/searchColors';
|
|
14
|
+
import { State } from 'vscode/vscode/vs/workbench/contrib/debug/common/debug';
|
|
14
15
|
import { IDebugService } from 'vscode/vscode/vs/workbench/contrib/debug/common/debug.service';
|
|
15
16
|
import { IWorkspaceContextService } from 'vscode/vscode/vs/platform/workspace/common/workspace.service';
|
|
16
17
|
import { STATUS_BAR_FOREGROUND, STATUS_BAR_BORDER, COMMAND_CENTER_BACKGROUND } from 'vscode/vscode/vs/workbench/common/theme';
|
|
@@ -51,10 +52,10 @@ const STATUS_BAR_DEBUGGING_BORDER = registerColor('statusBar.debuggingBorder', {
|
|
|
51
52
|
"Status bar border color separating to the sidebar and editor when a program is being debugged. The status bar is shown in the bottom of the window"
|
|
52
53
|
)));
|
|
53
54
|
const COMMAND_CENTER_DEBUGGING_BACKGROUND = registerColor('commandCenter.debuggingBackground', {
|
|
54
|
-
dark: { value: STATUS_BAR_DEBUGGING_BACKGROUND, op:
|
|
55
|
-
hcDark: { value: STATUS_BAR_DEBUGGING_BACKGROUND, op:
|
|
56
|
-
light: { value: STATUS_BAR_DEBUGGING_BACKGROUND, op:
|
|
57
|
-
hcLight: { value: STATUS_BAR_DEBUGGING_BACKGROUND, op:
|
|
55
|
+
dark: { value: STATUS_BAR_DEBUGGING_BACKGROUND, op: ColorTransformType.Transparent, factor: 0.258 },
|
|
56
|
+
hcDark: { value: STATUS_BAR_DEBUGGING_BACKGROUND, op: ColorTransformType.Transparent, factor: 0.258 },
|
|
57
|
+
light: { value: STATUS_BAR_DEBUGGING_BACKGROUND, op: ColorTransformType.Transparent, factor: 0.258 },
|
|
58
|
+
hcLight: { value: STATUS_BAR_DEBUGGING_BACKGROUND, op: ColorTransformType.Transparent, factor: 0.258 }
|
|
58
59
|
}, ( localizeWithPath(
|
|
59
60
|
_moduleId,
|
|
60
61
|
3,
|
|
@@ -121,7 +122,7 @@ StatusBarColorProvider = ( (__decorate([
|
|
|
121
122
|
( (__param(4, IConfigurationService)))
|
|
122
123
|
], StatusBarColorProvider)));
|
|
123
124
|
function isStatusbarInDebugMode(state, sessions) {
|
|
124
|
-
if (state ===
|
|
125
|
+
if (state === State.Inactive || state === State.Initializing || sessions.every(s => s.suppressDebugStatusbar || s.configuration?.noDebug)) {
|
|
125
126
|
return false;
|
|
126
127
|
}
|
|
127
128
|
return true;
|
|
@@ -26,6 +26,7 @@ import { IKeybindingService } from 'vscode/vscode/vs/platform/keybinding/common/
|
|
|
26
26
|
import { WorkbenchAsyncDataTree } from 'vscode/vscode/vs/platform/list/browser/listService';
|
|
27
27
|
import { INotificationService } from 'vscode/vscode/vs/platform/notification/common/notification.service';
|
|
28
28
|
import { IOpenerService } from 'vscode/vscode/vs/platform/opener/common/opener.service';
|
|
29
|
+
import { ProgressLocation } from 'vscode/vscode/vs/platform/progress/common/progress';
|
|
29
30
|
import { ITelemetryService } from 'vscode/vscode/vs/platform/telemetry/common/telemetry.service';
|
|
30
31
|
import { IThemeService } from 'vscode/vscode/vs/platform/theme/common/themeService.service';
|
|
31
32
|
import { ViewPane, ViewAction } from 'vscode/vscode/vs/workbench/browser/parts/views/viewPane';
|
|
@@ -33,7 +34,7 @@ import { IViewDescriptorService } from 'vscode/vscode/vs/workbench/common/views.
|
|
|
33
34
|
import { renderViewTree, AbstractExpressionDataSource, AbstractExpressionsRenderer, renderExpressionValue, renderVariable } from 'vscode/vscode/vs/workbench/contrib/debug/browser/baseDebugView';
|
|
34
35
|
import { COPY_VALUE_LABEL, COPY_VALUE_ID, COPY_EVALUATE_PATH_LABEL, COPY_EVALUATE_PATH_ID, ADD_TO_WATCH_LABEL, ADD_TO_WATCH_ID } from 'vscode/vscode/vs/workbench/contrib/debug/browser/debugCommands';
|
|
35
36
|
import { LinkDetector } from './linkDetector.js';
|
|
36
|
-
import { CONTEXT_VARIABLES_FOCUSED, CONTEXT_BREAK_WHEN_VALUE_CHANGES_SUPPORTED, CONTEXT_BREAK_WHEN_VALUE_IS_ACCESSED_SUPPORTED, CONTEXT_BREAK_WHEN_VALUE_IS_READ_SUPPORTED, VARIABLES_VIEW_ID } from 'vscode/vscode/vs/workbench/contrib/debug/common/debug';
|
|
37
|
+
import { CONTEXT_VARIABLES_FOCUSED, CONTEXT_BREAK_WHEN_VALUE_CHANGES_SUPPORTED, CONTEXT_BREAK_WHEN_VALUE_IS_ACCESSED_SUPPORTED, CONTEXT_BREAK_WHEN_VALUE_IS_READ_SUPPORTED, DebugVisualizationType, DataBreakpointSetType, VARIABLES_VIEW_ID } from 'vscode/vscode/vs/workbench/contrib/debug/common/debug';
|
|
37
38
|
import { IDebugService } from 'vscode/vscode/vs/workbench/contrib/debug/common/debug.service';
|
|
38
39
|
import { getContextForVariable } from '../common/debugContext.js';
|
|
39
40
|
import { Variable, VisualizedExpression, Expression, StackFrame, ErrorScope, Scope, getUriForDebugMemory } from 'vscode/vscode/vs/workbench/contrib/debug/common/debugModel';
|
|
@@ -495,7 +496,7 @@ let VariablesRenderer = class VariablesRenderer extends AbstractExpressionsRende
|
|
|
495
496
|
if (token.isCancellationRequested) {
|
|
496
497
|
return;
|
|
497
498
|
}
|
|
498
|
-
if (resolved.type ===
|
|
499
|
+
if (resolved.type === DebugVisualizationType.Command) {
|
|
499
500
|
viz.execute();
|
|
500
501
|
}
|
|
501
502
|
else {
|
|
@@ -631,7 +632,7 @@ async function tryInstallHexEditor(extensionsWorkbenchService, notificationServi
|
|
|
631
632
|
await extensionsWorkbenchService.install(HEX_EDITOR_EXTENSION_ID, {
|
|
632
633
|
justification: ( localizeWithPath(_moduleId, 6, "Inspecting binary data requires this extension.")),
|
|
633
634
|
enable: true
|
|
634
|
-
},
|
|
635
|
+
}, ProgressLocation.Notification);
|
|
635
636
|
return true;
|
|
636
637
|
}
|
|
637
638
|
catch (error) {
|
|
@@ -645,7 +646,7 @@ CommandsRegistry.registerCommand({
|
|
|
645
646
|
handler: async (accessor) => {
|
|
646
647
|
const debugService = accessor.get(IDebugService);
|
|
647
648
|
if (dataBreakpointInfoResponse) {
|
|
648
|
-
await debugService.addDataBreakpoint({ description: dataBreakpointInfoResponse.description, src: { type:
|
|
649
|
+
await debugService.addDataBreakpoint({ description: dataBreakpointInfoResponse.description, src: { type: DataBreakpointSetType.Variable, dataId: dataBreakpointInfoResponse.dataId }, canPersist: !!dataBreakpointInfoResponse.canPersist, accessTypes: dataBreakpointInfoResponse.accessTypes, accessType: 'write' });
|
|
649
650
|
}
|
|
650
651
|
}
|
|
651
652
|
});
|
|
@@ -655,7 +656,7 @@ CommandsRegistry.registerCommand({
|
|
|
655
656
|
handler: async (accessor) => {
|
|
656
657
|
const debugService = accessor.get(IDebugService);
|
|
657
658
|
if (dataBreakpointInfoResponse) {
|
|
658
|
-
await debugService.addDataBreakpoint({ description: dataBreakpointInfoResponse.description, src: { type:
|
|
659
|
+
await debugService.addDataBreakpoint({ description: dataBreakpointInfoResponse.description, src: { type: DataBreakpointSetType.Variable, dataId: dataBreakpointInfoResponse.dataId }, canPersist: !!dataBreakpointInfoResponse.canPersist, accessTypes: dataBreakpointInfoResponse.accessTypes, accessType: 'readWrite' });
|
|
659
660
|
}
|
|
660
661
|
}
|
|
661
662
|
});
|
|
@@ -665,7 +666,7 @@ CommandsRegistry.registerCommand({
|
|
|
665
666
|
handler: async (accessor) => {
|
|
666
667
|
const debugService = accessor.get(IDebugService);
|
|
667
668
|
if (dataBreakpointInfoResponse) {
|
|
668
|
-
await debugService.addDataBreakpoint({ description: dataBreakpointInfoResponse.description, src: { type:
|
|
669
|
+
await debugService.addDataBreakpoint({ description: dataBreakpointInfoResponse.description, src: { type: DataBreakpointSetType.Variable, dataId: dataBreakpointInfoResponse.dataId }, canPersist: !!dataBreakpointInfoResponse.canPersist, accessTypes: dataBreakpointInfoResponse.accessTypes, accessType: 'read' });
|
|
669
670
|
}
|
|
670
671
|
}
|
|
671
672
|
});
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { __decorate, __param } from 'vscode/external/tslib/tslib.es6.js';
|
|
2
|
-
import {
|
|
2
|
+
import { ListDragOverEffectPosition, ListDragOverEffectType } from 'vscode/vscode/vs/base/browser/ui/list/list';
|
|
3
|
+
import { ElementsDragAndDropData, ListViewTargetSector } from 'vscode/vscode/vs/base/browser/ui/list/listView';
|
|
3
4
|
import { RunOnceScheduler } from 'vscode/vscode/vs/base/common/async';
|
|
4
5
|
import { Codicon } from 'vscode/vscode/vs/base/common/codicons';
|
|
5
6
|
import { localizeWithPath } from 'vscode/vscode/vs/nls';
|
|
@@ -338,22 +339,22 @@ class WatchExpressionsDragAndDrop {
|
|
|
338
339
|
}
|
|
339
340
|
let dropEffectPosition = undefined;
|
|
340
341
|
if (targetIndex === undefined) {
|
|
341
|
-
dropEffectPosition =
|
|
342
|
+
dropEffectPosition = ListDragOverEffectPosition.After;
|
|
342
343
|
targetIndex = -1;
|
|
343
344
|
}
|
|
344
345
|
else {
|
|
345
346
|
switch (targetSector) {
|
|
346
|
-
case
|
|
347
|
-
case
|
|
348
|
-
dropEffectPosition =
|
|
347
|
+
case ListViewTargetSector.TOP:
|
|
348
|
+
case ListViewTargetSector.CENTER_TOP:
|
|
349
|
+
dropEffectPosition = ListDragOverEffectPosition.Before;
|
|
349
350
|
break;
|
|
350
|
-
case
|
|
351
|
-
case
|
|
352
|
-
dropEffectPosition =
|
|
351
|
+
case ListViewTargetSector.CENTER_BOTTOM:
|
|
352
|
+
case ListViewTargetSector.BOTTOM:
|
|
353
|
+
dropEffectPosition = ListDragOverEffectPosition.After;
|
|
353
354
|
break;
|
|
354
355
|
}
|
|
355
356
|
}
|
|
356
|
-
return { accept: true, effect: { type:
|
|
357
|
+
return { accept: true, effect: { type: ListDragOverEffectType.Move, position: dropEffectPosition }, feedback: [targetIndex] };
|
|
357
358
|
}
|
|
358
359
|
getDragURI(element) {
|
|
359
360
|
if (!(element instanceof Expression) || element === this.debugService.getViewModel().getSelectedExpression()?.expression) {
|
|
@@ -381,8 +382,8 @@ class WatchExpressionsDragAndDrop {
|
|
|
381
382
|
if (targetElement instanceof Expression) {
|
|
382
383
|
targetPosition = watches.indexOf(targetElement);
|
|
383
384
|
switch (targetSector) {
|
|
384
|
-
case
|
|
385
|
-
case
|
|
385
|
+
case ListViewTargetSector.BOTTOM:
|
|
386
|
+
case ListViewTargetSector.CENTER_BOTTOM:
|
|
386
387
|
targetPosition++;
|
|
387
388
|
break;
|
|
388
389
|
}
|
|
@@ -19,6 +19,7 @@ import { WorkbenchStateContext } from 'vscode/vscode/vs/workbench/common/context
|
|
|
19
19
|
import { OpenFileFolderAction, OpenFileAction, OpenFolderAction } from 'vscode/vscode/vs/workbench/browser/actions/workspaceActions';
|
|
20
20
|
import { isMacintosh, isWeb } from 'vscode/vscode/vs/base/common/platform';
|
|
21
21
|
import { isDiffEditor, isCodeEditor } from 'vscode/vscode/vs/editor/browser/editorBrowser';
|
|
22
|
+
import { StorageScope, StorageTarget } from 'vscode/vscode/vs/platform/storage/common/storage';
|
|
22
23
|
import { IStorageService } from 'vscode/vscode/vs/platform/storage/common/storage.service';
|
|
23
24
|
import { ITelemetryService } from 'vscode/vscode/vs/platform/telemetry/common/telemetry.service';
|
|
24
25
|
import { DisposableStore } from 'vscode/vscode/vs/base/common/lifecycle';
|
|
@@ -38,7 +39,7 @@ let WelcomeView = class WelcomeView extends ViewPane {
|
|
|
38
39
|
this.editorService = editorService;
|
|
39
40
|
this.debugStartLanguageContext = CONTEXT_DEBUG_START_LANGUAGE.bindTo(contextKeyService);
|
|
40
41
|
this.debuggerInterestedContext = CONTEXT_DEBUGGER_INTERESTED_IN_ACTIVE_EDITOR.bindTo(contextKeyService);
|
|
41
|
-
const lastSetLanguage = storageSevice.get(debugStartLanguageKey,
|
|
42
|
+
const lastSetLanguage = storageSevice.get(debugStartLanguageKey, StorageScope.WORKSPACE);
|
|
42
43
|
this.debugStartLanguageContext.set(lastSetLanguage);
|
|
43
44
|
const setContextKey = () => {
|
|
44
45
|
let editorControl = this.editorService.activeTextEditorControl;
|
|
@@ -51,7 +52,7 @@ let WelcomeView = class WelcomeView extends ViewPane {
|
|
|
51
52
|
if (language && this.debugService.getAdapterManager().someDebuggerInterestedInLanguage(language)) {
|
|
52
53
|
this.debugStartLanguageContext.set(language);
|
|
53
54
|
this.debuggerInterestedContext.set(true);
|
|
54
|
-
storageSevice.store(debugStartLanguageKey, language,
|
|
55
|
+
storageSevice.store(debugStartLanguageKey, language, StorageScope.WORKSPACE, StorageTarget.MACHINE);
|
|
55
56
|
return;
|
|
56
57
|
}
|
|
57
58
|
}
|
|
@@ -8,6 +8,7 @@ import 'vscode/vscode/vs/base/common/cancellation';
|
|
|
8
8
|
import 'vscode/vscode/vs/base/common/arrays';
|
|
9
9
|
import { URI } from 'vscode/vscode/vs/base/common/uri';
|
|
10
10
|
import { ILogService } from 'vscode/vscode/vs/platform/log/common/log.service';
|
|
11
|
+
import { StorageScope, StorageTarget } from 'vscode/vscode/vs/platform/storage/common/storage';
|
|
11
12
|
import { IStorageService } from 'vscode/vscode/vs/platform/storage/common/storage.service';
|
|
12
13
|
import { IUriIdentityService } from 'vscode/vscode/vs/platform/uriIdentity/common/uriIdentity.service';
|
|
13
14
|
import { Breakpoint, FunctionBreakpoint, ExceptionBreakpoint, DataBreakpoint, Expression } from 'vscode/vscode/vs/workbench/contrib/debug/common/debugModel';
|
|
@@ -32,7 +33,7 @@ let DebugStorage = class DebugStorage extends Disposable {
|
|
|
32
33
|
this.exceptionBreakpoints = observableValue(this, this.loadExceptionBreakpoints());
|
|
33
34
|
this.dataBreakpoints = observableValue(this, this.loadDataBreakpoints());
|
|
34
35
|
this.watchExpressions = observableValue(this, this.loadWatchExpressions());
|
|
35
|
-
this._register(storageService.onDidChangeValue(
|
|
36
|
+
this._register(storageService.onDidChangeValue(StorageScope.WORKSPACE, undefined, this._store)(e => {
|
|
36
37
|
if (e.external) {
|
|
37
38
|
switch (e.key) {
|
|
38
39
|
case DEBUG_BREAKPOINTS_KEY:
|
|
@@ -50,15 +51,15 @@ let DebugStorage = class DebugStorage extends Disposable {
|
|
|
50
51
|
}));
|
|
51
52
|
}
|
|
52
53
|
loadDebugUxState() {
|
|
53
|
-
return this.storageService.get(DEBUG_UX_STATE_KEY,
|
|
54
|
+
return this.storageService.get(DEBUG_UX_STATE_KEY, StorageScope.WORKSPACE, 'default');
|
|
54
55
|
}
|
|
55
56
|
storeDebugUxState(value) {
|
|
56
|
-
this.storageService.store(DEBUG_UX_STATE_KEY, value,
|
|
57
|
+
this.storageService.store(DEBUG_UX_STATE_KEY, value, StorageScope.WORKSPACE, StorageTarget.MACHINE);
|
|
57
58
|
}
|
|
58
59
|
loadBreakpoints() {
|
|
59
60
|
let result;
|
|
60
61
|
try {
|
|
61
|
-
result = ( JSON.parse(this.storageService.get(DEBUG_BREAKPOINTS_KEY,
|
|
62
|
+
result = ( JSON.parse(this.storageService.get(DEBUG_BREAKPOINTS_KEY, StorageScope.WORKSPACE, '[]')).map((breakpoint) => {
|
|
62
63
|
breakpoint.uri = URI.revive(breakpoint.uri);
|
|
63
64
|
return ( new Breakpoint(
|
|
64
65
|
breakpoint,
|
|
@@ -75,7 +76,7 @@ let DebugStorage = class DebugStorage extends Disposable {
|
|
|
75
76
|
loadFunctionBreakpoints() {
|
|
76
77
|
let result;
|
|
77
78
|
try {
|
|
78
|
-
result = ( JSON.parse(this.storageService.get(DEBUG_FUNCTION_BREAKPOINTS_KEY,
|
|
79
|
+
result = ( JSON.parse(this.storageService.get(DEBUG_FUNCTION_BREAKPOINTS_KEY, StorageScope.WORKSPACE, '[]')).map((fb) => {
|
|
79
80
|
return ( new FunctionBreakpoint(fb, fb.id));
|
|
80
81
|
}));
|
|
81
82
|
}
|
|
@@ -85,7 +86,7 @@ let DebugStorage = class DebugStorage extends Disposable {
|
|
|
85
86
|
loadExceptionBreakpoints() {
|
|
86
87
|
let result;
|
|
87
88
|
try {
|
|
88
|
-
result = ( JSON.parse(this.storageService.get(DEBUG_EXCEPTION_BREAKPOINTS_KEY,
|
|
89
|
+
result = ( JSON.parse(this.storageService.get(DEBUG_EXCEPTION_BREAKPOINTS_KEY, StorageScope.WORKSPACE, '[]')).map((exBreakpoint) => {
|
|
89
90
|
return ( new ExceptionBreakpoint(exBreakpoint, exBreakpoint.id));
|
|
90
91
|
}));
|
|
91
92
|
}
|
|
@@ -95,7 +96,7 @@ let DebugStorage = class DebugStorage extends Disposable {
|
|
|
95
96
|
loadDataBreakpoints() {
|
|
96
97
|
let result;
|
|
97
98
|
try {
|
|
98
|
-
result = ( JSON.parse(this.storageService.get(DEBUG_DATA_BREAKPOINTS_KEY,
|
|
99
|
+
result = ( JSON.parse(this.storageService.get(DEBUG_DATA_BREAKPOINTS_KEY, StorageScope.WORKSPACE, '[]')).map((dbp) => {
|
|
99
100
|
return ( new DataBreakpoint(dbp, dbp.id));
|
|
100
101
|
}));
|
|
101
102
|
}
|
|
@@ -105,7 +106,7 @@ let DebugStorage = class DebugStorage extends Disposable {
|
|
|
105
106
|
loadWatchExpressions() {
|
|
106
107
|
let result;
|
|
107
108
|
try {
|
|
108
|
-
result = ( JSON.parse(this.storageService.get(DEBUG_WATCH_EXPRESSIONS_KEY,
|
|
109
|
+
result = ( JSON.parse(this.storageService.get(DEBUG_WATCH_EXPRESSIONS_KEY, StorageScope.WORKSPACE, '[]')).map((watchStoredData) => {
|
|
109
110
|
return ( new Expression(watchStoredData.name, watchStoredData.id));
|
|
110
111
|
}));
|
|
111
112
|
}
|
|
@@ -113,47 +114,47 @@ let DebugStorage = class DebugStorage extends Disposable {
|
|
|
113
114
|
return result || [];
|
|
114
115
|
}
|
|
115
116
|
loadChosenEnvironments() {
|
|
116
|
-
return JSON.parse(this.storageService.get(DEBUG_CHOSEN_ENVIRONMENTS_KEY,
|
|
117
|
+
return JSON.parse(this.storageService.get(DEBUG_CHOSEN_ENVIRONMENTS_KEY, StorageScope.WORKSPACE, '{}'));
|
|
117
118
|
}
|
|
118
119
|
storeChosenEnvironments(environments) {
|
|
119
|
-
this.storageService.store(DEBUG_CHOSEN_ENVIRONMENTS_KEY, JSON.stringify(environments),
|
|
120
|
+
this.storageService.store(DEBUG_CHOSEN_ENVIRONMENTS_KEY, JSON.stringify(environments), StorageScope.WORKSPACE, StorageTarget.MACHINE);
|
|
120
121
|
}
|
|
121
122
|
storeWatchExpressions(watchExpressions) {
|
|
122
123
|
if (watchExpressions.length) {
|
|
123
|
-
this.storageService.store(DEBUG_WATCH_EXPRESSIONS_KEY, JSON.stringify(( watchExpressions.map(we => ({ name: we.name, id: we.getId() })))),
|
|
124
|
+
this.storageService.store(DEBUG_WATCH_EXPRESSIONS_KEY, JSON.stringify(( watchExpressions.map(we => ({ name: we.name, id: we.getId() })))), StorageScope.WORKSPACE, StorageTarget.MACHINE);
|
|
124
125
|
}
|
|
125
126
|
else {
|
|
126
|
-
this.storageService.remove(DEBUG_WATCH_EXPRESSIONS_KEY,
|
|
127
|
+
this.storageService.remove(DEBUG_WATCH_EXPRESSIONS_KEY, StorageScope.WORKSPACE);
|
|
127
128
|
}
|
|
128
129
|
}
|
|
129
130
|
storeBreakpoints(debugModel) {
|
|
130
131
|
const breakpoints = debugModel.getBreakpoints();
|
|
131
132
|
if (breakpoints.length) {
|
|
132
|
-
this.storageService.store(DEBUG_BREAKPOINTS_KEY, JSON.stringify(breakpoints),
|
|
133
|
+
this.storageService.store(DEBUG_BREAKPOINTS_KEY, JSON.stringify(breakpoints), StorageScope.WORKSPACE, StorageTarget.MACHINE);
|
|
133
134
|
}
|
|
134
135
|
else {
|
|
135
|
-
this.storageService.remove(DEBUG_BREAKPOINTS_KEY,
|
|
136
|
+
this.storageService.remove(DEBUG_BREAKPOINTS_KEY, StorageScope.WORKSPACE);
|
|
136
137
|
}
|
|
137
138
|
const functionBreakpoints = debugModel.getFunctionBreakpoints();
|
|
138
139
|
if (functionBreakpoints.length) {
|
|
139
|
-
this.storageService.store(DEBUG_FUNCTION_BREAKPOINTS_KEY, JSON.stringify(functionBreakpoints),
|
|
140
|
+
this.storageService.store(DEBUG_FUNCTION_BREAKPOINTS_KEY, JSON.stringify(functionBreakpoints), StorageScope.WORKSPACE, StorageTarget.MACHINE);
|
|
140
141
|
}
|
|
141
142
|
else {
|
|
142
|
-
this.storageService.remove(DEBUG_FUNCTION_BREAKPOINTS_KEY,
|
|
143
|
+
this.storageService.remove(DEBUG_FUNCTION_BREAKPOINTS_KEY, StorageScope.WORKSPACE);
|
|
143
144
|
}
|
|
144
145
|
const dataBreakpoints = debugModel.getDataBreakpoints().filter(dbp => dbp.canPersist);
|
|
145
146
|
if (dataBreakpoints.length) {
|
|
146
|
-
this.storageService.store(DEBUG_DATA_BREAKPOINTS_KEY, JSON.stringify(dataBreakpoints),
|
|
147
|
+
this.storageService.store(DEBUG_DATA_BREAKPOINTS_KEY, JSON.stringify(dataBreakpoints), StorageScope.WORKSPACE, StorageTarget.MACHINE);
|
|
147
148
|
}
|
|
148
149
|
else {
|
|
149
|
-
this.storageService.remove(DEBUG_DATA_BREAKPOINTS_KEY,
|
|
150
|
+
this.storageService.remove(DEBUG_DATA_BREAKPOINTS_KEY, StorageScope.WORKSPACE);
|
|
150
151
|
}
|
|
151
152
|
const exceptionBreakpoints = debugModel.getExceptionBreakpoints();
|
|
152
153
|
if (exceptionBreakpoints.length) {
|
|
153
|
-
this.storageService.store(DEBUG_EXCEPTION_BREAKPOINTS_KEY, JSON.stringify(exceptionBreakpoints),
|
|
154
|
+
this.storageService.store(DEBUG_EXCEPTION_BREAKPOINTS_KEY, JSON.stringify(exceptionBreakpoints), StorageScope.WORKSPACE, StorageTarget.MACHINE);
|
|
154
155
|
}
|
|
155
156
|
else {
|
|
156
|
-
this.storageService.remove(DEBUG_EXCEPTION_BREAKPOINTS_KEY,
|
|
157
|
+
this.storageService.remove(DEBUG_EXCEPTION_BREAKPOINTS_KEY, StorageScope.WORKSPACE);
|
|
157
158
|
}
|
|
158
159
|
}
|
|
159
160
|
};
|
|
@@ -3,6 +3,8 @@ import { Schemas } from 'vscode/vscode/vs/base/common/network';
|
|
|
3
3
|
import { isUndefinedOrNull, isString } from 'vscode/vscode/vs/base/common/types';
|
|
4
4
|
import { isCodeEditor, isDiffEditor } from 'vscode/vscode/vs/editor/browser/editorBrowser';
|
|
5
5
|
import { localizeWithPath } from 'vscode/vscode/vs/nls';
|
|
6
|
+
import { ConfigurationTarget } from 'vscode/vscode/vs/platform/configuration/common/configuration';
|
|
7
|
+
import { WorkbenchState } from 'vscode/vscode/vs/platform/workspace/common/workspace';
|
|
6
8
|
import { EditorResourceAccessor, SideBySideEditor } from 'vscode/vscode/vs/workbench/common/editor';
|
|
7
9
|
import { AbstractVariableResolverService } from 'vscode/vscode/vs/workbench/services/configurationResolver/common/variableResolver';
|
|
8
10
|
|
|
@@ -131,15 +133,15 @@ class BaseConfigurationResolverService extends AbstractVariableResolverService {
|
|
|
131
133
|
return Promise.resolve(undefined);
|
|
132
134
|
}
|
|
133
135
|
let inputs = [];
|
|
134
|
-
if (this.workspaceContextService.getWorkbenchState() !==
|
|
136
|
+
if (this.workspaceContextService.getWorkbenchState() !== WorkbenchState.EMPTY && section) {
|
|
135
137
|
const overrides = folder ? { resource: folder.uri } : {};
|
|
136
138
|
const result = this.configurationService.inspect(section, overrides);
|
|
137
139
|
if (result && (result.userValue || result.workspaceValue || result.workspaceFolderValue)) {
|
|
138
140
|
switch (target) {
|
|
139
|
-
case
|
|
141
|
+
case ConfigurationTarget.USER:
|
|
140
142
|
inputs = result.userValue?.inputs;
|
|
141
143
|
break;
|
|
142
|
-
case
|
|
144
|
+
case ConfigurationTarget.WORKSPACE:
|
|
143
145
|
inputs = result.workspaceValue?.inputs;
|
|
144
146
|
break;
|
|
145
147
|
default: inputs = result.workspaceFolderValue?.inputs;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { __decorate, __param } from 'vscode/external/tslib/tslib.es6.js';
|
|
2
2
|
import { ICommandService } from 'vscode/vscode/vs/platform/commands/common/commands.service';
|
|
3
3
|
import { IConfigurationService } from 'vscode/vscode/vs/platform/configuration/common/configuration.service';
|
|
4
|
+
import 'vscode/vscode/vs/platform/instantiation/common/extensions';
|
|
4
5
|
import { ILabelService } from 'vscode/vscode/vs/platform/label/common/label.service';
|
|
5
6
|
import { IQuickInputService } from 'vscode/vscode/vs/platform/quickinput/common/quickInput.service';
|
|
6
7
|
import { IWorkspaceContextService } from 'vscode/vscode/vs/platform/workspace/common/workspace.service';
|