@theia/debug 1.27.0-next.7 → 1.27.0-next.72
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/console/debug-console-contribution.js +2 -2
- package/lib/browser/console/debug-console-contribution.js.map +1 -1
- package/lib/browser/debug-configuration-manager.d.ts +21 -5
- package/lib/browser/debug-configuration-manager.d.ts.map +1 -1
- package/lib/browser/debug-configuration-manager.js +81 -11
- package/lib/browser/debug-configuration-manager.js.map +1 -1
- package/lib/browser/debug-frontend-application-contribution.d.ts +1 -15
- package/lib/browser/debug-frontend-application-contribution.d.ts.map +1 -1
- package/lib/browser/debug-frontend-application-contribution.js +9 -60
- package/lib/browser/debug-frontend-application-contribution.js.map +1 -1
- package/lib/browser/debug-frontend-module.d.ts.map +1 -1
- package/lib/browser/debug-frontend-module.js +11 -2
- package/lib/browser/debug-frontend-module.js.map +1 -1
- package/lib/browser/debug-preferences.d.ts +0 -1
- package/lib/browser/debug-preferences.d.ts.map +1 -1
- package/lib/browser/debug-preferences.js +0 -5
- package/lib/browser/debug-preferences.js.map +1 -1
- package/lib/browser/debug-prefix-configuration.d.ts +2 -7
- package/lib/browser/debug-prefix-configuration.d.ts.map +1 -1
- package/lib/browser/debug-prefix-configuration.js +6 -13
- package/lib/browser/debug-prefix-configuration.js.map +1 -1
- package/lib/browser/debug-session-connection.d.ts +4 -4
- package/lib/browser/debug-session-connection.d.ts.map +1 -1
- package/lib/browser/debug-session-connection.js.map +1 -1
- package/lib/browser/debug-session-contribution.js +2 -2
- package/lib/browser/debug-session-contribution.js.map +1 -1
- package/lib/browser/debug-session-options.d.ts +9 -2
- package/lib/browser/debug-session-options.d.ts.map +1 -1
- package/lib/browser/debug-session-options.js +18 -1
- package/lib/browser/debug-session-options.js.map +1 -1
- package/lib/browser/editor/debug-breakpoint-widget.js +1 -1
- package/lib/browser/editor/debug-breakpoint-widget.js.map +1 -1
- package/lib/browser/view/debug-breakpoints-widget.d.ts +1 -0
- package/lib/browser/view/debug-breakpoints-widget.d.ts.map +1 -1
- package/lib/browser/view/debug-breakpoints-widget.js +2 -1
- package/lib/browser/view/debug-breakpoints-widget.js.map +1 -1
- package/lib/browser/view/debug-configuration-select.d.ts +59 -0
- package/lib/browser/view/debug-configuration-select.d.ts.map +1 -0
- package/lib/browser/view/debug-configuration-select.js +183 -0
- package/lib/browser/view/debug-configuration-select.js.map +1 -0
- package/lib/browser/view/debug-configuration-widget.d.ts +5 -10
- package/lib/browser/view/debug-configuration-widget.d.ts.map +1 -1
- package/lib/browser/view/debug-configuration-widget.js +21 -54
- package/lib/browser/view/debug-configuration-widget.js.map +1 -1
- package/lib/browser/view/debug-session-widget.d.ts +8 -11
- package/lib/browser/view/debug-session-widget.d.ts.map +1 -1
- package/lib/browser/view/debug-session-widget.js +23 -34
- package/lib/browser/view/debug-session-widget.js.map +1 -1
- package/lib/browser/view/debug-stack-frames-source.d.ts.map +1 -1
- package/lib/browser/view/debug-stack-frames-source.js +1 -3
- package/lib/browser/view/debug-stack-frames-source.js.map +1 -1
- package/lib/browser/view/debug-stack-frames-widget.d.ts +2 -1
- package/lib/browser/view/debug-stack-frames-widget.d.ts.map +1 -1
- package/lib/browser/view/debug-stack-frames-widget.js +4 -3
- package/lib/browser/view/debug-stack-frames-widget.js.map +1 -1
- package/lib/browser/view/debug-threads-widget.d.ts +1 -0
- package/lib/browser/view/debug-threads-widget.d.ts.map +1 -1
- package/lib/browser/view/debug-threads-widget.js +2 -1
- package/lib/browser/view/debug-threads-widget.js.map +1 -1
- package/lib/browser/view/debug-variables-widget.d.ts +1 -0
- package/lib/browser/view/debug-variables-widget.d.ts.map +1 -1
- package/lib/browser/view/debug-variables-widget.js +2 -1
- package/lib/browser/view/debug-variables-widget.js.map +1 -1
- package/lib/browser/view/debug-view-model.d.ts +0 -9
- package/lib/browser/view/debug-view-model.d.ts.map +1 -1
- package/lib/browser/view/debug-view-model.js +9 -43
- package/lib/browser/view/debug-view-model.js.map +1 -1
- package/lib/browser/view/debug-watch-widget.d.ts +1 -0
- package/lib/browser/view/debug-watch-widget.d.ts.map +1 -1
- package/lib/browser/view/debug-watch-widget.js +2 -1
- package/lib/browser/view/debug-watch-widget.js.map +1 -1
- package/lib/browser/view/debug-widget.d.ts.map +1 -1
- package/lib/browser/view/debug-widget.js +1 -6
- package/lib/browser/view/debug-widget.js.map +1 -1
- package/lib/{node → common}/debug-adapter-contribution-registry.d.ts +2 -2
- package/lib/common/debug-adapter-contribution-registry.d.ts.map +1 -0
- package/lib/{node → common}/debug-adapter-contribution-registry.js +1 -1
- package/lib/common/debug-adapter-contribution-registry.js.map +1 -0
- package/lib/{node → common}/debug-adapter-session.d.ts +2 -2
- package/lib/common/debug-adapter-session.d.ts.map +1 -0
- package/lib/{node → common}/debug-adapter-session.js +0 -0
- package/lib/common/debug-adapter-session.js.map +1 -0
- package/lib/common/debug-configuration.d.ts +0 -5
- package/lib/common/debug-configuration.d.ts.map +1 -1
- package/lib/common/debug-configuration.js.map +1 -1
- package/lib/{node → common}/debug-model.d.ts +4 -4
- package/lib/{node → common}/debug-model.d.ts.map +1 -1
- package/lib/{node → common}/debug-model.js +0 -0
- package/lib/common/debug-model.js.map +1 -0
- package/lib/common/debug-service.d.ts +26 -4
- package/lib/common/debug-service.d.ts.map +1 -1
- package/lib/common/debug-service.js +31 -1
- package/lib/common/debug-service.js.map +1 -1
- package/lib/common/inline-debug-adapter.d.ts +19 -0
- package/lib/common/inline-debug-adapter.d.ts.map +1 -0
- package/lib/common/inline-debug-adapter.js +45 -0
- package/lib/common/inline-debug-adapter.js.map +1 -0
- package/lib/node/debug-adapter-factory.d.ts +1 -1
- package/lib/node/debug-adapter-factory.d.ts.map +1 -1
- package/lib/node/debug-adapter-factory.js +1 -1
- package/lib/node/debug-adapter-factory.js.map +1 -1
- package/lib/node/debug-adapter-session-manager.d.ts +2 -2
- package/lib/node/debug-adapter-session-manager.d.ts.map +1 -1
- package/lib/node/debug-adapter-session-manager.js +4 -4
- package/lib/node/debug-adapter-session-manager.js.map +1 -1
- package/lib/node/debug-backend-module.js +2 -2
- package/lib/node/debug-backend-module.js.map +1 -1
- package/lib/node/debug-service-impl.d.ts +5 -1
- package/lib/node/debug-service-impl.d.ts.map +1 -1
- package/lib/node/debug-service-impl.js +13 -1
- package/lib/node/debug-service-impl.js.map +1 -1
- package/lib/node/stream-debug-adapter.d.ts +1 -1
- package/lib/node/stream-debug-adapter.d.ts.map +1 -1
- package/lib/node/vscode/vscode-debug-adapter-contribution.d.ts +1 -1
- package/lib/node/vscode/vscode-debug-adapter-contribution.d.ts.map +1 -1
- package/package.json +14 -14
- package/src/browser/console/debug-console-contribution.tsx +2 -2
- package/src/browser/debug-call-stack-item-type-key.ts +1 -1
- package/src/browser/debug-configuration-manager.ts +111 -16
- package/src/browser/debug-frontend-application-contribution.ts +11 -71
- package/src/browser/debug-frontend-module.ts +12 -5
- package/src/browser/debug-preferences.ts +0 -6
- package/src/browser/debug-prefix-configuration.ts +6 -14
- package/src/browser/debug-session-connection.ts +4 -4
- package/src/browser/debug-session-contribution.ts +4 -4
- package/src/browser/debug-session-options.ts +30 -3
- package/src/browser/editor/debug-breakpoint-widget.tsx +1 -1
- package/src/browser/view/debug-breakpoints-widget.ts +2 -1
- package/src/browser/view/debug-configuration-select.tsx +234 -0
- package/src/browser/view/debug-configuration-widget.tsx +24 -55
- package/src/browser/view/debug-session-widget.ts +22 -33
- package/src/browser/view/debug-stack-frames-source.tsx +1 -4
- package/src/browser/view/debug-stack-frames-widget.ts +4 -3
- package/src/browser/view/debug-threads-widget.ts +2 -1
- package/src/browser/view/debug-variables-widget.ts +2 -1
- package/src/browser/view/debug-view-model.ts +8 -46
- package/src/browser/view/debug-watch-widget.ts +2 -1
- package/src/browser/view/debug-widget.ts +2 -6
- package/src/{node → common}/debug-adapter-contribution-registry.ts +2 -2
- package/src/{node → common}/debug-adapter-session.ts +3 -3
- package/src/common/debug-configuration.ts +0 -8
- package/src/{node → common}/debug-model.ts +4 -4
- package/src/common/debug-service.ts +47 -5
- package/src/common/inline-debug-adapter.ts +47 -0
- package/src/node/debug-adapter-factory.ts +2 -2
- package/src/node/debug-adapter-session-manager.ts +6 -6
- package/src/node/debug-backend-module.ts +2 -2
- package/src/node/debug-service-impl.ts +14 -2
- package/src/node/stream-debug-adapter.ts +1 -1
- package/src/node/vscode/vscode-debug-adapter-contribution.ts +1 -1
- package/lib/node/debug-adapter-contribution-registry.d.ts.map +0 -1
- package/lib/node/debug-adapter-contribution-registry.js.map +0 -1
- package/lib/node/debug-adapter-session.d.ts.map +0 -1
- package/lib/node/debug-adapter-session.js.map +0 -1
- package/lib/node/debug-model.js.map +0 -1
|
@@ -27,11 +27,6 @@ import { DebugWatchExpression } from './debug-watch-expression';
|
|
|
27
27
|
import { DebugWatchManager } from '../debug-watch-manager';
|
|
28
28
|
import { DebugFunctionBreakpoint } from '../model/debug-function-breakpoint';
|
|
29
29
|
|
|
30
|
-
export const DebugViewOptions = Symbol('DebugViewOptions');
|
|
31
|
-
export interface DebugViewOptions {
|
|
32
|
-
session?: DebugSession
|
|
33
|
-
}
|
|
34
|
-
|
|
35
30
|
@injectable()
|
|
36
31
|
export class DebugViewModel implements Disposable {
|
|
37
32
|
|
|
@@ -62,39 +57,20 @@ export class DebugViewModel implements Disposable {
|
|
|
62
57
|
this.onDidChangeWatchExpressionsEmitter
|
|
63
58
|
);
|
|
64
59
|
|
|
65
|
-
@inject(DebugViewOptions)
|
|
66
|
-
protected readonly options: DebugViewOptions;
|
|
67
|
-
|
|
68
60
|
@inject(DebugSessionManager)
|
|
69
61
|
protected readonly manager: DebugSessionManager;
|
|
70
62
|
|
|
71
63
|
@inject(DebugWatchManager)
|
|
72
64
|
protected readonly watch: DebugWatchManager;
|
|
73
65
|
|
|
74
|
-
protected readonly _sessions = new Set<DebugSession>();
|
|
75
66
|
get sessions(): IterableIterator<DebugSession> {
|
|
76
|
-
return this.
|
|
67
|
+
return this.manager.sessions[Symbol.iterator]();
|
|
77
68
|
}
|
|
78
69
|
get sessionCount(): number {
|
|
79
|
-
return this.
|
|
70
|
+
return this.manager.sessions.length;
|
|
80
71
|
}
|
|
81
|
-
push(session: DebugSession): void {
|
|
82
|
-
if (this._sessions.has(session)) {
|
|
83
|
-
return;
|
|
84
|
-
}
|
|
85
|
-
this._sessions.add(session);
|
|
86
|
-
this.fireDidChange();
|
|
87
|
-
}
|
|
88
|
-
delete(session: DebugSession): boolean {
|
|
89
|
-
if (this._sessions.delete(session)) {
|
|
90
|
-
this.fireDidChange();
|
|
91
|
-
return true;
|
|
92
|
-
}
|
|
93
|
-
return false;
|
|
94
|
-
}
|
|
95
|
-
|
|
96
72
|
get session(): DebugSession | undefined {
|
|
97
|
-
return this.
|
|
73
|
+
return this.currentSession;
|
|
98
74
|
}
|
|
99
75
|
get id(): string {
|
|
100
76
|
return this.session && this.session.id || '-1';
|
|
@@ -102,22 +78,14 @@ export class DebugViewModel implements Disposable {
|
|
|
102
78
|
get label(): string {
|
|
103
79
|
return this.session && this.session.label || 'Unknown Session';
|
|
104
80
|
}
|
|
105
|
-
has(session: DebugSession | undefined): session is DebugSession {
|
|
106
|
-
return !!session && this._sessions.has(session);
|
|
107
|
-
}
|
|
108
81
|
|
|
109
82
|
@postConstruct()
|
|
110
83
|
protected init(): void {
|
|
111
|
-
|
|
112
|
-
this.
|
|
113
|
-
}
|
|
114
|
-
this.toDispose.push(this.manager.onDidChangeActiveDebugSession(({ previous, current }) => {
|
|
115
|
-
if (this.has(previous) && !this.has(current)) {
|
|
116
|
-
this.fireDidChange();
|
|
117
|
-
}
|
|
84
|
+
this.toDispose.push(this.manager.onDidChangeActiveDebugSession(() => {
|
|
85
|
+
this.fireDidChange();
|
|
118
86
|
}));
|
|
119
87
|
this.toDispose.push(this.manager.onDidChange(current => {
|
|
120
|
-
if (this.
|
|
88
|
+
if (current === this.currentSession) {
|
|
121
89
|
this.fireDidChange();
|
|
122
90
|
}
|
|
123
91
|
}));
|
|
@@ -136,7 +104,7 @@ export class DebugViewModel implements Disposable {
|
|
|
136
104
|
|
|
137
105
|
get currentSession(): DebugSession | undefined {
|
|
138
106
|
const { currentSession } = this.manager;
|
|
139
|
-
return
|
|
107
|
+
return currentSession;
|
|
140
108
|
}
|
|
141
109
|
set currentSession(currentSession: DebugSession | undefined) {
|
|
142
110
|
this.manager.currentSession = currentSession;
|
|
@@ -170,8 +138,6 @@ export class DebugViewModel implements Disposable {
|
|
|
170
138
|
}
|
|
171
139
|
const newSession = await this.manager.start(session.options);
|
|
172
140
|
if (newSession) {
|
|
173
|
-
this._sessions.delete(session);
|
|
174
|
-
this._sessions.add(newSession);
|
|
175
141
|
this.fireDidChange();
|
|
176
142
|
}
|
|
177
143
|
}
|
|
@@ -181,11 +147,7 @@ export class DebugViewModel implements Disposable {
|
|
|
181
147
|
if (!session) {
|
|
182
148
|
return;
|
|
183
149
|
}
|
|
184
|
-
|
|
185
|
-
if (newSession && newSession !== session) {
|
|
186
|
-
this._sessions.delete(session);
|
|
187
|
-
this._sessions.add(newSession);
|
|
188
|
-
}
|
|
150
|
+
await this.manager.restartSession(session);
|
|
189
151
|
this.fireDidChange();
|
|
190
152
|
}
|
|
191
153
|
|
|
@@ -27,6 +27,7 @@ export class DebugWatchWidget extends SourceTreeWidget {
|
|
|
27
27
|
static CONTEXT_MENU: MenuPath = ['debug-watch-context-menu'];
|
|
28
28
|
static EDIT_MENU = [...DebugWatchWidget.CONTEXT_MENU, 'a_edit'];
|
|
29
29
|
static REMOVE_MENU = [...DebugWatchWidget.CONTEXT_MENU, 'b_remove'];
|
|
30
|
+
static FACTORY_ID = 'debug:watch';
|
|
30
31
|
static override createContainer(parent: interfaces.Container): Container {
|
|
31
32
|
const child = SourceTreeWidget.createContainer(parent, {
|
|
32
33
|
contextMenuPath: DebugWatchWidget.CONTEXT_MENU,
|
|
@@ -51,7 +52,7 @@ export class DebugWatchWidget extends SourceTreeWidget {
|
|
|
51
52
|
@postConstruct()
|
|
52
53
|
protected override init(): void {
|
|
53
54
|
super.init();
|
|
54
|
-
this.id = '
|
|
55
|
+
this.id = DebugWatchWidget.FACTORY_ID + ':' + this.viewModel.id;
|
|
55
56
|
this.title.label = nls.localizeByDefault('Watch');
|
|
56
57
|
this.toDispose.push(this.variables);
|
|
57
58
|
this.source = this.variables;
|
|
@@ -29,11 +29,12 @@ import { nls } from '@theia/core/lib/common/nls';
|
|
|
29
29
|
export class DebugWidget extends BaseWidget implements StatefulWidget, ApplicationShell.TrackableWidgetProvider {
|
|
30
30
|
|
|
31
31
|
static createContainer(parent: interfaces.Container): Container {
|
|
32
|
-
const child = DebugSessionWidget.createContainer(parent
|
|
32
|
+
const child = DebugSessionWidget.createContainer(parent);
|
|
33
33
|
child.bind(DebugConfigurationWidget).toSelf();
|
|
34
34
|
child.bind(DebugWidget).toSelf();
|
|
35
35
|
return child;
|
|
36
36
|
}
|
|
37
|
+
|
|
37
38
|
static createWidget(parent: interfaces.Container): DebugWidget {
|
|
38
39
|
return DebugWidget.createContainer(parent).get(DebugWidget);
|
|
39
40
|
}
|
|
@@ -67,12 +68,7 @@ export class DebugWidget extends BaseWidget implements StatefulWidget, Applicati
|
|
|
67
68
|
this.toDispose.pushAll([
|
|
68
69
|
this.toolbar,
|
|
69
70
|
this.sessionWidget,
|
|
70
|
-
this.sessionManager.onDidCreateDebugSession(session => this.model.push(session)),
|
|
71
|
-
this.sessionManager.onDidDestroyDebugSession(session => this.model.delete(session))
|
|
72
71
|
]);
|
|
73
|
-
for (const session of this.sessionManager.sessions) {
|
|
74
|
-
this.model.push(session);
|
|
75
|
-
}
|
|
76
72
|
|
|
77
73
|
const layout = this.layout = new PanelLayout();
|
|
78
74
|
layout.addWidget(this.toolbar);
|
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
|
|
17
17
|
import { injectable, inject, named } from '@theia/core/shared/inversify';
|
|
18
18
|
import { ContributionProvider } from '@theia/core';
|
|
19
|
-
import { DebugConfiguration } from '
|
|
20
|
-
import { DebuggerDescription, DebugError } from '
|
|
19
|
+
import { DebugConfiguration } from './debug-configuration';
|
|
20
|
+
import { DebuggerDescription, DebugError } from './debug-service';
|
|
21
21
|
|
|
22
22
|
import { DebugAdapterContribution, DebugAdapterExecutable, DebugAdapterSessionFactory } from './debug-model';
|
|
23
23
|
import { IJSONSchema, IJSONSchemaSnippet } from '@theia/core/lib/common/json-schema';
|
|
@@ -26,14 +26,14 @@ import {
|
|
|
26
26
|
DebugAdapterSession
|
|
27
27
|
} from './debug-model';
|
|
28
28
|
import { DebugProtocol } from 'vscode-debugprotocol';
|
|
29
|
-
import {
|
|
29
|
+
import { DebugChannel } from './debug-service';
|
|
30
30
|
|
|
31
31
|
/**
|
|
32
32
|
* [DebugAdapterSession](#DebugAdapterSession) implementation.
|
|
33
33
|
*/
|
|
34
34
|
export class DebugAdapterSessionImpl implements DebugAdapterSession {
|
|
35
35
|
|
|
36
|
-
private channel:
|
|
36
|
+
private channel: DebugChannel | undefined;
|
|
37
37
|
private isClosed: boolean = false;
|
|
38
38
|
|
|
39
39
|
constructor(
|
|
@@ -46,7 +46,7 @@ export class DebugAdapterSessionImpl implements DebugAdapterSession {
|
|
|
46
46
|
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
-
async start(channel:
|
|
49
|
+
async start(channel: DebugChannel): Promise<void> {
|
|
50
50
|
|
|
51
51
|
console.debug(`starting debug adapter session '${this.id}'`);
|
|
52
52
|
if (this.channel) {
|
|
@@ -16,8 +16,6 @@
|
|
|
16
16
|
import { TaskIdentifier } from '@theia/task/lib/common';
|
|
17
17
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
18
18
|
|
|
19
|
-
export type DebugViewLocation = 'default' | 'left' | 'right' | 'bottom';
|
|
20
|
-
|
|
21
19
|
/**
|
|
22
20
|
* Configuration for a debug adapter session.
|
|
23
21
|
*/
|
|
@@ -60,9 +58,6 @@ export interface DebugConfiguration {
|
|
|
60
58
|
*/
|
|
61
59
|
__restart?: any;
|
|
62
60
|
|
|
63
|
-
/** default: default */
|
|
64
|
-
debugViewLocation?: DebugViewLocation
|
|
65
|
-
|
|
66
61
|
/** default: neverOpen */
|
|
67
62
|
openDebug?: 'neverOpen' | 'openOnSessionStart' | 'openOnFirstSessionStart' | 'openOnDebugBreak';
|
|
68
63
|
|
|
@@ -74,9 +69,6 @@ export interface DebugConfiguration {
|
|
|
74
69
|
|
|
75
70
|
/** Task to run after debug session ends */
|
|
76
71
|
postDebugTask?: string | TaskIdentifier;
|
|
77
|
-
|
|
78
|
-
/** Indicates if it's a dynamic debug configuration */
|
|
79
|
-
dynamic?: boolean;
|
|
80
72
|
}
|
|
81
73
|
export namespace DebugConfiguration {
|
|
82
74
|
export function is(arg: DebugConfiguration | any): arg is DebugConfiguration {
|
|
@@ -22,11 +22,11 @@
|
|
|
22
22
|
// Some entities copied and modified from https://github.com/Microsoft/vscode/blob/master/src/vs/vscode.d.ts
|
|
23
23
|
// Some entities copied and modified from https://github.com/Microsoft/vscode/blob/master/src/vs/workbench/parts/debug/common/debug.ts
|
|
24
24
|
|
|
25
|
-
import { DebugConfiguration } from '
|
|
25
|
+
import { DebugConfiguration } from './debug-configuration';
|
|
26
26
|
import { IJSONSchema, IJSONSchemaSnippet } from '@theia/core/lib/common/json-schema';
|
|
27
27
|
import { MaybePromise } from '@theia/core/lib/common/types';
|
|
28
|
-
import { Event } from '@theia/core
|
|
29
|
-
import {
|
|
28
|
+
import { Event } from '@theia/core';
|
|
29
|
+
import { DebugChannel } from './debug-service';
|
|
30
30
|
|
|
31
31
|
// FIXME: break down this file to debug adapter and debug adapter contribution (see Theia file naming conventions)
|
|
32
32
|
|
|
@@ -43,7 +43,7 @@ export const DebugAdapterSession = Symbol('DebugAdapterSession');
|
|
|
43
43
|
export interface DebugAdapterSession {
|
|
44
44
|
id: string;
|
|
45
45
|
parentSession?: DebugAdapterSession;
|
|
46
|
-
start(channel:
|
|
46
|
+
start(channel: DebugChannel): Promise<void>
|
|
47
47
|
stop(): Promise<void>
|
|
48
48
|
}
|
|
49
49
|
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
|
|
17
17
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
18
18
|
|
|
19
|
-
import { Disposable } from '@theia/core';
|
|
19
|
+
import { Channel, Disposable, Emitter, Event } from '@theia/core';
|
|
20
20
|
import { ApplicationError } from '@theia/core/lib/common/application-error';
|
|
21
21
|
import { IJSONSchema, IJSONSchemaSnippet } from '@theia/core/lib/common/json-schema';
|
|
22
22
|
import { CommandIdVariables } from '@theia/variable-resolver/lib/common/variable-types';
|
|
@@ -82,6 +82,11 @@ export interface DebugService extends Disposable {
|
|
|
82
82
|
*/
|
|
83
83
|
provideDynamicDebugConfigurations?(): Promise<Record<string, DebugConfiguration[]>>;
|
|
84
84
|
|
|
85
|
+
/**
|
|
86
|
+
* Provides a dynamic debug configuration matching the name and the provider debug type
|
|
87
|
+
*/
|
|
88
|
+
fetchDynamicDebugConfiguration(name: string, type: string): Promise<DebugConfiguration | undefined>;
|
|
89
|
+
|
|
85
90
|
/**
|
|
86
91
|
* Resolves a [debug configuration](#DebugConfiguration) by filling in missing values
|
|
87
92
|
* or by adding/changing/removing attributes before variable substitution.
|
|
@@ -116,6 +121,12 @@ export interface DebugService extends Disposable {
|
|
|
116
121
|
* Stop a running session for the given session id.
|
|
117
122
|
*/
|
|
118
123
|
terminateDebugSession(sessionId: string): Promise<void>;
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* Event handle to indicate when one or more dynamic debug configuration providers
|
|
127
|
+
* have been registered or unregistered.
|
|
128
|
+
*/
|
|
129
|
+
onDidChangeDebugConfigurationProviders: Event<void>;
|
|
119
130
|
}
|
|
120
131
|
|
|
121
132
|
/**
|
|
@@ -131,14 +142,45 @@ export namespace DebugError {
|
|
|
131
142
|
}
|
|
132
143
|
|
|
133
144
|
/**
|
|
134
|
-
* A closeable channel to send messages over with error/close handling
|
|
145
|
+
* A closeable channel to send debug protocol messages over with error/close handling
|
|
135
146
|
*/
|
|
136
|
-
export interface
|
|
147
|
+
export interface DebugChannel {
|
|
137
148
|
send(content: string): void;
|
|
138
|
-
|
|
139
|
-
onMessage(cb: (data: any) => void): void;
|
|
149
|
+
onMessage(cb: (message: string) => void): void;
|
|
140
150
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
141
151
|
onError(cb: (reason: any) => void): void;
|
|
142
152
|
onClose(cb: (code: number, reason: string) => void): void;
|
|
143
153
|
close(): void;
|
|
144
154
|
}
|
|
155
|
+
|
|
156
|
+
/**
|
|
157
|
+
* A {@link DebugChannel} wrapper implementation that sends and receives messages to/from an underlying {@link Channel}.
|
|
158
|
+
*/
|
|
159
|
+
export class ForwardingDebugChannel implements DebugChannel {
|
|
160
|
+
private onMessageEmitter = new Emitter<string>();
|
|
161
|
+
|
|
162
|
+
constructor(private readonly underlyingChannel: Channel) {
|
|
163
|
+
this.underlyingChannel.onMessage(msg => this.onMessageEmitter.fire(msg().readString()));
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
send(content: string): void {
|
|
167
|
+
this.underlyingChannel.getWriteBuffer().writeString(content).commit();
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
onMessage(cb: (message: string) => void): void {
|
|
171
|
+
this.onMessageEmitter.event(cb);
|
|
172
|
+
}
|
|
173
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
174
|
+
onError(cb: (reason: any) => void): void {
|
|
175
|
+
this.underlyingChannel.onError(cb);
|
|
176
|
+
}
|
|
177
|
+
onClose(cb: (code: number, reason: string) => void): void {
|
|
178
|
+
this.underlyingChannel.onClose(event => cb(event.code ?? -1, event.reason));
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
close(): void {
|
|
182
|
+
this.underlyingChannel.close();
|
|
183
|
+
this.onMessageEmitter.dispose();
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
// *****************************************************************************
|
|
2
|
+
// Copyright (C) 2021 Red Hat, Inc. and others.
|
|
3
|
+
//
|
|
4
|
+
// This program and the accompanying materials are made available under the
|
|
5
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
+
//
|
|
8
|
+
// This Source Code may also be made available under the following Secondary
|
|
9
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
+
// with the GNU Classpath Exception which is available at
|
|
12
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
13
|
+
//
|
|
14
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
|
+
// *****************************************************************************
|
|
16
|
+
|
|
17
|
+
import { Emitter, Event } from '@theia/core/lib/common/event';
|
|
18
|
+
import { DebugAdapter } from './debug-model';
|
|
19
|
+
import * as theia from '@theia/plugin';
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* A debug adapter for using the inline implementation from a plugin.
|
|
23
|
+
*/
|
|
24
|
+
export class InlineDebugAdapter implements DebugAdapter {
|
|
25
|
+
private messageReceivedEmitter = new Emitter<string>();
|
|
26
|
+
onMessageReceived: Event<string> = this.messageReceivedEmitter.event;
|
|
27
|
+
onError: Event<Error> = Event.None;
|
|
28
|
+
private closeEmitter = new Emitter<void>();
|
|
29
|
+
onClose: Event<void> = this.closeEmitter.event;
|
|
30
|
+
|
|
31
|
+
constructor(private debugAdapter: theia.DebugAdapter) {
|
|
32
|
+
this.debugAdapter.onDidSendMessage(msg => {
|
|
33
|
+
this.messageReceivedEmitter.fire(JSON.stringify(msg));
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
async start(): Promise<void> {
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
send(message: string): void {
|
|
41
|
+
this.debugAdapter.handleMessage(JSON.parse(message));
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
async stop(): Promise<void> {
|
|
45
|
+
this.debugAdapter.dispose();
|
|
46
|
+
}
|
|
47
|
+
}
|
|
@@ -37,8 +37,8 @@ import {
|
|
|
37
37
|
DebugAdapterFactory,
|
|
38
38
|
DebugAdapterForkExecutable,
|
|
39
39
|
DebugAdapter
|
|
40
|
-
} from '
|
|
41
|
-
import { DebugAdapterSessionImpl } from '
|
|
40
|
+
} from '../common/debug-model';
|
|
41
|
+
import { DebugAdapterSessionImpl } from '../common/debug-adapter-session';
|
|
42
42
|
import { environment } from '@theia/core/shared/@theia/application-package';
|
|
43
43
|
import { ProcessDebugAdapter, SocketDebugAdapter } from './stream-debug-adapter';
|
|
44
44
|
|
|
@@ -18,10 +18,10 @@ import { UUID } from '@theia/core/shared/@phosphor/coreutils';
|
|
|
18
18
|
import { injectable, inject } from '@theia/core/shared/inversify';
|
|
19
19
|
import { MessagingService } from '@theia/core/lib/node/messaging/messaging-service';
|
|
20
20
|
|
|
21
|
-
import { DebugAdapterPath } from '../common/debug-service';
|
|
21
|
+
import { DebugAdapterPath, ForwardingDebugChannel } from '../common/debug-service';
|
|
22
22
|
import { DebugConfiguration } from '../common/debug-configuration';
|
|
23
|
-
import { DebugAdapterSession, DebugAdapterSessionFactory, DebugAdapterFactory } from '
|
|
24
|
-
import { DebugAdapterContributionRegistry } from '
|
|
23
|
+
import { DebugAdapterSession, DebugAdapterSessionFactory, DebugAdapterFactory } from '../common/debug-model';
|
|
24
|
+
import { DebugAdapterContributionRegistry } from '../common/debug-adapter-contribution-registry';
|
|
25
25
|
|
|
26
26
|
/**
|
|
27
27
|
* Debug adapter session manager.
|
|
@@ -37,13 +37,13 @@ export class DebugAdapterSessionManager implements MessagingService.Contribution
|
|
|
37
37
|
protected readonly debugAdapterFactory: DebugAdapterFactory;
|
|
38
38
|
|
|
39
39
|
configure(service: MessagingService): void {
|
|
40
|
-
service.wsChannel(`${DebugAdapterPath}/:id`, ({ id }: { id: string },
|
|
40
|
+
service.wsChannel(`${DebugAdapterPath}/:id`, ({ id }: { id: string }, wsChannel) => {
|
|
41
41
|
const session = this.find(id);
|
|
42
42
|
if (!session) {
|
|
43
|
-
|
|
43
|
+
wsChannel.close();
|
|
44
44
|
return;
|
|
45
45
|
}
|
|
46
|
-
session.start(
|
|
46
|
+
session.start(new ForwardingDebugChannel(wsChannel));
|
|
47
47
|
});
|
|
48
48
|
}
|
|
49
49
|
|
|
@@ -30,9 +30,9 @@ import {
|
|
|
30
30
|
DebugAdapterContribution,
|
|
31
31
|
DebugAdapterSessionFactory,
|
|
32
32
|
DebugAdapterFactory
|
|
33
|
-
} from '
|
|
33
|
+
} from '../common/debug-model';
|
|
34
34
|
import { DebugServiceImpl } from './debug-service-impl';
|
|
35
|
-
import { DebugAdapterContributionRegistry } from '
|
|
35
|
+
import { DebugAdapterContributionRegistry } from '../common/debug-adapter-contribution-registry';
|
|
36
36
|
import { DebugAdapterSessionManager } from './debug-adapter-session-manager';
|
|
37
37
|
|
|
38
38
|
const debugConnectionModule = ConnectionContainerModule.create(({ bind, bindBackendService }) => {
|
|
@@ -20,7 +20,8 @@ import { DebugService, DebuggerDescription } from '../common/debug-service';
|
|
|
20
20
|
import { IJSONSchema, IJSONSchemaSnippet } from '@theia/core/lib/common/json-schema';
|
|
21
21
|
import { CommandIdVariables } from '@theia/variable-resolver/lib/common/variable-types';
|
|
22
22
|
import { DebugAdapterSessionManager } from './debug-adapter-session-manager';
|
|
23
|
-
import { DebugAdapterContributionRegistry } from '
|
|
23
|
+
import { DebugAdapterContributionRegistry } from '../common/debug-adapter-contribution-registry';
|
|
24
|
+
import { Event } from '@theia/core';
|
|
24
25
|
|
|
25
26
|
/**
|
|
26
27
|
* DebugService implementation.
|
|
@@ -34,6 +35,10 @@ export class DebugServiceImpl implements DebugService {
|
|
|
34
35
|
@inject(DebugAdapterContributionRegistry)
|
|
35
36
|
protected readonly registry: DebugAdapterContributionRegistry;
|
|
36
37
|
|
|
38
|
+
get onDidChangeDebugConfigurationProviders(): Event<void> {
|
|
39
|
+
return Event.None;
|
|
40
|
+
}
|
|
41
|
+
|
|
37
42
|
dispose(): void {
|
|
38
43
|
this.terminateDebugSession();
|
|
39
44
|
}
|
|
@@ -62,6 +67,14 @@ export class DebugServiceImpl implements DebugService {
|
|
|
62
67
|
async provideDebugConfigurations(debugType: string, workspaceFolderUri?: string): Promise<DebugConfiguration[]> {
|
|
63
68
|
return this.registry.provideDebugConfigurations(debugType, workspaceFolderUri);
|
|
64
69
|
}
|
|
70
|
+
async provideDynamicDebugConfigurations(): Promise<Record<string, DebugConfiguration[]>> {
|
|
71
|
+
// TODO: Support dynamic debug configurations through Theia extensions?
|
|
72
|
+
return {};
|
|
73
|
+
}
|
|
74
|
+
fetchDynamicDebugConfiguration(name: string, type: string): Promise<DebugConfiguration | undefined> {
|
|
75
|
+
// TODO: Support dynamic debug configurations through Theia extensions?
|
|
76
|
+
return Promise.resolve(undefined);
|
|
77
|
+
}
|
|
65
78
|
async resolveDebugConfiguration(config: DebugConfiguration, workspaceFolderUri?: string): Promise<DebugConfiguration> {
|
|
66
79
|
return this.registry.resolveDebugConfiguration(config, workspaceFolderUri);
|
|
67
80
|
}
|
|
@@ -103,5 +116,4 @@ export class DebugServiceImpl implements DebugService {
|
|
|
103
116
|
await debugSession.stop();
|
|
104
117
|
}
|
|
105
118
|
}
|
|
106
|
-
|
|
107
119
|
}
|
|
@@ -19,7 +19,7 @@ import { Emitter, Event } from '@theia/core/lib/common/event';
|
|
|
19
19
|
import { ChildProcess } from 'child_process';
|
|
20
20
|
import * as stream from 'stream';
|
|
21
21
|
import * as net from 'net';
|
|
22
|
-
import { DebugAdapter } from '
|
|
22
|
+
import { DebugAdapter } from '../common/debug-model';
|
|
23
23
|
|
|
24
24
|
abstract class StreamDebugAdapter extends DisposableCollection {
|
|
25
25
|
private messageReceivedEmitter = new Emitter<string>();
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
|
|
19
19
|
import * as fs from '@theia/core/shared/fs-extra';
|
|
20
20
|
import * as path from 'path';
|
|
21
|
-
import { DebugAdapterExecutable, DebugAdapterContribution } from '
|
|
21
|
+
import { DebugAdapterExecutable, DebugAdapterContribution } from '../../common/debug-model';
|
|
22
22
|
import { isWindows, isOSX } from '@theia/core/lib/common/os';
|
|
23
23
|
import { IJSONSchema, IJSONSchemaSnippet } from '@theia/core/lib/common/json-schema';
|
|
24
24
|
import { deepClone } from '@theia/core/lib/common/objects';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"debug-adapter-contribution-registry.d.ts","sourceRoot":"","sources":["../../src/node/debug-adapter-contribution-registry.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAc,MAAM,yBAAyB,CAAC;AAE1E,OAAO,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAC7G,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAErF;;GAEG;AACH,qBACa,gCAAgC;IAGzC,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,oBAAoB,CAAC,wBAAwB,CAAC,CAAC;IACjF,SAAS,CAAE,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,CAAC,wBAAwB,CAAC;IAQ1F;;;OAGG;IACH,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC5C,UAAU,IAAI,MAAM,EAAE;IAWhB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAgB/E;;;;OAIG;IACG,0BAA0B,CAAC,SAAS,EAAE,MAAM,EAAE,kBAAkB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAe/G;;;;;OAKG;IACG,yBAAyB,CAAC,MAAM,EAAE,kBAAkB,EAAE,kBAAkB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAmBrH;;;;;OAKG;IACG,iDAAiD,CAAC,MAAM,EAAE,kBAAkB,EAAE,kBAAkB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAmB7I;;;;OAIG;IACG,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAa9D,wBAAwB,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAc/D;;;;;OAKG;IACG,6BAA6B,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAYhG;;;;OAIG;IACH,0BAA0B,CAAC,SAAS,EAAE,MAAM,GAAG,0BAA0B,GAAG,SAAS;CAQxF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"debug-adapter-contribution-registry.js","sourceRoot":"","sources":["../../src/node/debug-adapter-contribution-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"debug-adapter-session.d.ts","sourceRoot":"","sources":["../../src/node/debug-adapter-session.ts"],"names":[],"mappings":"AAuBA,OAAO,EACH,YAAY,EACZ,mBAAmB,EACtB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAElD;;GAEG;AACH,qBAAa,uBAAwB,YAAW,mBAAmB;IAM3D,QAAQ,CAAC,EAAE,EAAE,MAAM;IACnB,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY;IALjD,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,QAAQ,CAAkB;gBAGrB,EAAE,EAAE,MAAM,EACA,YAAY,EAAE,YAAY;IAQ3C,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAY5C,SAAS,CAAC,kBAAkB,IAAI,IAAI;IASpC,SAAS,CAAC,mBAAmB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAWjD,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAMrC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAMhC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAS9B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"debug-adapter-session.js","sourceRoot":"","sources":["../../src/node/debug-adapter-session.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"debug-model.js","sourceRoot":"","sources":["../../src/node/debug-model.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,+CAA+C;AAC/C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,2EAA2E;AAC3E,gFAAgF;;;AAgBhF,kHAAkH;AAElH;;GAEG;AACU,QAAA,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;AAcjE;;GAEG;AACU,QAAA,0BAA0B,GAAG,MAAM,CAAC,4BAA4B,CAAC,CAAC;AAsE/E;;GAEG;AACU,QAAA,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;AAUjE;;GAEG;AACU,QAAA,wBAAwB,GAAG,MAAM,CAAC,0BAA0B,CAAC,CAAC"}
|