Fix terminal doesn't switch to project directory when opening remote project on Windows (#45328)

Closes #45253

Release Notes:

- Fixed terminal doesn't switch to project directory when opening remote
project on Windows
This commit is contained in:
feeiyu
2025-12-20 00:06:16 +08:00
committed by GitHub
parent a7d43063d4
commit ea34cc5324

View File

@@ -32,8 +32,7 @@ use tempfile::TempDir;
use util::{
paths::{PathStyle, RemotePathBuf},
rel_path::RelPath,
shell::{Shell, ShellKind},
shell_builder::ShellBuilder,
shell::ShellKind,
};
pub(crate) struct SshRemoteConnection {
@@ -1544,8 +1543,6 @@ fn build_command(
} else {
write!(exec, "{ssh_shell} -l")?;
};
let (command, command_args) = ShellBuilder::new(&Shell::Program(ssh_shell.to_owned()), false)
.build(Some(exec.clone()), &[]);
let mut args = Vec::new();
args.extend(ssh_args);
@@ -1556,8 +1553,7 @@ fn build_command(
}
args.push("-t".into());
args.push(command);
args.extend(command_args);
args.push(exec);
Ok(CommandTemplate {
program: "ssh".into(),
@@ -1597,9 +1593,6 @@ mod tests {
"-p",
"2222",
"-t",
"/bin/fish",
"-i",
"-c",
"cd \"$HOME/work\" && exec env INPUT_VA=val remote_program arg1 arg2"
]
);
@@ -1632,9 +1625,6 @@ mod tests {
"-L",
"1:foo:2",
"-t",
"/bin/fish",
"-i",
"-c",
"cd && exec env INPUT_VA=val /bin/fish -l"
]
);