This commit is contained in:
meganrogge 2021-07-01 10:23:09 -07:00
parent cf2d68daba
commit e2fe066ff1
No known key found for this signature in database
GPG key ID: 3155C8B2F0428C81
3 changed files with 8 additions and 1 deletions

View file

@ -437,6 +437,7 @@ export interface ICreateTerminalOptions {
export interface ICreateContributedTerminalProfileOptions {
isSplitTerminal: boolean;
target?: TerminalLocation;
icon?: string;
}
export const enum TerminalLocation {

View file

@ -890,7 +890,10 @@ export class TerminalService implements ITerminalService {
let instance;
if ('id' in value.profile) {
await this.createContributedTerminalProfile(value.profile.extensionIdentifier, value.profile.id, { isSplitTerminal: !!(keyMods?.alt && activeInstance) });
await this.createContributedTerminalProfile(value.profile.extensionIdentifier, value.profile.id, {
isSplitTerminal: !!(keyMods?.alt && activeInstance),
icon: value.profile.icon
});
return;
} else {
if (keyMods?.alt && activeInstance) {

View file

@ -7,6 +7,7 @@ import * as extensionsRegistry from 'vs/workbench/services/extensions/common/ext
import { ITerminalContributions, terminalContributionsDescriptor, ITerminalProfileContribution } from 'vs/workbench/contrib/terminal/common/terminal';
import { flatten } from 'vs/base/common/arrays';
import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
import { iconRegistry } from 'vs/base/common/codicons';
// terminal extension point
export const terminalsExtPoint = extensionsRegistry.ExtensionsRegistry.registerExtensionPoint<ITerminalContributions>(terminalContributionsDescriptor);
@ -33,6 +34,8 @@ export class TerminalContributionService implements ITerminalContributionService
// consistent with other icon APIs
if (e.icon && e.icon.startsWith('$(') && e.icon.endsWith(')')) {
e.icon = e.icon.substr(2, e.icon.length - 3);
} else if (e.icon && iconRegistry.get(e.icon)) {
e.icon = e.icon;
} else {
e.icon = undefined;
}