@codingame/monaco-vscode-debug-service-override 9.0.2 → 10.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/baseDebugView.js +160 -0
- package/vscode/src/vs/workbench/contrib/debug/browser/callStackView.js +22 -22
- package/vscode/src/vs/workbench/contrib/debug/browser/debug.contribution.js +133 -136
- package/vscode/src/vs/workbench/contrib/debug/browser/debugActionViewItems.js +12 -17
- package/vscode/src/vs/workbench/contrib/debug/browser/debugAdapterManager.js +12 -13
- package/vscode/src/vs/workbench/contrib/debug/browser/debugConfigurationManager.js +23 -26
- package/vscode/src/vs/workbench/contrib/debug/browser/debugConsoleQuickAccess.js +1 -1
- package/vscode/src/vs/workbench/contrib/debug/browser/debugEditorActions.js +35 -36
- package/vscode/src/vs/workbench/contrib/debug/browser/debugEditorContribution.js +21 -28
- package/vscode/src/vs/workbench/contrib/debug/browser/debugHover.js +29 -42
- package/vscode/src/vs/workbench/contrib/debug/browser/debugMemory.js +10 -10
- package/vscode/src/vs/workbench/contrib/debug/browser/debugProgress.js +1 -2
- package/vscode/src/vs/workbench/contrib/debug/browser/debugQuickAccess.js +11 -12
- package/vscode/src/vs/workbench/contrib/debug/browser/debugService.js +55 -67
- package/vscode/src/vs/workbench/contrib/debug/browser/debugSession.js +58 -58
- package/vscode/src/vs/workbench/contrib/debug/browser/debugSettingMigration.js +3 -6
- package/vscode/src/vs/workbench/contrib/debug/browser/debugStatus.js +5 -7
- package/vscode/src/vs/workbench/contrib/debug/browser/debugTaskRunner.js +35 -42
- package/vscode/src/vs/workbench/contrib/debug/browser/debugTitle.js +1 -2
- package/vscode/src/vs/workbench/contrib/debug/browser/debugToolBar.js +17 -21
- package/vscode/src/vs/workbench/contrib/debug/browser/debugViewlet.js +8 -8
- package/vscode/src/vs/workbench/contrib/debug/browser/disassemblyView.js +13 -15
- package/vscode/src/vs/workbench/contrib/debug/browser/exceptionWidget.js +8 -9
- package/vscode/src/vs/workbench/contrib/debug/browser/extensionHostDebugService.js +3 -5
- package/vscode/src/vs/workbench/contrib/debug/browser/loadedScriptsView.js +12 -13
- package/vscode/src/vs/workbench/contrib/debug/browser/media/debug.contribution.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/debug/browser/rawDebugSession.js +5 -5
- package/vscode/src/vs/workbench/contrib/debug/browser/repl.js +66 -71
- package/vscode/src/vs/workbench/contrib/debug/browser/replAccessibilityHelp.js +12 -14
- package/vscode/src/vs/workbench/contrib/debug/browser/replAccessibleView.js +4 -6
- package/vscode/src/vs/workbench/contrib/debug/browser/replFilter.js +2 -3
- package/vscode/src/vs/workbench/contrib/debug/browser/replViewer.js +40 -45
- package/vscode/src/vs/workbench/contrib/debug/browser/runAndDebugAccessibilityHelp.js +20 -22
- package/vscode/src/vs/workbench/contrib/debug/browser/statusbarColorProvider.js +5 -6
- package/vscode/src/vs/workbench/contrib/debug/browser/variablesView.js +39 -48
- package/vscode/src/vs/workbench/contrib/debug/browser/watchExpressionsView.js +34 -35
- package/vscode/src/vs/workbench/contrib/debug/browser/welcomeView.js +9 -10
- package/vscode/src/vs/workbench/contrib/debug/common/debugContentProvider.js +3 -3
- package/vscode/src/vs/workbench/contrib/debug/common/debugLifecycle.js +3 -3
- package/vscode/src/vs/workbench/contrib/debug/common/debugSchemas.js +44 -44
- package/vscode/src/vs/workbench/contrib/debug/common/debugStorage.js +24 -24
- package/vscode/src/vs/workbench/contrib/debug/common/debugVisualizers.js +5 -4
- package/vscode/src/vs/workbench/contrib/debug/common/debugger.js +11 -11
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/notebookVariables/notebookVariableCommands.js +2 -2
- package/vscode/src/vs/workbench/contrib/debug/browser/debugANSIHandling.js +0 -347
|
@@ -4,9 +4,7 @@ import { URI } from 'vscode/vscode/vs/base/common/uri';
|
|
|
4
4
|
import 'vscode/vscode/vs/platform/instantiation/common/instantiation';
|
|
5
5
|
import { ExtensionHostDebugChannelClient, ExtensionHostDebugBroadcastChannel } from '../../../../platform/debug/common/extensionHostDebugIpc.js';
|
|
6
6
|
import { IFileService } from 'vscode/vscode/vs/platform/files/common/files.service';
|
|
7
|
-
import 'vscode/vscode/vs/platform/instantiation/common/extensions';
|
|
8
7
|
import { ILogService } from 'vscode/vscode/vs/platform/log/common/log.service';
|
|
9
|
-
import { StorageScope, StorageTarget } from 'vscode/vscode/vs/platform/storage/common/storage';
|
|
10
8
|
import { IStorageService } from 'vscode/vscode/vs/platform/storage/common/storage.service';
|
|
11
9
|
import { isFolderToOpen, isWorkspaceToOpen } from 'vscode/vscode/vs/platform/window/common/window';
|
|
12
10
|
import { toWorkspaceIdentifier, isSingleFolderWorkspaceIdentifier, isWorkspaceIdentifier, hasWorkspaceFileExtension } from 'vscode/vscode/vs/platform/workspace/common/workspace';
|
|
@@ -52,10 +50,10 @@ let BrowserExtensionHostDebugService = class BrowserExtensionHostDebugService ex
|
|
|
52
50
|
const workspaceId = toWorkspaceIdentifier(contextService.getWorkspace());
|
|
53
51
|
if (isSingleFolderWorkspaceIdentifier(workspaceId) || isWorkspaceIdentifier(workspaceId)) {
|
|
54
52
|
const serializedWorkspace = isSingleFolderWorkspaceIdentifier(workspaceId) ? { folderUri: workspaceId.uri.toJSON() } : { workspaceUri: workspaceId.configPath.toJSON() };
|
|
55
|
-
storageService.store(BrowserExtensionHostDebugService_1.LAST_EXTENSION_DEVELOPMENT_WORKSPACE_KEY, JSON.stringify(serializedWorkspace),
|
|
53
|
+
storageService.store(BrowserExtensionHostDebugService_1.LAST_EXTENSION_DEVELOPMENT_WORKSPACE_KEY, JSON.stringify(serializedWorkspace), 0 , 1 );
|
|
56
54
|
}
|
|
57
55
|
else {
|
|
58
|
-
storageService.remove(BrowserExtensionHostDebugService_1.LAST_EXTENSION_DEVELOPMENT_WORKSPACE_KEY,
|
|
56
|
+
storageService.remove(BrowserExtensionHostDebugService_1.LAST_EXTENSION_DEVELOPMENT_WORKSPACE_KEY, 0 );
|
|
59
57
|
}
|
|
60
58
|
}
|
|
61
59
|
}
|
|
@@ -92,7 +90,7 @@ let BrowserExtensionHostDebugService = class BrowserExtensionHostDebugService ex
|
|
|
92
90
|
}
|
|
93
91
|
const extensionTestsPath = this.findArgument('extensionTestsPath', args);
|
|
94
92
|
if (!debugWorkspace && !extensionTestsPath) {
|
|
95
|
-
const lastExtensionDevelopmentWorkspace = this.storageService.get(BrowserExtensionHostDebugService_1.LAST_EXTENSION_DEVELOPMENT_WORKSPACE_KEY,
|
|
93
|
+
const lastExtensionDevelopmentWorkspace = this.storageService.get(BrowserExtensionHostDebugService_1.LAST_EXTENSION_DEVELOPMENT_WORKSPACE_KEY, 0 );
|
|
96
94
|
if (lastExtensionDevelopmentWorkspace) {
|
|
97
95
|
try {
|
|
98
96
|
const serializedWorkspace = JSON.parse(lastExtensionDevelopmentWorkspace);
|
|
@@ -6,7 +6,7 @@ import { IInstantiationService } from 'vscode/vscode/vs/platform/instantiation/c
|
|
|
6
6
|
import { IContextMenuService } from 'vscode/vscode/vs/platform/contextview/browser/contextView.service';
|
|
7
7
|
import { IKeybindingService } from 'vscode/vscode/vs/platform/keybinding/common/keybinding.service';
|
|
8
8
|
import { IConfigurationService } from 'vscode/vscode/vs/platform/configuration/common/configuration.service';
|
|
9
|
-
import { renderViewTree } from '
|
|
9
|
+
import { renderViewTree } from './baseDebugView.js';
|
|
10
10
|
import { CONTEXT_LOADED_SCRIPTS_ITEM_TYPE, LOADED_SCRIPTS_VIEW_ID } from 'vscode/vscode/vs/workbench/contrib/debug/common/debug';
|
|
11
11
|
import { IDebugService } from 'vscode/vscode/vs/workbench/contrib/debug/common/debug.service';
|
|
12
12
|
import { IWorkspaceContextService } from 'vscode/vscode/vs/platform/workspace/common/workspace.service';
|
|
@@ -19,7 +19,6 @@ import { ltrim } from 'vscode/vscode/vs/base/common/strings';
|
|
|
19
19
|
import { RunOnceScheduler } from 'vscode/vscode/vs/base/common/async';
|
|
20
20
|
import { ResourceLabels } from 'vscode/vscode/vs/workbench/browser/labels';
|
|
21
21
|
import { FileKind } from 'vscode/vscode/vs/platform/files/common/files';
|
|
22
|
-
import { TreeVisibility } from 'vscode/vscode/vs/base/browser/ui/tree/tree';
|
|
23
22
|
import { IEditorService } from 'vscode/vscode/vs/workbench/services/editor/common/editorService.service';
|
|
24
23
|
import { WorkbenchCompressibleObjectTree } from 'vscode/vscode/vs/platform/list/browser/listService';
|
|
25
24
|
import { dispose } from 'vscode/vscode/vs/base/common/lifecycle';
|
|
@@ -559,7 +558,7 @@ class LoadedScriptsRenderer {
|
|
|
559
558
|
options.fileKind = FileKind.ROOT_FOLDER;
|
|
560
559
|
}
|
|
561
560
|
else if (element instanceof SessionTreeItem) {
|
|
562
|
-
options.title = ( localize(
|
|
561
|
+
options.title = ( localize(6076, "Debug Session"));
|
|
563
562
|
options.hideIcon = true;
|
|
564
563
|
}
|
|
565
564
|
else if (element instanceof BaseTreeItem) {
|
|
@@ -581,20 +580,20 @@ class LoadedScriptsRenderer {
|
|
|
581
580
|
}
|
|
582
581
|
class LoadedSciptsAccessibilityProvider {
|
|
583
582
|
getWidgetAriaLabel() {
|
|
584
|
-
return ( localize(
|
|
583
|
+
return ( localize(6077, "Debug Loaded Scripts"));
|
|
585
584
|
}
|
|
586
585
|
getAriaLabel(element) {
|
|
587
586
|
if (element instanceof RootFolderTreeItem) {
|
|
588
|
-
return ( localize(
|
|
587
|
+
return ( localize(6078, "Workspace folder {0}, loaded script, debug", element.getLabel()));
|
|
589
588
|
}
|
|
590
589
|
if (element instanceof SessionTreeItem) {
|
|
591
|
-
return ( localize(
|
|
590
|
+
return ( localize(6079, "Session {0}, loaded script, debug", element.getLabel()));
|
|
592
591
|
}
|
|
593
592
|
if (element.hasChildren()) {
|
|
594
|
-
return ( localize(
|
|
593
|
+
return ( localize(6080, "Folder {0}, loaded script, debug", element.getLabel()));
|
|
595
594
|
}
|
|
596
595
|
else {
|
|
597
|
-
return ( localize(
|
|
596
|
+
return ( localize(6081, "{0}, loaded script, debug", element.getLabel()));
|
|
598
597
|
}
|
|
599
598
|
}
|
|
600
599
|
}
|
|
@@ -604,16 +603,16 @@ class LoadedScriptsFilter {
|
|
|
604
603
|
}
|
|
605
604
|
filter(element, parentVisibility) {
|
|
606
605
|
if (!this.filterText) {
|
|
607
|
-
return
|
|
606
|
+
return 1 ;
|
|
608
607
|
}
|
|
609
608
|
if (element.isLeaf()) {
|
|
610
609
|
const name = element.getLabel();
|
|
611
610
|
if (name.indexOf(this.filterText) >= 0) {
|
|
612
|
-
return
|
|
611
|
+
return 1 ;
|
|
613
612
|
}
|
|
614
|
-
return
|
|
613
|
+
return 0 ;
|
|
615
614
|
}
|
|
616
|
-
return
|
|
615
|
+
return 2 ;
|
|
617
616
|
}
|
|
618
617
|
}
|
|
619
618
|
registerAction2(class Collapse extends ViewAction {
|
|
@@ -621,7 +620,7 @@ registerAction2(class Collapse extends ViewAction {
|
|
|
621
620
|
super({
|
|
622
621
|
id: 'loadedScripts.collapse',
|
|
623
622
|
viewId: LOADED_SCRIPTS_VIEW_ID,
|
|
624
|
-
title: ( localize(
|
|
623
|
+
title: ( localize(6082, "Collapse All")),
|
|
625
624
|
f1: false,
|
|
626
625
|
icon: Codicon.collapseAll,
|
|
627
626
|
menu: {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import n from 'vscode/external/rollup-plugin-styles/dist/runtime/inject-css.js';
|
|
2
2
|
|
|
3
|
-
var css = ".codicon-debug-hint{cursor:pointer}.codicon-debug-hint:not([class*=codicon-debug-breakpoint]):not([class*=codicon-debug-stackframe]){opacity:.4!important}.inline-breakpoint-widget.codicon{align-items:center;display:flex!important}.inline-breakpoint-widget.codicon-debug-breakpoint-disabled{opacity:.7}.monaco-editor .inline-breakpoint-widget.line-start{left:-8px!important}.monaco-editor .debug-breakpoint-placeholder{display:inline-flex;margin-top:-1px;vertical-align:middle;width:.9em}.codicon-debug-breakpoint-conditional.codicon-debug-stackframe-focused:after,.codicon-debug-breakpoint-conditional.codicon-debug-stackframe:after,.codicon-debug-breakpoint.codicon-debug-stackframe-focused:after,.codicon-debug-breakpoint.codicon-debug-stackframe:after{content:var(--vscode-icon-debug-stackframe-dot-content);font-family:var(--vscode-icon-debug-stackframe-dot-font-family);position:absolute}.monaco-editor .debug-top-stack-frame-column{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;align-items:center;display:inline-flex;font:normal normal normal 16px/1 codicon;margin-left:0;margin-right:4px;margin-top:-1px;text-rendering:auto;vertical-align:middle;width:.9em}.debug-var-hover-pre{margin:0}.monaco-editor .debug-top-stack-frame-column.start-of-line{margin-top:0;position:absolute;top:50%;transform:translate(-17px,-50%)}.monaco-editor .inline-breakpoint-widget{cursor:pointer}.monaco-workbench .debug-view-content .monaco-list-row .monaco-tl-contents{overflow:hidden;text-overflow:ellipsis}.monaco-workbench .monaco-list-row .expression{display:flex}.monaco-workbench .debug-hover-widget .monaco-list-row .expression,.monaco-workbench .debug-pane .monaco-list-row .expression{font-family:var(--monaco-monospace-font);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:pre}.monaco-workbench.mac .debug-hover-widget .monaco-list-row .expression,.monaco-workbench.mac .debug-pane .monaco-list-row .expression{font-size:11px}.monaco-workbench .monaco-list-row .expression .value{margin-left:6px}.monaco-workbench .monaco-list-row .expression .lazy-button{align-self:center;border-radius:5px;display:none;margin-left:3px}.monaco-workbench .monaco-list-row .expression.lazy .lazy-button{display:inline}.monaco-workbench .monaco-list-row .expression .value a.link:hover{text-decoration:underline}.monaco-workbench .monaco-list-row .expression .value a.link.pointer{cursor:pointer}.monaco-workbench .monaco-list:focus .monaco-list-row.selected .expression .name,.monaco-workbench .monaco-list:focus .monaco-list-row.selected .expression .value{color:inherit}.monaco-workbench .monaco-list-row .expression .name.internal,.monaco-workbench .monaco-list-row .expression .name.virtual{opacity:.5}.monaco-workbench .monaco-list-row .expression .unavailable{font-style:italic}.monaco-workbench .debug-inline-value{background-color:var(--vscode-editor-inlineValuesBackground);color:var(--vscode-editor-inlineValuesForeground)}";
|
|
3
|
+
var css = ".codicon-debug-hint{cursor:pointer}.codicon-debug-hint:not([class*=codicon-debug-breakpoint]):not([class*=codicon-debug-stackframe]){opacity:.4!important}.inline-breakpoint-widget.codicon{align-items:center;display:flex!important}.inline-breakpoint-widget.codicon-debug-breakpoint-disabled{opacity:.7}.monaco-editor .inline-breakpoint-widget.line-start{left:-8px!important}.monaco-editor .debug-breakpoint-placeholder{display:inline-flex;margin-top:-1px;vertical-align:middle;width:.9em}.codicon-debug-breakpoint-conditional.codicon-debug-stackframe-focused:after,.codicon-debug-breakpoint-conditional.codicon-debug-stackframe:after,.codicon-debug-breakpoint.codicon-debug-stackframe-focused:after,.codicon-debug-breakpoint.codicon-debug-stackframe:after{content:var(--vscode-icon-debug-stackframe-dot-content);font-family:var(--vscode-icon-debug-stackframe-dot-font-family);position:absolute}.monaco-editor .debug-top-stack-frame-column{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;align-items:center;display:inline-flex;font:normal normal normal 16px/1 codicon;margin-left:0;margin-right:4px;margin-top:-1px;text-rendering:auto;vertical-align:middle;width:.9em}.debug-var-hover-pre{margin:0}.debug-var-hover-pre span{display:inline!important}.monaco-editor .debug-top-stack-frame-column.start-of-line{margin-top:0;position:absolute;top:50%;transform:translate(-17px,-50%)}.monaco-editor .inline-breakpoint-widget{cursor:pointer}.monaco-workbench .debug-view-content .monaco-list-row .monaco-tl-contents{overflow:hidden;text-overflow:ellipsis}.monaco-workbench .monaco-list-row .expression{display:flex}.monaco-workbench .debug-hover-widget .monaco-list-row .expression,.monaco-workbench .debug-pane .monaco-list-row .expression{font-family:var(--monaco-monospace-font);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:pre}.monaco-workbench.mac .debug-hover-widget .monaco-list-row .expression,.monaco-workbench.mac .debug-pane .monaco-list-row .expression{font-size:11px}.monaco-workbench .monaco-list-row .expression .value{margin-left:6px}.monaco-workbench .monaco-list-row .expression .lazy-button{align-self:center;border-radius:5px;display:none;margin-left:3px}.monaco-workbench .monaco-list-row .expression.lazy .lazy-button{display:inline}.monaco-workbench .monaco-list-row .expression .value a.link:hover{text-decoration:underline}.monaco-workbench .monaco-list-row .expression .value a.link.pointer{cursor:pointer}.monaco-workbench .monaco-list:focus .monaco-list-row.selected .expression .name,.monaco-workbench .monaco-list:focus .monaco-list-row.selected .expression .value{color:inherit}.monaco-workbench .monaco-list-row .expression .name.internal,.monaco-workbench .monaco-list-row .expression .name.virtual{opacity:.5}.monaco-workbench .monaco-list-row .expression .unavailable{font-style:italic}.monaco-workbench .debug-inline-value{background-color:var(--vscode-editor-inlineValuesBackground);color:var(--vscode-editor-inlineValuesForeground)}";
|
|
4
4
|
n(css,{});
|
|
5
5
|
|
|
6
6
|
export { css, css as default };
|
|
@@ -193,7 +193,7 @@ let RawDebugSession = class RawDebugSession {
|
|
|
193
193
|
}
|
|
194
194
|
async start() {
|
|
195
195
|
if (!this.debugAdapter) {
|
|
196
|
-
return Promise.reject(( (new Error(( localize(
|
|
196
|
+
return Promise.reject(( (new Error(( localize(10319, "No debug adapter, can not start debug session."))))));
|
|
197
197
|
}
|
|
198
198
|
await this.debugAdapter.startSession();
|
|
199
199
|
this.startTime = ( (new Date())).getTime();
|
|
@@ -517,10 +517,10 @@ let RawDebugSession = class RawDebugSession {
|
|
|
517
517
|
const { confirmed } = await this.dialogSerivce.confirm({
|
|
518
518
|
type: Severity$1.Warning,
|
|
519
519
|
message: ( localize(
|
|
520
|
-
|
|
520
|
+
10320,
|
|
521
521
|
"The debugger needs to open a new tab or window for the debuggee but the browser prevented this. You must give permission to continue."
|
|
522
522
|
)),
|
|
523
|
-
primaryButton: ( localize(
|
|
523
|
+
primaryButton: ( localize(10321, "&&Continue"))
|
|
524
524
|
});
|
|
525
525
|
if (confirmed) {
|
|
526
526
|
result = await this.launchVsCode(request.arguments);
|
|
@@ -620,7 +620,7 @@ let RawDebugSession = class RawDebugSession {
|
|
|
620
620
|
completeDispatch(undefined);
|
|
621
621
|
}
|
|
622
622
|
else {
|
|
623
|
-
errorDispatch(( (new Error(( localize(
|
|
623
|
+
errorDispatch(( (new Error(( localize(10322, "No debugger available found. Can not send '{0}'.", command))))));
|
|
624
624
|
}
|
|
625
625
|
return;
|
|
626
626
|
}
|
|
@@ -653,7 +653,7 @@ let RawDebugSession = class RawDebugSession {
|
|
|
653
653
|
const userMessage = error ? formatPII(error.format, false, error.variables) : errorMessage;
|
|
654
654
|
const url = error?.url;
|
|
655
655
|
if (error && url) {
|
|
656
|
-
const label = error.urlLabel ? error.urlLabel : ( localize(
|
|
656
|
+
const label = error.urlLabel ? error.urlLabel : ( localize(10323, "More Info"));
|
|
657
657
|
const uri = ( (URI.parse(url)));
|
|
658
658
|
const actionId = uri.scheme === Schemas.command ? 'debug.moreInfo.command' : 'debug.moreInfo';
|
|
659
659
|
return createErrorWithActions(userMessage, [toAction({ id: actionId, label, run: () => this.openerService.open(uri, { allowCommands: true }) })]);
|
|
@@ -3,28 +3,29 @@ import { $ as $$1, clearNode, Dimension, isActiveElement, append, getWindow, cre
|
|
|
3
3
|
import { status } from 'vscode/vscode/vs/base/browser/ui/aria/aria';
|
|
4
4
|
import { MOUSE_CURSOR_TEXT_CSS_CLASS_NAME } from 'vscode/vscode/vs/base/browser/ui/mouseCursor/mouseCursor';
|
|
5
5
|
import { RunOnceScheduler } from 'vscode/vscode/vs/base/common/async';
|
|
6
|
+
import { Codicon } from 'vscode/vscode/vs/base/common/codicons';
|
|
6
7
|
import { memoize } from 'vscode/vscode/vs/base/common/decorators';
|
|
7
8
|
import { Emitter } from 'vscode/vscode/vs/base/common/event';
|
|
8
9
|
import { HistoryNavigator } from 'vscode/vscode/vs/base/common/history';
|
|
9
|
-
import { KeyCode, KeyMod } from 'vscode/vscode/vs/base/common/keyCodes';
|
|
10
10
|
import { Disposable } from 'vscode/vscode/vs/base/common/lifecycle';
|
|
11
11
|
import { removeAnsiEscapeCodes } from 'vscode/vscode/vs/base/common/strings';
|
|
12
12
|
import { ThemeIcon } from 'vscode/vscode/vs/base/common/themables';
|
|
13
13
|
import { URI } from 'vscode/vscode/vs/base/common/uri';
|
|
14
|
-
import './media/repl.css.js';
|
|
15
14
|
import { isCodeEditor } from 'vscode/vscode/vs/editor/browser/editorBrowser';
|
|
16
15
|
import { EditorAction, registerEditorAction } from 'vscode/vscode/vs/editor/browser/editorExtensions';
|
|
17
16
|
import { ICodeEditorService } from 'vscode/vscode/vs/editor/browser/services/codeEditorService';
|
|
18
17
|
import { CodeEditorWidget } from 'vscode/vscode/vs/editor/browser/widget/codeEditor/codeEditorWidget';
|
|
19
|
-
import { EDITOR_FONT_DEFAULTS
|
|
18
|
+
import { EDITOR_FONT_DEFAULTS } from 'vscode/vscode/vs/editor/common/config/editorOptions';
|
|
20
19
|
import { Range } from 'vscode/vscode/vs/editor/common/core/range';
|
|
21
20
|
import { EditorContextKeys } from 'vscode/vscode/vs/editor/common/editorContextKeys';
|
|
22
|
-
import {
|
|
21
|
+
import { CompletionItemKinds } from 'vscode/vscode/vs/editor/common/languages';
|
|
23
22
|
import { ILanguageFeaturesService } from 'vscode/vscode/vs/editor/common/services/languageFeatures';
|
|
24
23
|
import { IModelService } from 'vscode/vscode/vs/editor/common/services/model';
|
|
25
24
|
import { ITextResourcePropertiesService } from 'vscode/vscode/vs/editor/common/services/textResourceConfiguration';
|
|
26
25
|
import { SuggestController } from 'vscode/vscode/vs/editor/contrib/suggest/browser/suggestController';
|
|
27
26
|
import { localize, localize2 } from 'vscode/vscode/vs/nls';
|
|
27
|
+
import { AccessibilitySignal } from 'vscode/vscode/vs/platform/accessibilitySignal/browser/accessibilitySignalService';
|
|
28
|
+
import { IAccessibilitySignalService } from 'vscode/vscode/vs/platform/accessibilitySignal/browser/accessibilitySignalService.service';
|
|
28
29
|
import { createAndFillInContextMenuActions } from 'vscode/vscode/vs/platform/actions/browser/menuEntryActionViewItem';
|
|
29
30
|
import { MenuId, registerAction2, Action2 } from 'vscode/vscode/vs/platform/actions/common/actions';
|
|
30
31
|
import { IMenuService } from 'vscode/vscode/vs/platform/actions/common/actions.service';
|
|
@@ -34,14 +35,13 @@ import { ContextKeyExpr } from 'vscode/vscode/vs/platform/contextkey/common/cont
|
|
|
34
35
|
import { IContextKeyService } from 'vscode/vscode/vs/platform/contextkey/common/contextkey.service';
|
|
35
36
|
import { IContextMenuService } from 'vscode/vscode/vs/platform/contextview/browser/contextView.service';
|
|
36
37
|
import { registerAndCreateHistoryNavigationContext } from 'vscode/vscode/vs/platform/history/browser/contextScopedHistoryWidget';
|
|
38
|
+
import { IHoverService } from 'vscode/vscode/vs/platform/hover/browser/hover.service';
|
|
37
39
|
import { IInstantiationService } from 'vscode/vscode/vs/platform/instantiation/common/instantiation';
|
|
38
40
|
import { ServiceCollection } from 'vscode/vscode/vs/platform/instantiation/common/serviceCollection';
|
|
39
41
|
import { IKeybindingService } from 'vscode/vscode/vs/platform/keybinding/common/keybinding.service';
|
|
40
|
-
import { KeybindingWeight } from 'vscode/vscode/vs/platform/keybinding/common/keybindingsRegistry';
|
|
41
42
|
import { WorkbenchAsyncDataTree } from 'vscode/vscode/vs/platform/list/browser/listService';
|
|
42
43
|
import { ILogService } from 'vscode/vscode/vs/platform/log/common/log.service';
|
|
43
44
|
import { IOpenerService } from 'vscode/vscode/vs/platform/opener/common/opener.service';
|
|
44
|
-
import { StorageScope, StorageTarget } from 'vscode/vscode/vs/platform/storage/common/storage';
|
|
45
45
|
import { IStorageService } from 'vscode/vscode/vs/platform/storage/common/storage.service';
|
|
46
46
|
import { ITelemetryService } from 'vscode/vscode/vs/platform/telemetry/common/telemetry.service';
|
|
47
47
|
import { resolveColorValue } from 'vscode/vscode/vs/platform/theme/common/colorUtils';
|
|
@@ -56,27 +56,22 @@ import 'vscode/vscode/vs/platform/theme/common/colors/miscColors';
|
|
|
56
56
|
import 'vscode/vscode/vs/platform/theme/common/colors/quickpickColors';
|
|
57
57
|
import 'vscode/vscode/vs/platform/theme/common/colors/searchColors';
|
|
58
58
|
import { IThemeService } from 'vscode/vscode/vs/platform/theme/common/themeService.service';
|
|
59
|
+
import { registerNavigableContainer } from 'vscode/vscode/vs/workbench/browser/actions/widgetNavigationCommands';
|
|
59
60
|
import { FilterViewPane, ViewAction } from 'vscode/vscode/vs/workbench/browser/parts/views/viewPane';
|
|
60
61
|
import { IViewDescriptorService } from 'vscode/vscode/vs/workbench/common/views.service';
|
|
62
|
+
import { IEditorService } from 'vscode/vscode/vs/workbench/services/editor/common/editorService.service';
|
|
61
63
|
import { IViewsService } from 'vscode/vscode/vs/workbench/services/views/common/viewsService.service';
|
|
62
64
|
import { getSimpleEditorOptions, getSimpleCodeEditorWidgetOptions } from 'vscode/vscode/vs/workbench/contrib/codeEditor/browser/simpleEditorOptions';
|
|
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';
|
|
66
|
+
import { IDebugService } from 'vscode/vscode/vs/workbench/contrib/debug/common/debug.service';
|
|
67
|
+
import { Variable } from 'vscode/vscode/vs/workbench/contrib/debug/common/debugModel';
|
|
68
|
+
import { ReplGroup, ReplEvaluationResult } from 'vscode/vscode/vs/workbench/contrib/debug/common/replModel';
|
|
63
69
|
import { FocusSessionActionViewItem } from './debugActionViewItems.js';
|
|
70
|
+
import { DebugExpressionRenderer } from 'vscode/vscode/vs/workbench/contrib/debug/browser/debugExpressionRenderer';
|
|
64
71
|
import { debugConsoleEvaluationPrompt, debugConsoleClearAll } from 'vscode/vscode/vs/workbench/contrib/debug/browser/debugIcons';
|
|
65
|
-
import
|
|
72
|
+
import './media/repl.css.js';
|
|
66
73
|
import { ReplFilter } from './replFilter.js';
|
|
67
74
|
import { ReplDelegate, ReplDataSource, ReplVariablesRenderer, ReplOutputElementRenderer, ReplEvaluationInputsRenderer, ReplGroupRenderer, ReplEvaluationResultsRenderer, ReplRawObjectsRenderer, ReplAccessibilityProvider } from './replViewer.js';
|
|
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';
|
|
69
|
-
import { IDebugService } from 'vscode/vscode/vs/workbench/contrib/debug/common/debug.service';
|
|
70
|
-
import { Variable } from 'vscode/vscode/vs/workbench/contrib/debug/common/debugModel';
|
|
71
|
-
import { ReplGroup, ReplEvaluationResult } from 'vscode/vscode/vs/workbench/contrib/debug/common/replModel';
|
|
72
|
-
import { IEditorService } from 'vscode/vscode/vs/workbench/services/editor/common/editorService.service';
|
|
73
|
-
import { registerNavigableContainer } from 'vscode/vscode/vs/workbench/browser/actions/widgetNavigationCommands';
|
|
74
|
-
import { AccessibilitySignal } from 'vscode/vscode/vs/platform/accessibilitySignal/browser/accessibilitySignalService';
|
|
75
|
-
import { IAccessibilitySignalService } from 'vscode/vscode/vs/platform/accessibilitySignal/browser/accessibilitySignalService.service';
|
|
76
|
-
import { IHoverService } from 'vscode/vscode/vs/platform/hover/browser/hover.service';
|
|
77
|
-
import { AccessibilityVerbositySettingId } from 'vscode/vscode/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration';
|
|
78
|
-
import { AccessibilityCommandId } from 'vscode/vscode/vs/workbench/contrib/accessibility/common/accessibilityCommands';
|
|
79
|
-
import { Codicon } from 'vscode/vscode/vs/base/common/codicons';
|
|
80
75
|
|
|
81
76
|
var Repl_1, ReplOptions_1;
|
|
82
77
|
const $ = $$1;
|
|
@@ -94,13 +89,13 @@ let Repl = class Repl extends FilterViewPane {
|
|
|
94
89
|
static { this.REFRESH_DELAY = 50; }
|
|
95
90
|
static { this.URI = ( URI.parse(`${DEBUG_SCHEME}:replinput`)); }
|
|
96
91
|
constructor(options, debugService, instantiationService, storageService, themeService, modelService, contextKeyService, codeEditorService, viewDescriptorService, contextMenuService, configurationService, textResourcePropertiesService, editorService, keybindingService, openerService, telemetryService, hoverService, menuService, languageFeaturesService, logService) {
|
|
97
|
-
const filterText = storageService.get(FILTER_VALUE_STORAGE_KEY,
|
|
92
|
+
const filterText = storageService.get(FILTER_VALUE_STORAGE_KEY, 1 , '');
|
|
98
93
|
super({
|
|
99
94
|
...options,
|
|
100
95
|
filterOptions: {
|
|
101
|
-
placeholder: ( localize(
|
|
96
|
+
placeholder: ( localize(6052, "Filter (e.g. text, !exclude, \\escape)")),
|
|
102
97
|
text: filterText,
|
|
103
|
-
history: JSON.parse(storageService.get(FILTER_HISTORY_STORAGE_KEY,
|
|
98
|
+
history: JSON.parse(storageService.get(FILTER_HISTORY_STORAGE_KEY, 1 , '[]')),
|
|
104
99
|
}
|
|
105
100
|
}, keybindingService, contextMenuService, configurationService, contextKeyService, viewDescriptorService, instantiationService, openerService, themeService, telemetryService, hoverService);
|
|
106
101
|
this.debugService = debugService;
|
|
@@ -120,7 +115,7 @@ let Repl = class Repl extends FilterViewPane {
|
|
|
120
115
|
this.menu = menuService.createMenu(MenuId.DebugConsoleContext, contextKeyService);
|
|
121
116
|
this._register(this.menu);
|
|
122
117
|
this.history = ( (new HistoryNavigator(
|
|
123
|
-
JSON.parse(this.storageService.get(HISTORY_STORAGE_KEY,
|
|
118
|
+
JSON.parse(this.storageService.get(HISTORY_STORAGE_KEY, 1 , '[]')),
|
|
124
119
|
100
|
|
125
120
|
)));
|
|
126
121
|
this.filter = ( (new ReplFilter()));
|
|
@@ -145,7 +140,7 @@ let Repl = class Repl extends FilterViewPane {
|
|
|
145
140
|
}));
|
|
146
141
|
this._register(this.debugService.onWillNewSession(async (newSession) => {
|
|
147
142
|
const input = this.tree?.getInput();
|
|
148
|
-
if (!input || input.state ===
|
|
143
|
+
if (!input || input.state === 0 ) {
|
|
149
144
|
await this.selectSession(newSession);
|
|
150
145
|
}
|
|
151
146
|
this.multiSessionRepl.set(this.isMultiSessionView);
|
|
@@ -226,7 +221,7 @@ let Repl = class Repl extends FilterViewPane {
|
|
|
226
221
|
let insertTextRules = undefined;
|
|
227
222
|
let insertText = item.text || item.label;
|
|
228
223
|
if (typeof item.selectionStart === 'number') {
|
|
229
|
-
insertTextRules =
|
|
224
|
+
insertTextRules = 4 ;
|
|
230
225
|
const selectionLength = typeof item.selectionLength === 'number' ? item.selectionLength : 0;
|
|
231
226
|
const placeholder = selectionLength > 0 ? '${1:' + insertText.substring(item.selectionStart, item.selectionStart + selectionLength) + '}$0' : '$0';
|
|
232
227
|
insertText = insertText.substring(0, item.selectionStart) + placeholder + insertText.substring(item.selectionStart + selectionLength);
|
|
@@ -250,7 +245,7 @@ let Repl = class Repl extends FilterViewPane {
|
|
|
250
245
|
history.forEach((h, i) => suggestions.push({
|
|
251
246
|
label: h,
|
|
252
247
|
insertText: h,
|
|
253
|
-
kind:
|
|
248
|
+
kind: 18 ,
|
|
254
249
|
range: computeRange(h.length),
|
|
255
250
|
sortText: 'ZZZ' + String(history.length - i).padStart(idxLength, '0')
|
|
256
251
|
}));
|
|
@@ -272,7 +267,7 @@ let Repl = class Repl extends FilterViewPane {
|
|
|
272
267
|
}
|
|
273
268
|
get isReadonly() {
|
|
274
269
|
const session = this.tree?.getInput();
|
|
275
|
-
if (session && session.state !==
|
|
270
|
+
if (session && session.state !== 0 ) {
|
|
276
271
|
return false;
|
|
277
272
|
}
|
|
278
273
|
return true;
|
|
@@ -317,7 +312,7 @@ let Repl = class Repl extends FilterViewPane {
|
|
|
317
312
|
lineHeight: this.replOptions.replConfiguration.lineHeight,
|
|
318
313
|
fontFamily: this.replOptions.replConfiguration.fontFamily === 'default' ? EDITOR_FONT_DEFAULTS.fontFamily : this.replOptions.replConfiguration.fontFamily
|
|
319
314
|
});
|
|
320
|
-
const replInputLineHeight = this.replInput.getOption(
|
|
315
|
+
const replInputLineHeight = this.replInput.getOption(69 );
|
|
321
316
|
this.styleElement.textContent = `
|
|
322
317
|
.repl .repl-input-wrapper .repl-input-chevron {
|
|
323
318
|
line-height: ${replInputLineHeight}px
|
|
@@ -380,7 +375,7 @@ let Repl = class Repl extends FilterViewPane {
|
|
|
380
375
|
const session = this.tree?.getInput();
|
|
381
376
|
if (session) {
|
|
382
377
|
session.removeReplExpressions();
|
|
383
|
-
if (session.state ===
|
|
378
|
+
if (session.state === 0 ) {
|
|
384
379
|
sessionsToIgnore.add(session);
|
|
385
380
|
await this.selectSession();
|
|
386
381
|
this.multiSessionRepl.set(this.isMultiSessionView);
|
|
@@ -504,7 +499,7 @@ let Repl = class Repl extends FilterViewPane {
|
|
|
504
499
|
await autoExpandElements(session.getReplElements());
|
|
505
500
|
}
|
|
506
501
|
const { total, filtered } = this.getFilterStats();
|
|
507
|
-
this.filterWidget.updateBadge(total === filtered || total === 0 ? undefined : ( localize(
|
|
502
|
+
this.filterWidget.updateBadge(total === filtered || total === 0 ? undefined : ( localize(6053, "Showing {0} of {1}", filtered, total)));
|
|
508
503
|
}, Repl_1.REFRESH_DELAY))
|
|
509
504
|
);
|
|
510
505
|
}
|
|
@@ -544,15 +539,15 @@ let Repl = class Repl extends FilterViewPane {
|
|
|
544
539
|
this.replDelegate = ( (new ReplDelegate(this.configurationService, this.replOptions)));
|
|
545
540
|
const wordWrap = this.configurationService.getValue('debug').console.wordWrap;
|
|
546
541
|
this.treeContainer.classList.toggle('word-wrap', wordWrap);
|
|
547
|
-
const
|
|
542
|
+
const expressionRenderer = this.instantiationService.createInstance(DebugExpressionRenderer);
|
|
548
543
|
this.replDataSource = ( (new ReplDataSource()));
|
|
549
544
|
const tree = this.tree = this.instantiationService.createInstance(WorkbenchAsyncDataTree, 'DebugRepl', this.treeContainer, this.replDelegate, [
|
|
550
|
-
this.instantiationService.createInstance(ReplVariablesRenderer,
|
|
551
|
-
this.instantiationService.createInstance(ReplOutputElementRenderer,
|
|
545
|
+
this.instantiationService.createInstance(ReplVariablesRenderer, expressionRenderer),
|
|
546
|
+
this.instantiationService.createInstance(ReplOutputElementRenderer, expressionRenderer),
|
|
552
547
|
( (new ReplEvaluationInputsRenderer())),
|
|
553
|
-
this.instantiationService.createInstance(ReplGroupRenderer,
|
|
554
|
-
( (new ReplEvaluationResultsRenderer(
|
|
555
|
-
( (new ReplRawObjectsRenderer(
|
|
548
|
+
this.instantiationService.createInstance(ReplGroupRenderer, expressionRenderer),
|
|
549
|
+
( (new ReplEvaluationResultsRenderer(expressionRenderer))),
|
|
550
|
+
( (new ReplRawObjectsRenderer(expressionRenderer))),
|
|
556
551
|
], this.replDataSource, {
|
|
557
552
|
filter: this.filter,
|
|
558
553
|
accessibilityProvider: ( (new ReplAccessibilityProvider())),
|
|
@@ -627,17 +622,17 @@ let Repl = class Repl extends FilterViewPane {
|
|
|
627
622
|
this._register(addStandardDisposableListener(this.replInputContainer, EventType.BLUR, () => this.replInputContainer.classList.remove('synthetic-focus')));
|
|
628
623
|
}
|
|
629
624
|
getAriaLabel() {
|
|
630
|
-
let ariaLabel = ( localize(
|
|
631
|
-
if (!this.configurationService.getValue(
|
|
625
|
+
let ariaLabel = ( localize(6054, "Debug Console"));
|
|
626
|
+
if (!this.configurationService.getValue("accessibility.verbosity.debug" )) {
|
|
632
627
|
return ariaLabel;
|
|
633
628
|
}
|
|
634
|
-
const keybinding = this.keybindingService.lookupKeybinding(
|
|
629
|
+
const keybinding = this.keybindingService.lookupKeybinding("editor.action.accessibilityHelp" )?.getAriaLabel();
|
|
635
630
|
if (keybinding) {
|
|
636
|
-
ariaLabel = ( localize(
|
|
631
|
+
ariaLabel = ( localize(6055, "{0}, use ({1}) for accessibility help", ariaLabel, keybinding));
|
|
637
632
|
}
|
|
638
633
|
else {
|
|
639
634
|
ariaLabel = ( localize(
|
|
640
|
-
|
|
635
|
+
6056,
|
|
641
636
|
"{0}, run the command Open Accessibility Help which is currently not triggerable via keybinding.",
|
|
642
637
|
ariaLabel
|
|
643
638
|
));
|
|
@@ -677,7 +672,7 @@ let Repl = class Repl extends FilterViewPane {
|
|
|
677
672
|
},
|
|
678
673
|
renderOptions: {
|
|
679
674
|
after: {
|
|
680
|
-
contentText: ( localize(
|
|
675
|
+
contentText: ( localize(6057, "Please start a debug session to evaluate expressions")),
|
|
681
676
|
color: transparentForeground ? ( (transparentForeground.toString())) : undefined
|
|
682
677
|
}
|
|
683
678
|
}
|
|
@@ -688,24 +683,24 @@ let Repl = class Repl extends FilterViewPane {
|
|
|
688
683
|
saveState() {
|
|
689
684
|
const replHistory = this.history.getHistory();
|
|
690
685
|
if (replHistory.length) {
|
|
691
|
-
this.storageService.store(HISTORY_STORAGE_KEY, JSON.stringify(replHistory),
|
|
686
|
+
this.storageService.store(HISTORY_STORAGE_KEY, JSON.stringify(replHistory), 1 , 1 );
|
|
692
687
|
}
|
|
693
688
|
else {
|
|
694
|
-
this.storageService.remove(HISTORY_STORAGE_KEY,
|
|
689
|
+
this.storageService.remove(HISTORY_STORAGE_KEY, 1 );
|
|
695
690
|
}
|
|
696
691
|
const filterHistory = this.filterWidget.getHistory();
|
|
697
692
|
if (filterHistory.length) {
|
|
698
|
-
this.storageService.store(FILTER_HISTORY_STORAGE_KEY, JSON.stringify(filterHistory),
|
|
693
|
+
this.storageService.store(FILTER_HISTORY_STORAGE_KEY, JSON.stringify(filterHistory), 1 , 1 );
|
|
699
694
|
}
|
|
700
695
|
else {
|
|
701
|
-
this.storageService.remove(FILTER_HISTORY_STORAGE_KEY,
|
|
696
|
+
this.storageService.remove(FILTER_HISTORY_STORAGE_KEY, 1 );
|
|
702
697
|
}
|
|
703
698
|
const filterValue = this.filterWidget.getFilterText();
|
|
704
699
|
if (filterValue) {
|
|
705
|
-
this.storageService.store(FILTER_VALUE_STORAGE_KEY, filterValue,
|
|
700
|
+
this.storageService.store(FILTER_VALUE_STORAGE_KEY, filterValue, 1 , 1 );
|
|
706
701
|
}
|
|
707
702
|
else {
|
|
708
|
-
this.storageService.remove(FILTER_VALUE_STORAGE_KEY,
|
|
703
|
+
this.storageService.remove(FILTER_VALUE_STORAGE_KEY, 1 );
|
|
709
704
|
}
|
|
710
705
|
super.saveState();
|
|
711
706
|
}
|
|
@@ -790,13 +785,13 @@ class AcceptReplInputAction extends EditorAction {
|
|
|
790
785
|
constructor() {
|
|
791
786
|
super({
|
|
792
787
|
id: 'repl.action.acceptInput',
|
|
793
|
-
label: ( localize(
|
|
788
|
+
label: ( localize(6058, "Debug Console: Accept Input")),
|
|
794
789
|
alias: 'Debug Console: Accept Input',
|
|
795
790
|
precondition: CONTEXT_IN_DEBUG_REPL,
|
|
796
791
|
kbOpts: {
|
|
797
792
|
kbExpr: EditorContextKeys.textInputFocus,
|
|
798
|
-
primary:
|
|
799
|
-
weight:
|
|
793
|
+
primary: 3 ,
|
|
794
|
+
weight: 100
|
|
800
795
|
}
|
|
801
796
|
});
|
|
802
797
|
}
|
|
@@ -811,12 +806,12 @@ class FilterReplAction extends ViewAction {
|
|
|
811
806
|
super({
|
|
812
807
|
viewId: REPL_VIEW_ID,
|
|
813
808
|
id: 'repl.action.filter',
|
|
814
|
-
title: ( localize(
|
|
809
|
+
title: ( localize(6059, "Debug Console: Focus Filter")),
|
|
815
810
|
precondition: CONTEXT_IN_DEBUG_REPL,
|
|
816
811
|
keybinding: [{
|
|
817
812
|
when: EditorContextKeys.textInputFocus,
|
|
818
|
-
primary:
|
|
819
|
-
weight:
|
|
813
|
+
primary: 2048 | 36 ,
|
|
814
|
+
weight: 100
|
|
820
815
|
}]
|
|
821
816
|
});
|
|
822
817
|
}
|
|
@@ -829,15 +824,15 @@ class FindReplAction extends ViewAction {
|
|
|
829
824
|
super({
|
|
830
825
|
viewId: REPL_VIEW_ID,
|
|
831
826
|
id: 'repl.action.find',
|
|
832
|
-
title: ( localize(
|
|
827
|
+
title: ( localize(6060, "Debug Console: Focus Find")),
|
|
833
828
|
precondition: CONTEXT_IN_DEBUG_REPL,
|
|
834
829
|
keybinding: [{
|
|
835
830
|
when: ( (ContextKeyExpr.or(
|
|
836
831
|
CONTEXT_IN_DEBUG_REPL,
|
|
837
832
|
(ContextKeyExpr.equals('focusedView', 'workbench.panel.repl.view'))
|
|
838
833
|
))),
|
|
839
|
-
primary:
|
|
840
|
-
weight:
|
|
834
|
+
primary: 2048 | 512 | 36 ,
|
|
835
|
+
weight: 100
|
|
841
836
|
}],
|
|
842
837
|
icon: Codicon.search,
|
|
843
838
|
menu: [{
|
|
@@ -860,7 +855,7 @@ class ReplCopyAllAction extends EditorAction {
|
|
|
860
855
|
constructor() {
|
|
861
856
|
super({
|
|
862
857
|
id: 'repl.action.copyAll',
|
|
863
|
-
label: ( localize(
|
|
858
|
+
label: ( localize(6061, "Debug: Console Copy All")),
|
|
864
859
|
alias: 'Debug Console Copy All',
|
|
865
860
|
precondition: CONTEXT_IN_DEBUG_REPL,
|
|
866
861
|
});
|
|
@@ -897,7 +892,7 @@ registerAction2(class extends ViewAction {
|
|
|
897
892
|
super({
|
|
898
893
|
id: selectReplCommandId,
|
|
899
894
|
viewId: REPL_VIEW_ID,
|
|
900
|
-
title: ( localize(
|
|
895
|
+
title: ( localize(6062, "Select Debug Console")),
|
|
901
896
|
f1: false,
|
|
902
897
|
menu: {
|
|
903
898
|
id: MenuId.ViewTitle,
|
|
@@ -912,9 +907,9 @@ registerAction2(class extends ViewAction {
|
|
|
912
907
|
}
|
|
913
908
|
async runInView(accessor, view, session) {
|
|
914
909
|
const debugService = accessor.get(IDebugService);
|
|
915
|
-
if (session && session.state !==
|
|
916
|
-
if (session.state !==
|
|
917
|
-
const stopppedChildSession = debugService.getModel().getSessions().find(s => s.parentSession === session && s.state ===
|
|
910
|
+
if (session && session.state !== 0 && session !== debugService.getViewModel().focusedSession) {
|
|
911
|
+
if (session.state !== 2 ) {
|
|
912
|
+
const stopppedChildSession = debugService.getModel().getSessions().find(s => s.parentSession === session && s.state === 2 );
|
|
918
913
|
if (stopppedChildSession) {
|
|
919
914
|
session = stopppedChildSession;
|
|
920
915
|
}
|
|
@@ -929,9 +924,9 @@ registerAction2(class extends ViewAction {
|
|
|
929
924
|
super({
|
|
930
925
|
id: 'workbench.debug.panel.action.clearReplAction',
|
|
931
926
|
viewId: REPL_VIEW_ID,
|
|
932
|
-
title: ( localize2(
|
|
927
|
+
title: ( localize2(6063, 'Clear Console')),
|
|
933
928
|
metadata: {
|
|
934
|
-
description: ( localize2(
|
|
929
|
+
description: ( localize2(6064, 'Clears all program output from your debug REPL'))
|
|
935
930
|
},
|
|
936
931
|
f1: true,
|
|
937
932
|
icon: debugConsoleClearAll,
|
|
@@ -947,8 +942,8 @@ registerAction2(class extends ViewAction {
|
|
|
947
942
|
}],
|
|
948
943
|
keybinding: [{
|
|
949
944
|
primary: 0,
|
|
950
|
-
mac: { primary:
|
|
951
|
-
weight:
|
|
945
|
+
mac: { primary: 2048 | 41 },
|
|
946
|
+
weight: 200 + 1,
|
|
952
947
|
when: ( (ContextKeyExpr.equals('focusedView', 'workbench.panel.repl.view')))
|
|
953
948
|
}],
|
|
954
949
|
});
|
|
@@ -963,7 +958,7 @@ registerAction2(class extends ViewAction {
|
|
|
963
958
|
constructor() {
|
|
964
959
|
super({
|
|
965
960
|
id: 'debug.collapseRepl',
|
|
966
|
-
title: ( localize(
|
|
961
|
+
title: ( localize(6065, "Collapse All")),
|
|
967
962
|
viewId: REPL_VIEW_ID,
|
|
968
963
|
menu: {
|
|
969
964
|
id: MenuId.DebugConsoleContext,
|
|
@@ -981,9 +976,9 @@ registerAction2(class extends ViewAction {
|
|
|
981
976
|
constructor() {
|
|
982
977
|
super({
|
|
983
978
|
id: 'debug.replPaste',
|
|
984
|
-
title: ( localize(
|
|
979
|
+
title: ( localize(6066, "Paste")),
|
|
985
980
|
viewId: REPL_VIEW_ID,
|
|
986
|
-
precondition: ( (CONTEXT_DEBUG_STATE.notEqualsTo(getStateLabel(
|
|
981
|
+
precondition: ( (CONTEXT_DEBUG_STATE.notEqualsTo(getStateLabel(0 )))),
|
|
987
982
|
menu: {
|
|
988
983
|
id: MenuId.DebugConsoleContext,
|
|
989
984
|
group: '2_cutcopypaste',
|
|
@@ -1011,7 +1006,7 @@ registerAction2(class extends ViewAction {
|
|
|
1011
1006
|
constructor() {
|
|
1012
1007
|
super({
|
|
1013
1008
|
id: 'workbench.debug.action.copyAll',
|
|
1014
|
-
title: ( localize(
|
|
1009
|
+
title: ( localize(6067, "Copy All")),
|
|
1015
1010
|
viewId: REPL_VIEW_ID,
|
|
1016
1011
|
menu: {
|
|
1017
1012
|
id: MenuId.DebugConsoleContext,
|
|
@@ -1029,7 +1024,7 @@ registerAction2(class extends Action2 {
|
|
|
1029
1024
|
constructor() {
|
|
1030
1025
|
super({
|
|
1031
1026
|
id: 'debug.replCopy',
|
|
1032
|
-
title: ( localize(
|
|
1027
|
+
title: ( localize(6068, "Copy")),
|
|
1033
1028
|
menu: {
|
|
1034
1029
|
id: MenuId.DebugConsoleContext,
|
|
1035
1030
|
group: '2_cutcopypaste',
|