|
@@ -25,13 +25,13 @@ interface LaunchRequestArguments extends DebugProtocol.LaunchRequestArguments {
|
|
|
|
|
|
export class GodotDebugSession extends LoggingDebugSession {
|
|
export class GodotDebugSession extends LoggingDebugSession {
|
|
private all_scopes: GodotVariable[];
|
|
private all_scopes: GodotVariable[];
|
|
- private configuration_done = new Subject();
|
|
|
|
private controller?: ServerController;
|
|
private controller?: ServerController;
|
|
private debug_data = new GodotDebugData();
|
|
private debug_data = new GodotDebugData();
|
|
private exception = false;
|
|
private exception = false;
|
|
private got_scope = new Subject();
|
|
private got_scope = new Subject();
|
|
private ongoing_inspections: bigint[] = [];
|
|
private ongoing_inspections: bigint[] = [];
|
|
private previous_inspections: bigint[] = [];
|
|
private previous_inspections: bigint[] = [];
|
|
|
|
+ private configuration_done = new Subject();
|
|
|
|
|
|
public constructor() {
|
|
public constructor() {
|
|
super();
|
|
super();
|
|
@@ -83,6 +83,13 @@ export class GodotDebugSession extends LoggingDebugSession {
|
|
this.debug_data.scene_tree = scene_tree_provider;
|
|
this.debug_data.scene_tree = scene_tree_provider;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ public configurationDoneRequest(
|
|
|
|
+ response: DebugProtocol.ConfigurationDoneResponse,
|
|
|
|
+ args: DebugProtocol.ConfigurationDoneArguments
|
|
|
|
+ ) {
|
|
|
|
+ this.configuration_done.notify();
|
|
|
|
+ }
|
|
|
|
+
|
|
public set_scopes(
|
|
public set_scopes(
|
|
locals: GodotVariable[],
|
|
locals: GodotVariable[],
|
|
members: GodotVariable[],
|
|
members: GodotVariable[],
|
|
@@ -128,14 +135,6 @@ export class GodotDebugSession extends LoggingDebugSession {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- protected configurationDoneRequest(
|
|
|
|
- response: DebugProtocol.ConfigurationDoneResponse,
|
|
|
|
- args: DebugProtocol.ConfigurationDoneArguments
|
|
|
|
- ): void {
|
|
|
|
- super.configurationDoneRequest(response, args);
|
|
|
|
- this.configuration_done.notify();
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
protected continueRequest(
|
|
protected continueRequest(
|
|
response: DebugProtocol.ContinueResponse,
|
|
response: DebugProtocol.ContinueResponse,
|
|
args: DebugProtocol.ContinueArguments
|
|
args: DebugProtocol.ContinueArguments
|
|
@@ -225,9 +224,9 @@ export class GodotDebugSession extends LoggingDebugSession {
|
|
response: DebugProtocol.LaunchResponse,
|
|
response: DebugProtocol.LaunchResponse,
|
|
args: LaunchRequestArguments
|
|
args: LaunchRequestArguments
|
|
) {
|
|
) {
|
|
- await this.configuration_done.wait(2000);
|
|
|
|
- this.exception = false;
|
|
|
|
|
|
+ await this.configuration_done.wait(1000);
|
|
this.debug_data.project_path = args.project;
|
|
this.debug_data.project_path = args.project;
|
|
|
|
+ this.exception = false;
|
|
Mediator.notify("start", [
|
|
Mediator.notify("start", [
|
|
args.project,
|
|
args.project,
|
|
args.address,
|
|
args.address,
|