Skip to content

terminal.integrated.suggest.providers should suggest all providers #239009

Open
@Tyriar

Description

@Tyriar

We want this to give all valid suggestions:

Image

You can see how defaultProfile does this dynamically here:

Image

[TerminalSettingId.DefaultProfileLinux]: {
restricted: true,
markdownDescription: localize('terminal.integrated.defaultProfile.linux', "The default terminal profile on Linux."),
type: ['string', 'null'],
default: null,
enum: detectedProfiles?.os === OperatingSystem.Linux ? profileEnum?.values : undefined,
markdownEnumDescriptions: detectedProfiles?.os === OperatingSystem.Linux ? profileEnum?.markdownDescriptions : undefined
},

Note that registerTerminalDefaultProfileConfiguration is called whenever the value could possibly change:

private async _refreshPlatformConfig(profiles: ITerminalProfile[]) {
const env = await this._remoteAgentService.getEnvironment();
registerTerminalDefaultProfileConfiguration({ os: env?.os || OS, profiles }, this._contributedProfiles);
this._refreshTerminalActionsDisposable.value = refreshTerminalActions(profiles);
}

It may be necessary to register it early without the enum information and when extensions are ready re-register the config.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions