Create TerminalProfileService (#136131)

This commit is contained in:
Megan Rogge
2021-11-02 13:38:09 -05:00
committed by GitHub
parent 3db1aad8fb
commit 5d87d648cb
14 changed files with 633 additions and 335 deletions

View File

@@ -16,7 +16,7 @@ import { ITerminalEditorService, ITerminalExternalLinkProvider, ITerminalGroupSe
import { TerminalProcessExtHostProxy } from 'vs/workbench/contrib/terminal/browser/terminalProcessExtHostProxy';
import { IEnvironmentVariableService, ISerializableEnvironmentVariableCollection } from 'vs/workbench/contrib/terminal/common/environmentVariable';
import { deserializeEnvironmentVariableCollection, serializeEnvironmentVariableCollection } from 'vs/workbench/contrib/terminal/common/environmentVariableShared';
import { IStartExtensionTerminalRequest, ITerminalProcessExtHostProxy, ITerminalProfileResolverService } from 'vs/workbench/contrib/terminal/common/terminal';
import { IStartExtensionTerminalRequest, ITerminalProcessExtHostProxy, ITerminalProfileResolverService, ITerminalProfileService } from 'vs/workbench/contrib/terminal/common/terminal';
import { IRemoteAgentService } from 'vs/workbench/services/remote/common/remoteAgentService';
import { withNullAsUndefined } from 'vs/base/common/types';
import { OperatingSystem, OS } from 'vs/base/common/platform';
@@ -57,7 +57,8 @@ export class MainThreadTerminalService implements MainThreadTerminalServiceShape
@ITerminalProfileResolverService private readonly _terminalProfileResolverService: ITerminalProfileResolverService,
@IRemoteAgentService remoteAgentService: IRemoteAgentService,
@ITerminalGroupService private readonly _terminalGroupService: ITerminalGroupService,
@ITerminalEditorService private readonly _terminalEditorService: ITerminalEditorService
@ITerminalEditorService private readonly _terminalEditorService: ITerminalEditorService,
@ITerminalProfileService private readonly _terminalProfileService: ITerminalProfileService
) {
this._proxy = _extHostContext.getProxy(ExtHostContext.ExtHostTerminalService);
@@ -97,7 +98,7 @@ export class MainThreadTerminalService implements MainThreadTerminalServiceShape
this._os = env?.os || OS;
this._updateDefaultProfile();
});
this._terminalService.onDidChangeAvailableProfiles(() => this._updateDefaultProfile());
this._terminalProfileService.onDidChangeAvailableProfiles(() => this._updateDefaultProfile());
}
public dispose(): void {
@@ -226,7 +227,7 @@ export class MainThreadTerminalService implements MainThreadTerminalServiceShape
public $registerProfileProvider(id: string, extensionIdentifier: string): void {
// Proxy profile provider requests through the extension host
this._profileProviders.set(id, this._terminalService.registerTerminalProfileProvider(extensionIdentifier, id, {
this._profileProviders.set(id, this._terminalProfileService.registerTerminalProfileProvider(extensionIdentifier, id, {
createContributedTerminalProfile: async (options) => {
return this._proxy.$createContributedProfileTerminal(id, options);
}