提交 9f7a5861 编写于 作者: R Rob Lourens

Only persist terminals for the same workspace

Fix #109082
上级 9b646fda
{
"name": "code-oss-dev",
"version": "1.51.0",
"distro": "97dcd3b65aff18cb945cc572e1249fa3b531376a",
"distro": "5480c98d55324b0d19e4e0bf28bf89575bc444e8",
"author": {
"name": "Microsoft Corporation"
},
......
......@@ -67,6 +67,7 @@ export interface ICreateTerminalProcessArguments {
resolvedVariables: { [name: string]: string; };
envVariableCollections: ITerminalEnvironmentVariableCollections;
shellLaunchConfig: IShellLaunchConfigDto;
workspaceId: string;
workspaceFolders: IWorkspaceFolderData[];
activeWorkspaceFolder: IWorkspaceFolderData | null;
activeFileResource: UriComponents | undefined;
......@@ -120,6 +121,10 @@ export interface IOrphanQuestionReplyArgs {
id: number;
}
export interface IListTerminalsArgs {
workspaceId: string;
}
export interface IRemoteTerminalDescriptionDto {
id: number;
pid: number;
......@@ -249,7 +254,8 @@ export class RemoteTerminalChannelClient {
const resolverResult = await this._remoteAuthorityResolverService.resolveAuthority(this._remoteAuthority);
const resolverEnv = resolverResult.options && resolverResult.options.extensionHostEnv;
const workspaceFolders = this._workspaceContextService.getWorkspace().folders;
const workspace = this._workspaceContextService.getWorkspace();
const workspaceFolders = workspace.folders;
const activeWorkspaceFolder = activeWorkspaceRootUri ? this._workspaceContextService.getWorkspaceFolder(activeWorkspaceRootUri) : null;
const activeFileResource = EditorResourceAccessor.getOriginalUri(this._editorService.activeEditor, {
......@@ -262,6 +268,7 @@ export class RemoteTerminalChannelClient {
resolvedVariables,
envVariableCollections,
shellLaunchConfig,
workspaceId: workspace.id,
workspaceFolders,
activeWorkspaceFolder,
activeFileResource,
......@@ -340,6 +347,10 @@ export class RemoteTerminalChannelClient {
}
public listTerminals(): Promise<IRemoteTerminalDescriptionDto[]> {
return this._channel.call<IRemoteTerminalDescriptionDto[]>('$listTerminals');
const workspace = this._workspaceContextService.getWorkspace();
const args: IListTerminalsArgs = {
workspaceId: workspace.id
};
return this._channel.call<IRemoteTerminalDescriptionDto[]>('$listTerminals', args);
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册