debugger: Use current worktree directory when spawning an adapter (#31054)

/cc @osiewicz 

I think bringing this back should fix **bloveless** his issue with go
debugger.
This is also nice, so people are not forced to give us a working
directory, because most adapters will use their **cwd** as the project
root directory. For JavaScript, you don't need to specify the **cwd**
anymore because it can already infer it

Release Notes:

- debugger beta: Fixed some adapters fail to determine the right root level of the
debug program.
This commit is contained in:
Remco Smits 2025-05-22 12:47:47 +02:00 committed by GitHub
parent 1c9b818342
commit 0415e853d5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 6 additions and 6 deletions

View file

@ -436,7 +436,7 @@ impl DebugAdapter for CodeLldbDebugAdapter {
Ok(DebugAdapterBinary {
command: command.unwrap(),
cwd: None,
cwd: Some(delegate.worktree_root_path().to_path_buf()),
arguments: vec![
"--settings".into(),
json!({"sourceLanguages": ["cpp", "rust"]}).to_string(),

View file

@ -184,7 +184,7 @@ impl DebugAdapter for GdbDebugAdapter {
command: gdb_path,
arguments: vec!["-i=dap".into()],
envs: HashMap::default(),
cwd: None,
cwd: Some(delegate.worktree_root_path().to_path_buf()),
connection: None,
request_args,
})

View file

@ -347,7 +347,7 @@ impl DebugAdapter for GoDebugAdapter {
Ok(DebugAdapterBinary {
command: delve_path,
arguments: vec!["dap".into(), "--listen".into(), format!("{host}:{port}")],
cwd: None,
cwd: Some(delegate.worktree_root_path().to_path_buf()),
envs: HashMap::default(),
connection: Some(adapters::TcpArguments {
host,

View file

@ -86,7 +86,7 @@ impl JsDebugAdapter {
port.to_string(),
host.to_string(),
],
cwd: None,
cwd: Some(delegate.worktree_root_path().to_path_buf()),
envs: HashMap::default(),
connection: Some(adapters::TcpArguments {
host,

View file

@ -89,7 +89,7 @@ impl PhpDebugAdapter {
host,
timeout,
}),
cwd: None,
cwd: Some(delegate.worktree_root_path().to_path_buf()),
envs: HashMap::default(),
request_args: StartDebuggingRequestArguments {
configuration: task_definition.config.clone(),

View file

@ -138,7 +138,7 @@ impl PythonDebugAdapter {
port,
timeout,
}),
cwd: None,
cwd: Some(delegate.worktree_root_path().to_path_buf()),
envs: HashMap::default(),
request_args: self.request_args(config)?,
})