@theia/debug 1.67.0-next.59 → 1.67.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/lib/browser/breakpoint/breakpoint-manager.js +1 -1
- package/lib/browser/breakpoint/breakpoint-manager.js.map +1 -1
- package/lib/browser/console/debug-console-items.d.ts +13 -3
- package/lib/browser/console/debug-console-items.d.ts.map +1 -1
- package/lib/browser/console/debug-console-items.js +81 -20
- package/lib/browser/console/debug-console-items.js.map +1 -1
- package/lib/browser/console/debug-console-session.d.ts.map +1 -1
- package/lib/browser/console/debug-console-session.js +1 -0
- package/lib/browser/console/debug-console-session.js.map +1 -1
- package/lib/browser/debug-commands.d.ts +153 -0
- package/lib/browser/debug-commands.d.ts.map +1 -0
- package/lib/browser/debug-commands.js +399 -0
- package/lib/browser/debug-commands.js.map +1 -0
- package/lib/browser/debug-frontend-application-contribution.d.ts +1 -150
- package/lib/browser/debug-frontend-application-contribution.d.ts.map +1 -1
- package/lib/browser/debug-frontend-application-contribution.js +155 -532
- package/lib/browser/debug-frontend-application-contribution.js.map +1 -1
- package/lib/browser/debug-prefix-configuration.js +3 -3
- package/lib/browser/debug-prefix-configuration.js.map +1 -1
- package/lib/browser/debug-session-contribution.d.ts +2 -1
- package/lib/browser/debug-session-contribution.d.ts.map +1 -1
- package/lib/browser/debug-session-contribution.js +5 -1
- package/lib/browser/debug-session-contribution.js.map +1 -1
- package/lib/browser/debug-session-manager.d.ts +11 -3
- package/lib/browser/debug-session-manager.d.ts.map +1 -1
- package/lib/browser/debug-session-manager.js +49 -8
- package/lib/browser/debug-session-manager.js.map +1 -1
- package/lib/browser/debug-session.d.ts +9 -3
- package/lib/browser/debug-session.d.ts.map +1 -1
- package/lib/browser/debug-session.js +13 -3
- package/lib/browser/debug-session.js.map +1 -1
- package/lib/browser/editor/debug-hover-source.d.ts +1 -0
- package/lib/browser/editor/debug-hover-source.d.ts.map +1 -1
- package/lib/browser/editor/debug-hover-source.js +9 -0
- package/lib/browser/editor/debug-hover-source.js.map +1 -1
- package/lib/browser/editor/debug-inline-value-decorator.js +1 -1
- package/lib/browser/editor/debug-inline-value-decorator.js.map +1 -1
- package/lib/browser/model/debug-breakpoint.d.ts +4 -2
- package/lib/browser/model/debug-breakpoint.d.ts.map +1 -1
- package/lib/browser/model/debug-breakpoint.js +10 -2
- package/lib/browser/model/debug-breakpoint.js.map +1 -1
- package/lib/browser/model/debug-data-breakpoint.d.ts +2 -0
- package/lib/browser/model/debug-data-breakpoint.d.ts.map +1 -1
- package/lib/browser/model/debug-data-breakpoint.js +16 -5
- package/lib/browser/model/debug-data-breakpoint.js.map +1 -1
- package/lib/browser/model/debug-function-breakpoint.d.ts +3 -0
- package/lib/browser/model/debug-function-breakpoint.d.ts.map +1 -1
- package/lib/browser/model/debug-function-breakpoint.js +17 -1
- package/lib/browser/model/debug-function-breakpoint.js.map +1 -1
- package/lib/browser/model/debug-instruction-breakpoint.d.ts +2 -0
- package/lib/browser/model/debug-instruction-breakpoint.d.ts.map +1 -1
- package/lib/browser/model/debug-instruction-breakpoint.js +13 -1
- package/lib/browser/model/debug-instruction-breakpoint.js.map +1 -1
- package/lib/browser/model/debug-source-breakpoint.d.ts +6 -1
- package/lib/browser/model/debug-source-breakpoint.d.ts.map +1 -1
- package/lib/browser/model/debug-source-breakpoint.js +17 -1
- package/lib/browser/model/debug-source-breakpoint.js.map +1 -1
- package/lib/browser/model/debug-stack-frame.d.ts +2 -2
- package/lib/browser/model/debug-stack-frame.d.ts.map +1 -1
- package/lib/browser/model/debug-stack-frame.js +13 -5
- package/lib/browser/model/debug-stack-frame.js.map +1 -1
- package/lib/browser/model/debug-thread.d.ts +2 -2
- package/lib/browser/model/debug-thread.d.ts.map +1 -1
- package/lib/browser/model/debug-thread.js +13 -9
- package/lib/browser/model/debug-thread.js.map +1 -1
- package/lib/browser/view/debug-action.d.ts +1 -0
- package/lib/browser/view/debug-action.d.ts.map +1 -1
- package/lib/browser/view/debug-action.js +2 -2
- package/lib/browser/view/debug-action.js.map +1 -1
- package/lib/browser/view/debug-breakpoints-source.d.ts +2 -0
- package/lib/browser/view/debug-breakpoints-source.d.ts.map +1 -1
- package/lib/browser/view/debug-breakpoints-source.js +6 -1
- package/lib/browser/view/debug-breakpoints-source.js.map +1 -1
- package/lib/browser/view/debug-configuration-widget.js +2 -2
- package/lib/browser/view/debug-configuration-widget.js.map +1 -1
- package/lib/browser/view/debug-exception-breakpoint.d.ts +9 -2
- package/lib/browser/view/debug-exception-breakpoint.d.ts.map +1 -1
- package/lib/browser/view/debug-exception-breakpoint.js +26 -5
- package/lib/browser/view/debug-exception-breakpoint.js.map +1 -1
- package/lib/browser/view/debug-session-widget.d.ts +0 -1
- package/lib/browser/view/debug-session-widget.d.ts.map +1 -1
- package/lib/browser/view/debug-session-widget.js +0 -4
- package/lib/browser/view/debug-session-widget.js.map +1 -1
- package/lib/browser/view/debug-threads-widget.d.ts +6 -1
- package/lib/browser/view/debug-threads-widget.d.ts.map +1 -1
- package/lib/browser/view/debug-threads-widget.js +69 -5
- package/lib/browser/view/debug-threads-widget.js.map +1 -1
- package/lib/browser/view/debug-toolbar-widget.d.ts +5 -18
- package/lib/browser/view/debug-toolbar-widget.d.ts.map +1 -1
- package/lib/browser/view/debug-toolbar-widget.js +14 -58
- package/lib/browser/view/debug-toolbar-widget.js.map +1 -1
- package/lib/browser/view/debug-variables-source.d.ts.map +1 -1
- package/lib/browser/view/debug-variables-source.js +1 -0
- package/lib/browser/view/debug-variables-source.js.map +1 -1
- package/lib/browser/view/debug-variables-widget.d.ts +15 -0
- package/lib/browser/view/debug-variables-widget.d.ts.map +1 -1
- package/lib/browser/view/debug-variables-widget.js +56 -1
- package/lib/browser/view/debug-variables-widget.js.map +1 -1
- package/lib/browser/view/debug-view-model.d.ts +4 -0
- package/lib/browser/view/debug-view-model.d.ts.map +1 -1
- package/lib/browser/view/debug-view-model.js +18 -9
- package/lib/browser/view/debug-view-model.js.map +1 -1
- package/lib/browser/view/debug-watch-expression.d.ts.map +1 -1
- package/lib/browser/view/debug-watch-expression.js +4 -5
- package/lib/browser/view/debug-watch-expression.js.map +1 -1
- package/lib/browser/view/debug-watch-source.d.ts.map +1 -1
- package/lib/browser/view/debug-watch-source.js +1 -0
- package/lib/browser/view/debug-watch-source.js.map +1 -1
- package/lib/common/debug-preferences.d.ts +1 -0
- package/lib/common/debug-preferences.d.ts.map +1 -1
- package/lib/common/debug-preferences.js +11 -1
- package/lib/common/debug-preferences.js.map +1 -1
- package/package.json +16 -16
- package/src/browser/breakpoint/breakpoint-manager.ts +1 -1
- package/src/browser/console/debug-console-items.tsx +90 -21
- package/src/browser/console/debug-console-session.ts +1 -0
- package/src/browser/debug-commands.ts +402 -0
- package/src/browser/debug-frontend-application-contribution.ts +35 -410
- package/src/browser/debug-prefix-configuration.ts +1 -1
- package/src/browser/debug-session-contribution.ts +7 -2
- package/src/browser/debug-session-manager.ts +62 -9
- package/src/browser/debug-session.tsx +17 -4
- package/src/browser/editor/debug-hover-source.tsx +6 -2
- package/src/browser/editor/debug-inline-value-decorator.ts +1 -1
- package/src/browser/model/debug-breakpoint.tsx +12 -3
- package/src/browser/model/debug-data-breakpoint.tsx +21 -6
- package/src/browser/model/debug-function-breakpoint.tsx +22 -1
- package/src/browser/model/debug-instruction-breakpoint.tsx +16 -1
- package/src/browser/model/debug-source-breakpoint.tsx +24 -3
- package/src/browser/model/debug-stack-frame.tsx +13 -6
- package/src/browser/model/debug-thread.tsx +14 -10
- package/src/browser/style/index.css +30 -5
- package/src/browser/view/debug-action.tsx +3 -2
- package/src/browser/view/debug-breakpoints-source.tsx +5 -1
- package/src/browser/view/debug-configuration-widget.tsx +1 -1
- package/src/browser/view/debug-exception-breakpoint.tsx +30 -5
- package/src/browser/view/debug-session-widget.ts +0 -5
- package/src/browser/view/debug-threads-widget.ts +84 -6
- package/src/browser/view/debug-toolbar-widget.tsx +13 -60
- package/src/browser/view/debug-variables-source.ts +1 -0
- package/src/browser/view/debug-variables-widget.ts +59 -0
- package/src/browser/view/debug-view-model.ts +20 -8
- package/src/browser/view/debug-watch-expression.tsx +5 -6
- package/src/browser/view/debug-watch-source.ts +1 -0
- package/src/common/debug-preferences.ts +12 -1
|
@@ -9,6 +9,7 @@ export declare class DebugConfiguration {
|
|
|
9
9
|
'debug.showInStatusBar': 'never' | 'always' | 'onFirstSessionStart';
|
|
10
10
|
'debug.confirmOnExit': 'never' | 'always';
|
|
11
11
|
'debug.disassemblyView.showSourceCode': boolean;
|
|
12
|
+
'debug.autoExpandLazyVariables': 'on' | 'off';
|
|
12
13
|
}
|
|
13
14
|
export declare const DebugPreferenceContribution: unique symbol;
|
|
14
15
|
export declare const DebugPreferences: unique symbol;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug-preferences.d.ts","sourceRoot":"","sources":["../../src/common/debug-preferences.ts"],"names":[],"mappings":"AAiBA,OAAO,EAA0B,eAAe,EAAE,gBAAgB,EAAE,iBAAiB,EAAyB,MAAM,oCAAoC,CAAC;AACzJ,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAE1D,eAAO,MAAM,sBAAsB,EAAE,
|
|
1
|
+
{"version":3,"file":"debug-preferences.d.ts","sourceRoot":"","sources":["../../src/common/debug-preferences.ts"],"names":[],"mappings":"AAiBA,OAAO,EAA0B,eAAe,EAAE,gBAAgB,EAAE,iBAAiB,EAAyB,MAAM,oCAAoC,CAAC;AACzJ,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAE1D,eAAO,MAAM,sBAAsB,EAAE,gBA0DpC,CAAC;AAEF,qBAAa,kBAAkB;IAC3B,aAAa,EAAE,OAAO,CAAC;IACvB,iBAAiB,EAAE,WAAW,GAAG,oBAAoB,GAAG,yBAAyB,GAAG,kBAAkB,CAAC;IACvG,8BAA8B,EAAE,WAAW,GAAG,oBAAoB,GAAG,yBAAyB,CAAC;IAC/F,oBAAoB,EAAE,OAAO,CAAC;IAC9B,uBAAuB,EAAE,OAAO,GAAG,QAAQ,GAAG,qBAAqB,CAAC;IACpE,qBAAqB,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC1C,sCAAsC,EAAE,OAAO,CAAC;IAChD,+BAA+B,EAAE,IAAI,GAAG,KAAK,CAAC;CACjD;AAED,eAAO,MAAM,2BAA2B,eAAwC,CAAC;AACjF,eAAO,MAAM,gBAAgB,eAA6B,CAAC;AAC3D,MAAM,MAAM,gBAAgB,GAAG,eAAe,CAAC,kBAAkB,CAAC,CAAC;AAEnE,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,iBAAiB,EAAE,MAAM,GAAE,gBAAyC,GAAG,gBAAgB,CAE1I;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,GAAG,IAAI,CAQhE"}
|
|
@@ -64,7 +64,17 @@ exports.debugPreferencesSchema = {
|
|
|
64
64
|
description: nls_1.nls.localizeByDefault('Show Source Code in Disassembly View.'),
|
|
65
65
|
type: 'boolean',
|
|
66
66
|
default: true,
|
|
67
|
-
}
|
|
67
|
+
},
|
|
68
|
+
'debug.autoExpandLazyVariables': {
|
|
69
|
+
type: 'string',
|
|
70
|
+
enum: ['on', 'off'],
|
|
71
|
+
default: 'off',
|
|
72
|
+
enumDescriptions: [
|
|
73
|
+
nls_1.nls.localizeByDefault('Always automatically expand lazy variables.'),
|
|
74
|
+
nls_1.nls.localizeByDefault('Never automatically expand lazy variables.')
|
|
75
|
+
],
|
|
76
|
+
description: nls_1.nls.localizeByDefault('Controls whether variables that are lazily resolved, such as getters, are automatically resolved and expanded by the debugger.')
|
|
77
|
+
},
|
|
68
78
|
}
|
|
69
79
|
};
|
|
70
80
|
class DebugConfiguration {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug-preferences.js","sourceRoot":"","sources":["../../src/common/debug-preferences.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,0CAA0C;AAC1C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;AAEhF,oDAAiD;AACjD,oEAAyJ;AAG5I,QAAA,sBAAsB,GAAqB;IACpD,UAAU,EAAE;QACR,aAAa,EAAE;YACX,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,SAAG,CAAC,QAAQ,CAAC,2BAA2B,EAAE,2DAA2D,CAAC;SACtH;QACD,iBAAiB,EAAE;YACf,IAAI,EAAE,CAAC,WAAW,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,kBAAkB,CAAC;YACxF,OAAO,EAAE,oBAAoB;YAC7B,WAAW,EAAE,SAAG,CAAC,iBAAiB,CAAC,2CAA2C,CAAC;SAClF;QACD,8BAA8B,EAAE;YAC5B,IAAI,EAAE,CAAC,WAAW,EAAE,oBAAoB,EAAE,yBAAyB,CAAC;YACpE,OAAO,EAAE,yBAAyB;YAClC,WAAW,EAAE,SAAG,CAAC,iBAAiB,CAAC,uDAAuD,CAAC;SAC9F;QACD,oBAAoB,EAAE;YAClB,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,SAAG,CAAC,iBAAiB,CAAC,wDAAwD,CAAC;SAC/F;QACD,uBAAuB,EAAE;YACrB,IAAI,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,qBAAqB,CAAC;YAChD,gBAAgB,EAAE;gBACd,SAAG,CAAC,iBAAiB,CAAC,gCAAgC,CAAC;gBACvD,SAAG,CAAC,iBAAiB,CAAC,iCAAiC,CAAC;gBACxD,SAAG,CAAC,iBAAiB,CAAC,0EAA0E,CAAC;aACpG;YACD,WAAW,EAAE,SAAG,CAAC,iBAAiB,CAAC,uDAAuD,CAAC;YAC3F,OAAO,EAAE,qBAAqB;SACjC;QACD,qBAAqB,EAAE;YACnB,WAAW,EAAE,SAAG,CAAC,iBAAiB,CAAC,wFAAwF,CAAC;YAC5H,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;YACzB,gBAAgB,EAAE;gBACd,SAAG,CAAC,iBAAiB,CAAC,gBAAgB,CAAC;gBACvC,SAAG,CAAC,iBAAiB,CAAC,6CAA6C,CAAC;aACvE;YACD,OAAO,EAAE,OAAO;SACnB;QACD,sCAAsC,EAAE;YACpC,WAAW,EAAE,SAAG,CAAC,iBAAiB,CAAC,uCAAuC,CAAC;YAC3E,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,IAAI;SAChB;KACJ;CACJ,CAAC;AAEF,MAAa,kBAAkB;
|
|
1
|
+
{"version":3,"file":"debug-preferences.js","sourceRoot":"","sources":["../../src/common/debug-preferences.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@theia/debug",
|
|
3
|
-
"version": "1.67.0
|
|
3
|
+
"version": "1.67.0",
|
|
4
4
|
"description": "Theia - Debug Extension",
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"@theia/console": "1.67.0
|
|
7
|
-
"@theia/core": "1.67.0
|
|
8
|
-
"@theia/editor": "1.67.0
|
|
9
|
-
"@theia/filesystem": "1.67.0
|
|
10
|
-
"@theia/markers": "1.67.0
|
|
11
|
-
"@theia/monaco": "1.67.0
|
|
6
|
+
"@theia/console": "1.67.0",
|
|
7
|
+
"@theia/core": "1.67.0",
|
|
8
|
+
"@theia/editor": "1.67.0",
|
|
9
|
+
"@theia/filesystem": "1.67.0",
|
|
10
|
+
"@theia/markers": "1.67.0",
|
|
11
|
+
"@theia/monaco": "1.67.0",
|
|
12
12
|
"@theia/monaco-editor-core": "1.96.302",
|
|
13
|
-
"@theia/output": "1.67.0
|
|
14
|
-
"@theia/process": "1.67.0
|
|
15
|
-
"@theia/task": "1.67.0
|
|
16
|
-
"@theia/terminal": "1.67.0
|
|
17
|
-
"@theia/test": "1.67.0
|
|
18
|
-
"@theia/variable-resolver": "1.67.0
|
|
19
|
-
"@theia/workspace": "1.67.0
|
|
13
|
+
"@theia/output": "1.67.0",
|
|
14
|
+
"@theia/process": "1.67.0",
|
|
15
|
+
"@theia/task": "1.67.0",
|
|
16
|
+
"@theia/terminal": "1.67.0",
|
|
17
|
+
"@theia/test": "1.67.0",
|
|
18
|
+
"@theia/variable-resolver": "1.67.0",
|
|
19
|
+
"@theia/workspace": "1.67.0",
|
|
20
20
|
"@vscode/debugprotocol": "^1.51.0",
|
|
21
21
|
"fast-deep-equal": "^3.1.3",
|
|
22
22
|
"jsonc-parser": "^2.2.0",
|
|
@@ -59,10 +59,10 @@
|
|
|
59
59
|
"watch": "theiaext watch"
|
|
60
60
|
},
|
|
61
61
|
"devDependencies": {
|
|
62
|
-
"@theia/ext-scripts": "1.
|
|
62
|
+
"@theia/ext-scripts": "1.67.0"
|
|
63
63
|
},
|
|
64
64
|
"nyc": {
|
|
65
65
|
"extends": "../../configs/nyc.json"
|
|
66
66
|
},
|
|
67
|
-
"gitHead": "
|
|
67
|
+
"gitHead": "541860e34f1351442be3a1c998fb618472afcefd"
|
|
68
68
|
}
|
|
@@ -329,7 +329,7 @@ export class BreakpointManager extends MarkerManager<SourceBreakpoint> {
|
|
|
329
329
|
|
|
330
330
|
removeDataBreakpoint(id: string): void {
|
|
331
331
|
const index = this.dataBreakpoints.findIndex(bp => bp.id === id);
|
|
332
|
-
if (
|
|
332
|
+
if (index < 0) { return; }
|
|
333
333
|
const removed = this.dataBreakpoints.splice(index);
|
|
334
334
|
this.fireOnDidChangeMarkers(BreakpointManager.DATA_URI);
|
|
335
335
|
this.onDidChangeDataBreakpointsEmitter.fire({ uri: BreakpointManager.DATA_URI, added: [], removed, changed: [] });
|
|
@@ -16,12 +16,12 @@
|
|
|
16
16
|
|
|
17
17
|
import * as React from '@theia/core/shared/react';
|
|
18
18
|
import { DebugProtocol } from '@vscode/debugprotocol/lib/debugProtocol';
|
|
19
|
-
import { SingleTextInputDialog } from '@theia/core/lib/browser';
|
|
19
|
+
import { codicon, SingleTextInputDialog } from '@theia/core/lib/browser';
|
|
20
20
|
import { ConsoleItem, CompositeConsoleItem } from '@theia/console/lib/browser/console-session';
|
|
21
21
|
import { DebugSession, formatMessage } from '../debug-session';
|
|
22
22
|
import { Severity } from '@theia/core/lib/common/severity';
|
|
23
23
|
import * as monaco from '@theia/monaco-editor-core';
|
|
24
|
-
import { nls } from '@theia/core';
|
|
24
|
+
import { generateUuid, nls } from '@theia/core';
|
|
25
25
|
|
|
26
26
|
export type DebugSessionProvider = () => DebugSession | undefined;
|
|
27
27
|
|
|
@@ -34,17 +34,24 @@ export class ExpressionContainer implements CompositeConsoleItem {
|
|
|
34
34
|
return this.sessionProvider();
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
+
readonly id: string | number;
|
|
37
38
|
protected variablesReference: number;
|
|
38
39
|
protected namedVariables: number | undefined;
|
|
39
40
|
protected indexedVariables: number | undefined;
|
|
41
|
+
protected presentationHint: DebugProtocol.VariablePresentationHint | undefined;
|
|
40
42
|
protected readonly startOfVariables: number;
|
|
41
43
|
|
|
42
44
|
constructor(options: ExpressionContainer.Options) {
|
|
43
45
|
this.sessionProvider = options.session;
|
|
46
|
+
this.id = options.id ?? generateUuid();
|
|
44
47
|
this.variablesReference = options.variablesReference || 0;
|
|
45
48
|
this.namedVariables = options.namedVariables;
|
|
46
49
|
this.indexedVariables = options.indexedVariables;
|
|
47
50
|
this.startOfVariables = options.startOfVariables || 0;
|
|
51
|
+
this.presentationHint = options.presentationHint;
|
|
52
|
+
if (this.lazy) {
|
|
53
|
+
(this as CompositeConsoleItem).expandByDefault = () => !this.lazy && !this.session?.autoExpandLazyVariables;
|
|
54
|
+
}
|
|
48
55
|
}
|
|
49
56
|
|
|
50
57
|
render(): React.ReactNode {
|
|
@@ -56,7 +63,31 @@ export class ExpressionContainer implements CompositeConsoleItem {
|
|
|
56
63
|
}
|
|
57
64
|
|
|
58
65
|
get hasElements(): boolean {
|
|
59
|
-
return this.variablesReference
|
|
66
|
+
return !!this.variablesReference && !this.lazy;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
get lazy(): boolean {
|
|
70
|
+
return !!this.presentationHint?.lazy;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
async resolveLazy(): Promise<void> {
|
|
74
|
+
const { session, variablesReference, lazy } = this;
|
|
75
|
+
if (!session || !variablesReference || !lazy) {
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
const response = await session.sendRequest('variables', { variablesReference });
|
|
79
|
+
const { variables } = response.body;
|
|
80
|
+
if (variables.length !== 1) {
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
this.handleResolvedLazy(variables[0]);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
protected handleResolvedLazy(resolved: DebugProtocol.Variable): void {
|
|
87
|
+
this.variablesReference = resolved.variablesReference;
|
|
88
|
+
this.namedVariables = resolved.namedVariables;
|
|
89
|
+
this.indexedVariables = resolved.indexedVariables;
|
|
90
|
+
this.presentationHint = resolved.presentationHint;
|
|
60
91
|
}
|
|
61
92
|
|
|
62
93
|
protected elements: Promise<ExpressionContainer[]> | undefined;
|
|
@@ -85,13 +116,15 @@ export class ExpressionContainer implements CompositeConsoleItem {
|
|
|
85
116
|
const start = this.startOfVariables + i * chunkSize;
|
|
86
117
|
const count = Math.min(chunkSize, this.indexedVariables - i * chunkSize);
|
|
87
118
|
const { variablesReference } = this;
|
|
119
|
+
const name = `[${start}..${start + count - 1}]`;
|
|
88
120
|
result.push(new DebugVirtualVariable({
|
|
89
121
|
session: this.sessionProvider,
|
|
122
|
+
id: `${this.id}:${name}`,
|
|
90
123
|
variablesReference,
|
|
91
124
|
namedVariables: 0,
|
|
92
125
|
indexedVariables: count,
|
|
93
126
|
startOfVariables: start,
|
|
94
|
-
name
|
|
127
|
+
name
|
|
95
128
|
}));
|
|
96
129
|
}
|
|
97
130
|
return result;
|
|
@@ -105,14 +138,23 @@ export class ExpressionContainer implements CompositeConsoleItem {
|
|
|
105
138
|
protected fetch(result: ConsoleItem[], filter: 'indexed', start: number, count?: number): Promise<void>;
|
|
106
139
|
protected async fetch(result: ConsoleItem[], filter: 'indexed' | 'named', start?: number, count?: number): Promise<void> {
|
|
107
140
|
try {
|
|
108
|
-
const {
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
141
|
+
const { session } = this;
|
|
142
|
+
if (session) {
|
|
143
|
+
const { variablesReference } = this;
|
|
144
|
+
const response = await session.sendRequest('variables', { variablesReference, filter, start, count });
|
|
145
|
+
const { variables } = response.body;
|
|
146
|
+
const names = new Set<string>();
|
|
147
|
+
const debugVariables: DebugVariable[] = [];
|
|
148
|
+
for (const variable of variables) {
|
|
149
|
+
if (!names.has(variable.name)) {
|
|
150
|
+
const v = new DebugVariable(this.sessionProvider, variable, this);
|
|
151
|
+
debugVariables.push(v);
|
|
152
|
+
result.push(v);
|
|
153
|
+
names.add(variable.name);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
if (session.autoExpandLazyVariables) {
|
|
157
|
+
await Promise.all(debugVariables.map(v => v.lazy && v.resolveLazy()));
|
|
116
158
|
}
|
|
117
159
|
}
|
|
118
160
|
} catch (e) {
|
|
@@ -128,10 +170,12 @@ export class ExpressionContainer implements CompositeConsoleItem {
|
|
|
128
170
|
export namespace ExpressionContainer {
|
|
129
171
|
export interface Options {
|
|
130
172
|
session: DebugSessionProvider,
|
|
173
|
+
id?: string | number,
|
|
131
174
|
variablesReference?: number
|
|
132
175
|
namedVariables?: number
|
|
133
176
|
indexedVariables?: number
|
|
134
177
|
startOfVariables?: number
|
|
178
|
+
presentationHint?: DebugProtocol.VariablePresentationHint
|
|
135
179
|
}
|
|
136
180
|
}
|
|
137
181
|
|
|
@@ -147,9 +191,11 @@ export class DebugVariable extends ExpressionContainer {
|
|
|
147
191
|
) {
|
|
148
192
|
super({
|
|
149
193
|
session,
|
|
194
|
+
id: `${parent.id}:${variable.name}`,
|
|
150
195
|
variablesReference: variable.variablesReference,
|
|
151
196
|
namedVariables: variable.namedVariables,
|
|
152
|
-
indexedVariables: variable.indexedVariables
|
|
197
|
+
indexedVariables: variable.indexedVariables,
|
|
198
|
+
presentationHint: variable.presentationHint
|
|
153
199
|
});
|
|
154
200
|
}
|
|
155
201
|
|
|
@@ -169,17 +215,20 @@ export class DebugVariable extends ExpressionContainer {
|
|
|
169
215
|
}
|
|
170
216
|
|
|
171
217
|
get readOnly(): boolean {
|
|
172
|
-
return this.
|
|
218
|
+
return this.presentationHint?.attributes?.includes('readOnly') || this.lazy;
|
|
173
219
|
}
|
|
174
220
|
|
|
175
221
|
override render(): React.ReactNode {
|
|
176
|
-
const { type, value, name } = this;
|
|
222
|
+
const { type, value, name, lazy } = this;
|
|
177
223
|
return <div className={this.variableClassName}>
|
|
178
|
-
<span title={type || name} className='name' ref={this.setNameRef}>{name}{
|
|
179
|
-
<span title={
|
|
224
|
+
<span title={type || name} className='name' ref={this.setNameRef}>{name}{(value || lazy) && ': '}</span>
|
|
225
|
+
{lazy && <span title={nls.localizeByDefault('Click to expand')} className={codicon('eye') + ' lazy-button'} onClick={this.handleLazyButtonClick} />}
|
|
226
|
+
<span title={value} className='value' ref={this.setValueRef}>{value}</span>
|
|
180
227
|
</div>;
|
|
181
228
|
}
|
|
182
229
|
|
|
230
|
+
private readonly handleLazyButtonClick = () => this.resolveLazy();
|
|
231
|
+
|
|
183
232
|
protected get variableClassName(): string {
|
|
184
233
|
const { type, value } = this;
|
|
185
234
|
const classNames = ['theia-debug-console-variable'];
|
|
@@ -195,6 +244,13 @@ export class DebugVariable extends ExpressionContainer {
|
|
|
195
244
|
return classNames.join(' ');
|
|
196
245
|
}
|
|
197
246
|
|
|
247
|
+
protected override handleResolvedLazy(resolved: DebugProtocol.Variable): void {
|
|
248
|
+
this._value = resolved.value;
|
|
249
|
+
this._type = resolved.type || this._type;
|
|
250
|
+
super.handleResolvedLazy(resolved);
|
|
251
|
+
this.session?.['onDidResolveLazyVariableEmitter'].fire(this);
|
|
252
|
+
}
|
|
253
|
+
|
|
198
254
|
get supportSetVariable(): boolean {
|
|
199
255
|
return !!this.session && !!this.session.capabilities.supportsSetVariable;
|
|
200
256
|
}
|
|
@@ -312,9 +368,10 @@ export class ExpressionItem extends ExpressionContainer {
|
|
|
312
368
|
|
|
313
369
|
constructor(
|
|
314
370
|
protected _expression: string,
|
|
315
|
-
session: DebugSessionProvider
|
|
371
|
+
session: DebugSessionProvider,
|
|
372
|
+
id?: string | number
|
|
316
373
|
) {
|
|
317
|
-
super({ session });
|
|
374
|
+
super({ session, id });
|
|
318
375
|
}
|
|
319
376
|
|
|
320
377
|
get expression(): string {
|
|
@@ -333,7 +390,7 @@ export class ExpressionItem extends ExpressionContainer {
|
|
|
333
390
|
</div>;
|
|
334
391
|
}
|
|
335
392
|
|
|
336
|
-
async evaluate(context: string = 'repl'): Promise<void> {
|
|
393
|
+
async evaluate(context: string = 'repl', resolveLazy = true): Promise<void> {
|
|
337
394
|
const session = this.session;
|
|
338
395
|
if (!session?.currentFrame) {
|
|
339
396
|
this.setResult(undefined, ExpressionItem.notAvailable);
|
|
@@ -343,6 +400,9 @@ export class ExpressionItem extends ExpressionContainer {
|
|
|
343
400
|
try {
|
|
344
401
|
const body = await session.evaluate(this._expression, context);
|
|
345
402
|
this.setResult(body);
|
|
403
|
+
if (this.lazy && resolveLazy) {
|
|
404
|
+
await this.resolveLazy();
|
|
405
|
+
}
|
|
346
406
|
} catch (err) {
|
|
347
407
|
this.setResult(undefined, err.message);
|
|
348
408
|
}
|
|
@@ -356,6 +416,7 @@ export class ExpressionItem extends ExpressionContainer {
|
|
|
356
416
|
this.variablesReference = body.variablesReference;
|
|
357
417
|
this.namedVariables = body.namedVariables;
|
|
358
418
|
this.indexedVariables = body.indexedVariables;
|
|
419
|
+
this.presentationHint = body.presentationHint;
|
|
359
420
|
this.severity = Severity.Log;
|
|
360
421
|
} else {
|
|
361
422
|
this._value = error;
|
|
@@ -364,21 +425,29 @@ export class ExpressionItem extends ExpressionContainer {
|
|
|
364
425
|
this.variablesReference = 0;
|
|
365
426
|
this.namedVariables = undefined;
|
|
366
427
|
this.indexedVariables = undefined;
|
|
428
|
+
this.presentationHint = undefined;
|
|
367
429
|
this.severity = Severity.Error;
|
|
368
430
|
}
|
|
369
431
|
this.elements = undefined;
|
|
370
432
|
}
|
|
371
433
|
|
|
434
|
+
protected override handleResolvedLazy(resolved: DebugProtocol.Variable): void {
|
|
435
|
+
this._value = resolved.value;
|
|
436
|
+
this._type = resolved.type || this._type;
|
|
437
|
+
super.handleResolvedLazy(resolved);
|
|
438
|
+
}
|
|
372
439
|
}
|
|
373
440
|
|
|
374
441
|
export class DebugScope extends ExpressionContainer {
|
|
375
442
|
|
|
376
443
|
constructor(
|
|
377
444
|
protected readonly raw: DebugProtocol.Scope,
|
|
378
|
-
session: DebugSessionProvider
|
|
445
|
+
session: DebugSessionProvider,
|
|
446
|
+
id: number
|
|
379
447
|
) {
|
|
380
448
|
super({
|
|
381
449
|
session,
|
|
450
|
+
id: `${raw.name}:${id}`,
|
|
382
451
|
variablesReference: raw.variablesReference,
|
|
383
452
|
namedVariables: raw.namedVariables,
|
|
384
453
|
indexedVariables: raw.indexedVariables
|
|
@@ -85,6 +85,7 @@ export class DebugConsoleSession extends ConsoleSession {
|
|
|
85
85
|
triggerCharacters: ['.'],
|
|
86
86
|
provideCompletionItems: (model, position) => this.completions(model, position),
|
|
87
87
|
}));
|
|
88
|
+
this.toDispose.push(this.sessionManager.onDidResolveLazyVariable(() => this.fireDidChange()));
|
|
88
89
|
}
|
|
89
90
|
|
|
90
91
|
getElements(): IterableIterator<ConsoleItem> {
|