move splitActiveTerminal into location
This commit is contained in:
parent
de1adedfaa
commit
1c324f820b
|
@ -394,8 +394,7 @@ export interface IShellLaunchConfig {
|
|||
export interface ICreateContributedTerminalProfileOptions {
|
||||
icon?: URI | string | { light: URI, dark: URI };
|
||||
color?: string;
|
||||
splitActiveTerminal?: boolean;
|
||||
location?: TerminalLocation | { viewColumn: number, preserveState?: boolean };
|
||||
location?: TerminalLocation | { viewColumn: number, preserveState?: boolean } | { splitActiveTerminal: boolean };
|
||||
}
|
||||
|
||||
export enum TerminalLocation {
|
||||
|
|
|
@ -52,7 +52,10 @@ export interface ITerminalInternalOptions {
|
|||
isFeatureTerminal?: boolean;
|
||||
useShellEnvironment?: boolean;
|
||||
resolvedExtHostIdentifier?: ExtHostTerminalIdentifier;
|
||||
splitActiveTerminal?: boolean;
|
||||
/**
|
||||
* This location is different from the API location because it can include splitActiveTerminal,
|
||||
* a property we resolve internally
|
||||
*/
|
||||
location?: TerminalLocation | { viewColumn: number, preserveState?: boolean } | { splitActiveTerminal: boolean };
|
||||
}
|
||||
|
||||
|
|
|
@ -38,9 +38,9 @@ export class ExtHostTerminalService extends BaseExtHostTerminalService {
|
|||
internalOptions.resolvedExtHostIdentifier = parentExtHostTerminal._id;
|
||||
}
|
||||
}
|
||||
} else if (!internalOptions.splitActiveTerminal && options.location === TerminalLocation.Editor || options.location === TerminalLocation.Panel) {
|
||||
} else if (options.location === TerminalLocation.Editor || options.location === TerminalLocation.Panel) {
|
||||
internalOptions.location = options.location;
|
||||
} else if (internalOptions.splitActiveTerminal) {
|
||||
} else if (internalOptions.location && typeof internalOptions.location === 'object' && 'splitActiveTerminal' in internalOptions.location) {
|
||||
internalOptions.location = { splitActiveTerminal: true };
|
||||
}
|
||||
return internalOptions;
|
||||
|
|
|
@ -949,10 +949,9 @@ export class TerminalService implements ITerminalService {
|
|||
|
||||
if ('id' in value.profile) {
|
||||
await this._createContributedTerminalProfile(value.profile.extensionIdentifier, value.profile.id, {
|
||||
splitActiveTerminal: !!(keyMods?.alt && activeInstance),
|
||||
icon: value.profile.icon,
|
||||
color: value.profile.color,
|
||||
location: this.defaultLocation
|
||||
location: !!(keyMods?.alt && activeInstance) ? { splitActiveTerminal: true } : this.defaultLocation
|
||||
});
|
||||
return;
|
||||
} else {
|
||||
|
@ -1158,14 +1157,14 @@ export class TerminalService implements ITerminalService {
|
|||
// Launch the contributed profile
|
||||
if (contributedProfile) {
|
||||
const resolvedLocation = this._resolveLocation(options?.location);
|
||||
const split = typeof options?.location === 'object' && 'splitActiveTerminal' in options.location ? options.location.splitActiveTerminal : false;
|
||||
const splitActiveTerminal = typeof options?.location === 'object' && 'splitActiveTerminal' in options.location ? options.location.splitActiveTerminal : false;
|
||||
const location = splitActiveTerminal ? resolvedLocation === TerminalLocation.Editor ? { viewColumn: SIDE_GROUP } : { splitActiveTerminal: true } : resolvedLocation;
|
||||
await this._createContributedTerminalProfile(contributedProfile.extensionIdentifier, contributedProfile.id, {
|
||||
icon: contributedProfile.icon,
|
||||
color: contributedProfile.color,
|
||||
splitActiveTerminal: split,
|
||||
location: resolvedLocation === TerminalLocation.Editor && split ? { viewColumn: SIDE_GROUP } : resolvedLocation
|
||||
location
|
||||
});
|
||||
const instanceHost = this._resolveLocation(options?.location) === TerminalLocation.Editor ? this._terminalEditorService : this._terminalGroupService;
|
||||
const instanceHost = resolvedLocation === TerminalLocation.Editor ? this._terminalEditorService : this._terminalGroupService;
|
||||
const instance = instanceHost.instances[instanceHost.instances.length - 1];
|
||||
await instance.focusWhenReady();
|
||||
return instance;
|
||||
|
|
Loading…
Reference in a new issue