@opensumi/ide-debug 2.22.10 → 2.23.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.d.ts +2 -0
- package/lib/browser/breakpoint/breakpoint-manager.d.ts.map +1 -1
- package/lib/browser/breakpoint/breakpoint-manager.js +5 -0
- package/lib/browser/breakpoint/breakpoint-manager.js.map +1 -1
- package/lib/browser/contextkeys/debug-contextkey.service.d.ts +1 -1
- package/lib/browser/contextkeys/debug-contextkey.service.d.ts.map +1 -1
- package/lib/browser/contextkeys/debug-contextkey.service.js +1 -1
- package/lib/browser/contextkeys/debug-contextkey.service.js.map +1 -1
- package/lib/browser/debug-session-manager.d.ts.map +1 -1
- package/lib/browser/debug-session-manager.js +1 -5
- package/lib/browser/debug-session-manager.js.map +1 -1
- package/lib/browser/debug-session.js +3 -3
- package/lib/browser/debug-session.js.map +1 -1
- package/lib/browser/editor/debug-editor-contribution.d.ts.map +1 -1
- package/lib/browser/editor/debug-editor-contribution.js +1 -1
- package/lib/browser/editor/debug-editor-contribution.js.map +1 -1
- package/lib/browser/editor/debug-model.d.ts +2 -2
- package/lib/browser/editor/debug-model.d.ts.map +1 -1
- package/lib/browser/editor/debug-model.js +4 -3
- package/lib/browser/editor/debug-model.js.map +1 -1
- package/lib/browser/view/breakpoints/debug-breakpoints.service.d.ts.map +1 -1
- package/lib/browser/view/breakpoints/debug-breakpoints.service.js +5 -4
- package/lib/browser/view/breakpoints/debug-breakpoints.service.js.map +1 -1
- package/lib/browser/view/breakpoints/debug-breakpoints.view.d.ts.map +1 -1
- package/lib/browser/view/breakpoints/debug-breakpoints.view.js.map +1 -1
- package/lib/browser/view/configuration/debug-toolbar.view.d.ts.map +1 -1
- package/lib/browser/view/configuration/debug-toolbar.view.js +27 -25
- package/lib/browser/view/configuration/debug-toolbar.view.js.map +1 -1
- package/lib/browser/view/console/debug-console.service.js +2 -2
- package/lib/browser/view/console/debug-console.service.js.map +1 -1
- package/lib/browser/view/debug-view-model.d.ts.map +1 -1
- package/lib/browser/view/debug-view-model.js.map +1 -1
- package/lib/browser/view/frames/debug-call-stack-session.view.d.ts.map +1 -1
- package/lib/browser/view/frames/debug-call-stack-session.view.js +1 -1
- package/lib/browser/view/frames/debug-call-stack-session.view.js.map +1 -1
- package/lib/browser/view/frames/debug-call-stack-thread.view.d.ts.map +1 -1
- package/lib/browser/view/frames/debug-call-stack-thread.view.js +1 -1
- package/lib/browser/view/frames/debug-call-stack-thread.view.js.map +1 -1
- package/lib/common/debug-service.d.ts +1 -6
- package/lib/common/debug-service.d.ts.map +1 -1
- package/lib/common/debug-service.js +1 -9
- package/lib/common/debug-service.js.map +1 -1
- package/lib/common/inline-values.d.ts +1 -0
- package/lib/common/inline-values.d.ts.map +1 -1
- package/package.json +23 -23
- package/src/browser/breakpoint/breakpoint-manager.ts +6 -0
- package/src/browser/contextkeys/debug-contextkey.service.ts +2 -2
- package/src/browser/debug-session-manager.ts +1 -7
- package/src/browser/debug-session.ts +3 -3
- package/src/browser/editor/debug-editor-contribution.ts +1 -1
- package/src/browser/editor/debug-model.ts +4 -3
- package/src/browser/view/breakpoints/debug-breakpoints.service.ts +4 -4
- package/src/browser/view/breakpoints/debug-breakpoints.view.tsx +1 -7
- package/src/browser/view/configuration/debug-toolbar.view.tsx +112 -94
- package/src/browser/view/console/debug-console.service.ts +2 -2
- package/src/browser/view/debug-view-model.ts +6 -2
- package/src/browser/view/frames/debug-call-stack-session.view.tsx +4 -1
- package/src/browser/view/frames/debug-call-stack-thread.view.tsx +4 -1
- package/src/common/debug-service.ts +1 -15
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug-service.d.ts","sourceRoot":"","sources":["../../src/common/debug-service.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"debug-service.d.ts","sourceRoot":"","sources":["../../src/common/debug-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
const ide_core_common_1 = require("@opensumi/ide-core-common");
|
|
3
|
+
exports.IDebugService = exports.IDebugServer = exports.DebugAdapterPath = void 0;
|
|
5
4
|
exports.DebugAdapterPath = 'DebugAdaptor';
|
|
6
5
|
// Browser DI Token
|
|
7
6
|
exports.IDebugServer = Symbol('DebugServer');
|
|
8
7
|
exports.IDebugService = Symbol('DebugService');
|
|
9
|
-
var DebugError;
|
|
10
|
-
(function (DebugError) {
|
|
11
|
-
DebugError.NotFound = ide_core_common_1.ApplicationError.declare(-41000, (type) => ({
|
|
12
|
-
message: `'${type}' debugger type is not supported.`,
|
|
13
|
-
data: { type },
|
|
14
|
-
}));
|
|
15
|
-
})(DebugError = exports.DebugError || (exports.DebugError = {}));
|
|
16
8
|
//# sourceMappingURL=debug-service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug-service.js","sourceRoot":"","sources":["../../src/common/debug-service.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"debug-service.js","sourceRoot":"","sources":["../../src/common/debug-service.ts"],"names":[],"mappings":";;;AA+Ea,QAAA,gBAAgB,GAAG,cAAc,CAAC;AAE/C,mBAAmB;AACN,QAAA,YAAY,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;AAkErC,QAAA,aAAa,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/// <reference types="vscode" />
|
|
1
2
|
import { IRange, CancellationToken, Event } from '@opensumi/ide-core-common';
|
|
2
3
|
import { Range } from '@opensumi/monaco-editor-core/esm/vs/editor/common/core/range';
|
|
3
4
|
import { ITextModel } from '@opensumi/monaco-editor-core/esm/vs/editor/common/model';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inline-values.d.ts","sourceRoot":"","sources":["../../src/common/inline-values.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EAAE,KAAK,EAAE,MAAM,8DAA8D,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,MAAM,yDAAyD,CAAC;AAGrF;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,KAAK,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,OAAO,CAAC;CAC9B;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW,GAAG,eAAe,GAAG,yBAAyB,GAAG,qBAAqB,CAAC;AAE9F;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC;OACG;IACH,uBAAuB,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;IAClD;;;;OAIG;IACH,mBAAmB,CACjB,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,KAAK,EACf,OAAO,EAAE,kBAAkB,EAC3B,KAAK,EAAE,iBAAiB,GACvB,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;CAC5B"}
|
|
1
|
+
{"version":3,"file":"inline-values.d.ts","sourceRoot":"","sources":["../../src/common/inline-values.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EAAE,KAAK,EAAE,MAAM,8DAA8D,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,MAAM,yDAAyD,CAAC;AAGrF;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,KAAK,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,OAAO,CAAC;CAC9B;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW,GAAG,eAAe,GAAG,yBAAyB,GAAG,qBAAqB,CAAC;AAE9F;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC;OACG;IACH,uBAAuB,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;IAClD;;;;OAIG;IACH,mBAAmB,CACjB,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,KAAK,EACf,OAAO,EAAE,kBAAkB,EAC3B,KAAK,EAAE,iBAAiB,GACvB,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;CAC5B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opensumi/ide-debug",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.23.0",
|
|
4
4
|
"files": [
|
|
5
5
|
"lib",
|
|
6
6
|
"src"
|
|
@@ -17,33 +17,33 @@
|
|
|
17
17
|
"url": "git@github.com:opensumi/core.git"
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@opensumi/ide-connection": "2.
|
|
21
|
-
"@opensumi/ide-core-common": "2.
|
|
22
|
-
"@opensumi/ide-core-node": "2.
|
|
23
|
-
"@opensumi/ide-file-service": "2.
|
|
24
|
-
"@opensumi/ide-task": "2.
|
|
25
|
-
"@opensumi/ide-terminal-next": "2.
|
|
20
|
+
"@opensumi/ide-connection": "2.23.0",
|
|
21
|
+
"@opensumi/ide-core-common": "2.23.0",
|
|
22
|
+
"@opensumi/ide-core-node": "2.23.0",
|
|
23
|
+
"@opensumi/ide-file-service": "2.23.0",
|
|
24
|
+
"@opensumi/ide-task": "2.23.0",
|
|
25
|
+
"@opensumi/ide-terminal-next": "2.23.0",
|
|
26
26
|
"anser": "^1.4.9",
|
|
27
27
|
"btoa": "^1.2.1"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
|
-
"@opensumi/ide-components": "2.
|
|
31
|
-
"@opensumi/ide-core-browser": "2.
|
|
30
|
+
"@opensumi/ide-components": "2.23.0",
|
|
31
|
+
"@opensumi/ide-core-browser": "2.23.0",
|
|
32
32
|
"@opensumi/ide-dev-tool": "1.3.1",
|
|
33
|
-
"@opensumi/ide-editor": "2.
|
|
34
|
-
"@opensumi/ide-main-layout": "2.
|
|
35
|
-
"@opensumi/ide-monaco": "2.
|
|
36
|
-
"@opensumi/ide-monaco-enhance": "2.
|
|
37
|
-
"@opensumi/ide-output": "2.
|
|
38
|
-
"@opensumi/ide-overlay": "2.
|
|
39
|
-
"@opensumi/ide-preferences": "2.
|
|
40
|
-
"@opensumi/ide-quick-open": "2.
|
|
41
|
-
"@opensumi/ide-storage": "2.
|
|
42
|
-
"@opensumi/ide-theme": "2.
|
|
43
|
-
"@opensumi/ide-variable": "2.
|
|
44
|
-
"@opensumi/ide-workspace": "2.
|
|
45
|
-
"@opensumi/ide-workspace-edit": "2.
|
|
33
|
+
"@opensumi/ide-editor": "2.23.0",
|
|
34
|
+
"@opensumi/ide-main-layout": "2.23.0",
|
|
35
|
+
"@opensumi/ide-monaco": "2.23.0",
|
|
36
|
+
"@opensumi/ide-monaco-enhance": "2.23.0",
|
|
37
|
+
"@opensumi/ide-output": "2.23.0",
|
|
38
|
+
"@opensumi/ide-overlay": "2.23.0",
|
|
39
|
+
"@opensumi/ide-preferences": "2.23.0",
|
|
40
|
+
"@opensumi/ide-quick-open": "2.23.0",
|
|
41
|
+
"@opensumi/ide-storage": "2.23.0",
|
|
42
|
+
"@opensumi/ide-theme": "2.23.0",
|
|
43
|
+
"@opensumi/ide-variable": "2.23.0",
|
|
44
|
+
"@opensumi/ide-workspace": "2.23.0",
|
|
45
|
+
"@opensumi/ide-workspace-edit": "2.23.0",
|
|
46
46
|
"@types/btoa": "^1.2.3"
|
|
47
47
|
},
|
|
48
|
-
"gitHead": "
|
|
48
|
+
"gitHead": "5d8e4fcf717531446c838d142f7601699fd50d0f"
|
|
49
49
|
}
|
|
@@ -59,6 +59,11 @@ export class BreakpointManager extends MarkerManager<IDebugBreakpoint> {
|
|
|
59
59
|
return Array.from(this._affected.values());
|
|
60
60
|
}
|
|
61
61
|
|
|
62
|
+
protected whenReadyDeferred: Deferred<void> = new Deferred();
|
|
63
|
+
get whenReady() {
|
|
64
|
+
return this.whenReadyDeferred.promise;
|
|
65
|
+
}
|
|
66
|
+
|
|
62
67
|
protected breakpointsDeffered: Deferred<void> | null = null;
|
|
63
68
|
|
|
64
69
|
protected readonly onDidChangeBreakpointsEmitter = new Emitter<BreakpointsChangeEvent>();
|
|
@@ -266,6 +271,7 @@ export class BreakpointManager extends MarkerManager<IDebugBreakpoint> {
|
|
|
266
271
|
this.defaultExceptionFilter.forEach((item) => {
|
|
267
272
|
this.exceptionFilterValue![item.filter] = !!item.default;
|
|
268
273
|
});
|
|
274
|
+
this.whenReadyDeferred.resolve();
|
|
269
275
|
}
|
|
270
276
|
|
|
271
277
|
async save(): Promise<void> {
|
|
@@ -25,7 +25,7 @@ export class DebugContextKey {
|
|
|
25
25
|
|
|
26
26
|
public readonly contextInDebugRepl: IContextKey<boolean>;
|
|
27
27
|
public readonly contextInDebugConsole: IContextKey<boolean>;
|
|
28
|
-
public readonly
|
|
28
|
+
public readonly contextInDebugMode: IContextKey<boolean>;
|
|
29
29
|
public readonly contextDebugState: IContextKey<keyof typeof DebugState>;
|
|
30
30
|
public readonly contextVariableEvaluateNamePresent: IContextKey<boolean>;
|
|
31
31
|
public readonly contextSetVariableSupported: IContextKey<boolean>;
|
|
@@ -38,7 +38,7 @@ export class DebugContextKey {
|
|
|
38
38
|
this._contextKeyService = this.globalContextKeyService.createScoped(dom);
|
|
39
39
|
this.contextInDebugRepl = CONTEXT_IN_DEBUG_REPL.bind(this.contextKeyScoped);
|
|
40
40
|
this.contextInDebugConsole = CONTEXT_IN_DEBUG_CONSOLE.bind(this.contextKeyScoped);
|
|
41
|
-
this.
|
|
41
|
+
this.contextInDebugMode = CONTEXT_IN_DEBUG_MODE.bind(this.contextKeyScoped);
|
|
42
42
|
this.contextDebugState = CONTEXT_DEBUG_STATE.bind(this.contextKeyScoped);
|
|
43
43
|
this.contextVariableEvaluateNamePresent = CONTEXT_VARIABLE_EVALUATE_NAME_PRESENT.bind(this.contextKeyScoped);
|
|
44
44
|
this.contextSetVariableSupported = CONTEXT_SET_VARIABLE_SUPPORTED.bind(this.contextKeyScoped);
|
|
@@ -40,7 +40,6 @@ import { IVariableResolverService } from '@opensumi/ide-variable';
|
|
|
40
40
|
|
|
41
41
|
import {
|
|
42
42
|
DebugConfiguration,
|
|
43
|
-
DebugError,
|
|
44
43
|
IDebugServer,
|
|
45
44
|
DebugServer,
|
|
46
45
|
DebugSessionOptions,
|
|
@@ -345,11 +344,6 @@ export class DebugSessionManager implements IDebugSessionManager {
|
|
|
345
344
|
}
|
|
346
345
|
return this.doStart(sessionId, resolved, extra);
|
|
347
346
|
} catch (e) {
|
|
348
|
-
if (DebugError.NotFound.is(e)) {
|
|
349
|
-
this.messageService.error(formatLocalize('debug.launch.typeNotSupported', e.data.type));
|
|
350
|
-
return;
|
|
351
|
-
}
|
|
352
|
-
|
|
353
347
|
this.messageService.error(localize('debug.launch.catchError'));
|
|
354
348
|
throw e;
|
|
355
349
|
}
|
|
@@ -455,7 +449,7 @@ export class DebugSessionManager implements IDebugSessionManager {
|
|
|
455
449
|
this.debugContextKey.contextSetVariableSupported.set(session.capabilities.supportsSetVariable ?? false);
|
|
456
450
|
this.debugContextKey.contextRestartFrameSupported.set(session.capabilities.supportsRestartFrame ?? false);
|
|
457
451
|
this.debugContextKey.contextDebugState.set(DebugState[session.state] as keyof typeof DebugState);
|
|
458
|
-
this.debugContextKey.
|
|
452
|
+
this.debugContextKey.contextInDebugMode.set(state !== DebugState.Inactive);
|
|
459
453
|
});
|
|
460
454
|
session.on('terminated', (event) => {
|
|
461
455
|
const restart = event.body && event.body.restart;
|
|
@@ -388,12 +388,12 @@ export class DebugSession implements IDebugSession {
|
|
|
388
388
|
|
|
389
389
|
protected async configure(): Promise<void> {
|
|
390
390
|
await this.initBreakpoints();
|
|
391
|
-
// 更新exceptionBreakpoint配置
|
|
391
|
+
// 更新 exceptionBreakpoint 配置
|
|
392
392
|
this.breakpointManager.setExceptionBreakpoints(this.capabilities.exceptionBreakpointFilters || []);
|
|
393
|
+
this.initialized = true;
|
|
393
394
|
if (this.capabilities.supportsConfigurationDoneRequest) {
|
|
394
|
-
|
|
395
|
+
this.sendRequest('configurationDone', {});
|
|
395
396
|
}
|
|
396
|
-
this.initialized = true;
|
|
397
397
|
if (!this.supportsThreadIdCorrespond) {
|
|
398
398
|
await this.updateThreads(undefined);
|
|
399
399
|
}
|
|
@@ -332,7 +332,7 @@ export class DebugEditorContribution implements IEditorFeatureContribution {
|
|
|
332
332
|
codeEditorService.registerDecorationType('inline-value-decoration', INLINE_VALUE_DECORATION_KEY, {});
|
|
333
333
|
}
|
|
334
334
|
|
|
335
|
-
public setHoverEnabled(editor: IEditor, isEnabled = !this.debugContextKey.
|
|
335
|
+
public setHoverEnabled(editor: IEditor, isEnabled = !this.debugContextKey.contextInDebugMode.get()) {
|
|
336
336
|
editor.monacoEditor.updateOptions({
|
|
337
337
|
hover: {
|
|
338
338
|
enabled: isEnabled,
|
|
@@ -262,8 +262,8 @@ export class DebugModel implements IDebugModel {
|
|
|
262
262
|
this.renderFrames();
|
|
263
263
|
}
|
|
264
264
|
|
|
265
|
-
render()
|
|
266
|
-
this.renderBreakpoints();
|
|
265
|
+
async render() {
|
|
266
|
+
await this.renderBreakpoints();
|
|
267
267
|
this.renderFrames();
|
|
268
268
|
}
|
|
269
269
|
|
|
@@ -271,7 +271,8 @@ export class DebugModel implements IDebugModel {
|
|
|
271
271
|
* 渲染断点信息装饰器
|
|
272
272
|
* @memberof DebugModel
|
|
273
273
|
*/
|
|
274
|
-
renderBreakpoints()
|
|
274
|
+
async renderBreakpoints() {
|
|
275
|
+
await this.breakpointManager.whenReady;
|
|
275
276
|
this.renderNormalBreakpoints();
|
|
276
277
|
this.renderCurrentBreakpoints();
|
|
277
278
|
}
|
|
@@ -11,7 +11,6 @@ import { WorkspaceEditDidRenameFileEvent, WorkspaceEditDidDeleteFileEvent } from
|
|
|
11
11
|
import { DEBUG_REPORT_NAME, CONTEXT_IN_DEBUG_MODE_KEY, IDebugBreakpoint } from '../../../common';
|
|
12
12
|
import { IDebugSessionManager } from '../../../common/debug-session';
|
|
13
13
|
import {
|
|
14
|
-
DebugBreakpoint,
|
|
15
14
|
DebugExceptionBreakpoint,
|
|
16
15
|
isDebugBreakpoint,
|
|
17
16
|
isDebugExceptionBreakpoint,
|
|
@@ -76,9 +75,9 @@ export class DebugBreakpointsService extends WithEventBus {
|
|
|
76
75
|
|
|
77
76
|
async init() {
|
|
78
77
|
await this.updateRoots();
|
|
79
|
-
this.updateBreakpoints();
|
|
78
|
+
await this.updateBreakpoints();
|
|
80
79
|
this.workspaceService.onWorkspaceChanged(async () => {
|
|
81
|
-
|
|
80
|
+
this.updateRoots();
|
|
82
81
|
this.updateBreakpoints();
|
|
83
82
|
});
|
|
84
83
|
this.breakpoints.onDidChangeBreakpoints(() => {
|
|
@@ -166,7 +165,8 @@ export class DebugBreakpointsService extends WithEventBus {
|
|
|
166
165
|
}
|
|
167
166
|
|
|
168
167
|
@action
|
|
169
|
-
private updateBreakpoints() {
|
|
168
|
+
private async updateBreakpoints() {
|
|
169
|
+
await this.breakpoints.whenReady;
|
|
170
170
|
this.nodes = this.extractNodes([
|
|
171
171
|
...this.breakpoints.getExceptionBreakpoints(),
|
|
172
172
|
...this.breakpoints.getBreakpoints(),
|
|
@@ -8,13 +8,7 @@ import { useInjectable, ViewState, CommandService, EDITOR_COMMANDS, URI, getIcon
|
|
|
8
8
|
import { DebugProtocol } from '@opensumi/vscode-debugprotocol/lib/debugProtocol';
|
|
9
9
|
|
|
10
10
|
import { IDebugBreakpoint, IDebugSessionManager, ISourceBreakpoint } from '../../../common';
|
|
11
|
-
import {
|
|
12
|
-
DebugBreakpoint,
|
|
13
|
-
DebugExceptionBreakpoint,
|
|
14
|
-
isDebugBreakpoint,
|
|
15
|
-
isRuntimeBreakpoint,
|
|
16
|
-
getStatus,
|
|
17
|
-
} from '../../breakpoint';
|
|
11
|
+
import { DebugExceptionBreakpoint, isDebugBreakpoint, isRuntimeBreakpoint, getStatus } from '../../breakpoint';
|
|
18
12
|
import { DebugSessionManager } from '../../debug-session-manager';
|
|
19
13
|
|
|
20
14
|
import styles from './debug-breakpoints.module.less';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import cls from 'classnames';
|
|
2
2
|
import { action, observable } from 'mobx';
|
|
3
3
|
import { observer } from 'mobx-react-lite';
|
|
4
|
-
import React, { useEffect, useState } from 'react';
|
|
4
|
+
import React, { useCallback, useEffect, useState } from 'react';
|
|
5
5
|
|
|
6
6
|
import { Injectable } from '@opensumi/di';
|
|
7
7
|
import { Option, Select } from '@opensumi/ide-components';
|
|
@@ -104,63 +104,80 @@ export const DebugToolbarView = observer((props: DebugToolbarViewProps) => {
|
|
|
104
104
|
|
|
105
105
|
const currentSessionId = currentSession && currentSession.id;
|
|
106
106
|
|
|
107
|
-
const renderToolBar = (
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
107
|
+
const renderToolBar = useCallback(
|
|
108
|
+
(session: DebugSession | undefined): React.ReactNode => {
|
|
109
|
+
if (session && session.id) {
|
|
110
|
+
const menus = toolBarMenuMap.get(session.id);
|
|
111
|
+
if (menus) {
|
|
112
|
+
return <InlineMenuBar menus={menus} />;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
return null;
|
|
116
|
+
},
|
|
117
|
+
[toolBarMenuMap],
|
|
118
|
+
);
|
|
119
|
+
|
|
120
|
+
const renderStop = useCallback(
|
|
121
|
+
(state: DebugState): React.ReactNode => {
|
|
122
|
+
if (isAttach) {
|
|
123
|
+
return (
|
|
124
|
+
<DebugAction
|
|
125
|
+
run={doStop}
|
|
126
|
+
enabled={typeof state === 'number' && state !== DebugState.Inactive}
|
|
127
|
+
icon={'disconnect'}
|
|
128
|
+
label={localize('debug.action.disattach')}
|
|
129
|
+
/>
|
|
130
|
+
);
|
|
131
|
+
}
|
|
115
132
|
return (
|
|
116
133
|
<DebugAction
|
|
117
134
|
run={doStop}
|
|
118
135
|
enabled={typeof state === 'number' && state !== DebugState.Inactive}
|
|
119
|
-
icon={'
|
|
120
|
-
label={localize('debug.action.
|
|
136
|
+
icon={'stop'}
|
|
137
|
+
label={localize('debug.action.stop')}
|
|
121
138
|
/>
|
|
122
139
|
);
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
run={doStop}
|
|
127
|
-
enabled={typeof state === 'number' && state !== DebugState.Inactive}
|
|
128
|
-
icon={'stop'}
|
|
129
|
-
label={localize('debug.action.stop')}
|
|
130
|
-
/>
|
|
131
|
-
);
|
|
132
|
-
};
|
|
133
|
-
const renderContinue = (state: DebugState): React.ReactNode => {
|
|
134
|
-
if (state === DebugState.Stopped) {
|
|
135
|
-
return <DebugAction run={doContinue} icon={'continue'} label={localize('debug.action.continue')} />;
|
|
136
|
-
}
|
|
137
|
-
return (
|
|
138
|
-
<DebugAction
|
|
139
|
-
run={doPause}
|
|
140
|
-
enabled={typeof state === 'number' && state === DebugState.Running}
|
|
141
|
-
icon={'pause'}
|
|
142
|
-
label={localize('debug.action.pause')}
|
|
143
|
-
/>
|
|
144
|
-
);
|
|
145
|
-
};
|
|
140
|
+
},
|
|
141
|
+
[doStop],
|
|
142
|
+
);
|
|
146
143
|
|
|
147
|
-
const
|
|
148
|
-
|
|
149
|
-
if (
|
|
150
|
-
return (
|
|
151
|
-
<option key={session.id} value={session.id}>
|
|
152
|
-
{session.label}
|
|
153
|
-
</option>
|
|
154
|
-
);
|
|
144
|
+
const renderContinue = useCallback(
|
|
145
|
+
(state: DebugState): React.ReactNode => {
|
|
146
|
+
if (state === DebugState.Stopped) {
|
|
147
|
+
return <DebugAction run={doContinue} icon={'continue'} label={localize('debug.action.continue')} />;
|
|
155
148
|
}
|
|
156
149
|
return (
|
|
157
|
-
<
|
|
158
|
-
{
|
|
159
|
-
|
|
150
|
+
<DebugAction
|
|
151
|
+
run={doPause}
|
|
152
|
+
enabled={typeof state === 'number' && state === DebugState.Running}
|
|
153
|
+
icon={'pause'}
|
|
154
|
+
label={localize('debug.action.pause')}
|
|
155
|
+
/>
|
|
160
156
|
);
|
|
161
|
-
}
|
|
157
|
+
},
|
|
158
|
+
[doPause, doContinue],
|
|
159
|
+
);
|
|
160
|
+
|
|
161
|
+
const renderSessionOptions = useCallback(
|
|
162
|
+
(sessions: DebugSession[]) =>
|
|
163
|
+
sessions.map((session: DebugSession) => {
|
|
164
|
+
if (isElectronRenderer) {
|
|
165
|
+
return (
|
|
166
|
+
<option key={session.id} value={session.id}>
|
|
167
|
+
{session.label}
|
|
168
|
+
</option>
|
|
169
|
+
);
|
|
170
|
+
}
|
|
171
|
+
return (
|
|
172
|
+
<Option key={session.id} label={session.label} value={session.id}>
|
|
173
|
+
{session.label}
|
|
174
|
+
</Option>
|
|
175
|
+
);
|
|
176
|
+
}),
|
|
177
|
+
[],
|
|
178
|
+
);
|
|
162
179
|
|
|
163
|
-
const renderSelections = (sessions: DebugSession[]) => {
|
|
180
|
+
const renderSelections = useCallback((sessions: DebugSession[]) => {
|
|
164
181
|
if (sessions.length > 1) {
|
|
165
182
|
return (
|
|
166
183
|
<div className={cls(styles.debug_selection)}>
|
|
@@ -182,59 +199,60 @@ export const DebugToolbarView = observer((props: DebugToolbarViewProps) => {
|
|
|
182
199
|
</div>
|
|
183
200
|
);
|
|
184
201
|
}
|
|
185
|
-
};
|
|
202
|
+
}, []);
|
|
186
203
|
|
|
187
|
-
const setCurrentSession = (
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
204
|
+
const setCurrentSession = useCallback(
|
|
205
|
+
(event: React.ChangeEvent<HTMLSelectElement> | string | number) => {
|
|
206
|
+
let value = event;
|
|
207
|
+
if (isElectronRenderer) {
|
|
208
|
+
value = (event as React.ChangeEvent<HTMLSelectElement>).target.value;
|
|
209
|
+
}
|
|
192
210
|
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
}
|
|
196
|
-
for (const session of sessions) {
|
|
197
|
-
if (session.id === value) {
|
|
198
|
-
updateCurrentSession(session);
|
|
211
|
+
if (!sessions) {
|
|
212
|
+
return;
|
|
199
213
|
}
|
|
200
|
-
|
|
201
|
-
|
|
214
|
+
for (const session of sessions) {
|
|
215
|
+
if (session.id === value) {
|
|
216
|
+
updateCurrentSession(session);
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
},
|
|
220
|
+
[updateCurrentSession],
|
|
221
|
+
);
|
|
202
222
|
|
|
203
223
|
return (
|
|
204
|
-
<
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
{renderToolBar(currentSession)}
|
|
235
|
-
</div>
|
|
224
|
+
<div className={styles.debug_action_bar}>
|
|
225
|
+
{renderSelections(sessions.filter((s: DebugSession) => !s.parentSession))}
|
|
226
|
+
<div className={styles.debug_actions}>
|
|
227
|
+
{renderContinue(state)}
|
|
228
|
+
<DebugAction
|
|
229
|
+
run={doStepOver}
|
|
230
|
+
enabled={typeof state === 'number' && state === DebugState.Stopped}
|
|
231
|
+
icon={'step'}
|
|
232
|
+
label={localize('debug.action.step-over')}
|
|
233
|
+
/>
|
|
234
|
+
<DebugAction
|
|
235
|
+
run={doStepIn}
|
|
236
|
+
enabled={typeof state === 'number' && state === DebugState.Stopped}
|
|
237
|
+
icon={'step-in'}
|
|
238
|
+
label={localize('debug.action.step-into')}
|
|
239
|
+
/>
|
|
240
|
+
<DebugAction
|
|
241
|
+
run={doStepOut}
|
|
242
|
+
enabled={typeof state === 'number' && state === DebugState.Stopped}
|
|
243
|
+
icon={'step-out'}
|
|
244
|
+
label={localize('debug.action.step-out')}
|
|
245
|
+
/>
|
|
246
|
+
<DebugAction
|
|
247
|
+
run={doRestart}
|
|
248
|
+
enabled={typeof state === 'number' && state !== DebugState.Inactive}
|
|
249
|
+
icon={'reload'}
|
|
250
|
+
label={localize('debug.action.restart')}
|
|
251
|
+
/>
|
|
252
|
+
{renderStop(state)}
|
|
253
|
+
{renderToolBar(currentSession)}
|
|
236
254
|
</div>
|
|
237
|
-
</
|
|
255
|
+
</div>
|
|
238
256
|
);
|
|
239
257
|
});
|
|
240
258
|
|
|
@@ -156,11 +156,11 @@ export class DebugConsoleService implements IHistoryNavigationWidget {
|
|
|
156
156
|
if (inDebugMode) {
|
|
157
157
|
this.updateReadOnly(false);
|
|
158
158
|
this.updateInputDecoration();
|
|
159
|
-
this.debugContextKey.
|
|
159
|
+
this.debugContextKey.contextInDebugMode.set(true);
|
|
160
160
|
} else {
|
|
161
161
|
this.updateReadOnly(true);
|
|
162
162
|
if (this.debugContextKey) {
|
|
163
|
-
this.debugContextKey.
|
|
163
|
+
this.debugContextKey.contextInDebugMode.set(false);
|
|
164
164
|
}
|
|
165
165
|
}
|
|
166
166
|
}
|
|
@@ -24,7 +24,6 @@ import { DebugSessionManager } from '../debug-session-manager';
|
|
|
24
24
|
import { DebugStackFrame } from '../model/debug-stack-frame';
|
|
25
25
|
import { DebugThread } from '../model/debug-thread';
|
|
26
26
|
|
|
27
|
-
|
|
28
27
|
@Injectable()
|
|
29
28
|
export class DebugViewModel implements IDisposable {
|
|
30
29
|
@Autowired(IDebugSessionManager)
|
|
@@ -43,7 +42,6 @@ export class DebugViewModel implements IDisposable {
|
|
|
43
42
|
}
|
|
44
43
|
|
|
45
44
|
protected readonly toDispose = new DisposableCollection(this.onDidChangeEmitter, this.onDidChangeBreakpointsEmitter);
|
|
46
|
-
|
|
47
45
|
protected readonly _sessions = new Set<DebugSession>();
|
|
48
46
|
|
|
49
47
|
get sessions(): IterableIterator<DebugSession> {
|
|
@@ -77,9 +75,11 @@ export class DebugViewModel implements IDisposable {
|
|
|
77
75
|
get id(): string {
|
|
78
76
|
return (this.session && this.session.id) || '-1';
|
|
79
77
|
}
|
|
78
|
+
|
|
80
79
|
get label(): string {
|
|
81
80
|
return (this.session && this.session.label) || 'Unknown Session';
|
|
82
81
|
}
|
|
82
|
+
|
|
83
83
|
has(session: DebugSession | undefined): session is DebugSession {
|
|
84
84
|
return !!session && this._sessions.has(session);
|
|
85
85
|
}
|
|
@@ -120,10 +120,12 @@ export class DebugViewModel implements IDisposable {
|
|
|
120
120
|
return this.manager.currentSession.getThreads(() => true);
|
|
121
121
|
}
|
|
122
122
|
}
|
|
123
|
+
|
|
123
124
|
get currentSession(): DebugSession | undefined {
|
|
124
125
|
const { currentSession } = this.manager;
|
|
125
126
|
return (this.has(currentSession) && currentSession) || this.session;
|
|
126
127
|
}
|
|
128
|
+
|
|
127
129
|
set currentSession(currentSession: DebugSession | undefined) {
|
|
128
130
|
this.manager.updateCurrentSession(currentSession);
|
|
129
131
|
}
|
|
@@ -132,10 +134,12 @@ export class DebugViewModel implements IDisposable {
|
|
|
132
134
|
const { currentSession } = this;
|
|
133
135
|
return (currentSession && currentSession.state) || DebugState.Inactive;
|
|
134
136
|
}
|
|
137
|
+
|
|
135
138
|
get currentThread(): DebugThread | undefined {
|
|
136
139
|
const { currentSession } = this;
|
|
137
140
|
return currentSession && currentSession.currentThread;
|
|
138
141
|
}
|
|
142
|
+
|
|
139
143
|
get currentFrame(): DebugStackFrame | undefined {
|
|
140
144
|
const { currentThread } = this;
|
|
141
145
|
return currentThread && currentThread.currentFrame;
|
|
@@ -211,7 +211,10 @@ export const DebugStackSessionView = (props: DebugStackSessionViewProps) => {
|
|
|
211
211
|
>
|
|
212
212
|
{supportsThreadIdCorrespond || threads.length > 0 ? (
|
|
213
213
|
<>
|
|
214
|
-
<div
|
|
214
|
+
<div
|
|
215
|
+
className={unfold ? getIcon('arrow-down') : getIcon('arrow-right')}
|
|
216
|
+
onClick={() => setUnfold(!unfold)}
|
|
217
|
+
></div>
|
|
215
218
|
<div className={cls([getIcon('debug'), styles.debug_session_icon])}></div>
|
|
216
219
|
</>
|
|
217
220
|
) : (
|
|
@@ -68,7 +68,10 @@ export const DebugStackThreadView = (props: DebugStackThreadViewProps) => {
|
|
|
68
68
|
{mutiple && (
|
|
69
69
|
<div style={{ paddingLeft: `${indent}px` }} className={styles.debug_stack_item_label}>
|
|
70
70
|
{thread.frames.length > 0 ? (
|
|
71
|
-
<div
|
|
71
|
+
<div
|
|
72
|
+
className={expanded ? getIcon('arrow-down') : getIcon('arrow-right')}
|
|
73
|
+
onClick={() => setExpanded(!expanded)}
|
|
74
|
+
></div>
|
|
72
75
|
) : (
|
|
73
76
|
<div style={{ width: 14 }}></div>
|
|
74
77
|
)}
|
|
@@ -1,11 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
IDisposable,
|
|
3
|
-
IJSONSchema,
|
|
4
|
-
IJSONSchemaSnippet,
|
|
5
|
-
ApplicationError,
|
|
6
|
-
Event,
|
|
7
|
-
BinaryBuffer,
|
|
8
|
-
} from '@opensumi/ide-core-common';
|
|
1
|
+
import { IDisposable, IJSONSchema, IJSONSchemaSnippet, Event, BinaryBuffer } from '@opensumi/ide-core-common';
|
|
9
2
|
|
|
10
3
|
import { DebugConfiguration } from './debug-configuration';
|
|
11
4
|
import { IDebugSessionDTO } from './debug-session-options';
|
|
@@ -167,10 +160,3 @@ export interface IDebugServiceContributionPoint {
|
|
|
167
160
|
contributions: IJSONSchema[];
|
|
168
161
|
removed?: boolean;
|
|
169
162
|
}
|
|
170
|
-
|
|
171
|
-
export namespace DebugError {
|
|
172
|
-
export const NotFound = ApplicationError.declare(-41000, (type: string) => ({
|
|
173
|
-
message: `'${type}' debugger type is not supported.`,
|
|
174
|
-
data: { type },
|
|
175
|
-
}));
|
|
176
|
-
}
|