extensions: rename supportSessionsWindow setting to supportAgentsWindow (#315265)

* extensions: rename supportSessionsWindow setting to supportAgentsWindow

Renames the \xtensions.supportSessionsWindow\ setting and its associated
constant \EXTENSIONS_SUPPORT_SESSIONS_WINDOW\ to \xtensions.supportAgentsWindow\
and \EXTENSIONS_SUPPORT_AGENTS_WINDOW\ respectively, to align with the
renaming of the Sessions window to the Agents window.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* extensions: add vscodevim.vim to sessions window allowed extensions

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
Benjamin Christopher Simmonds
2026-05-08 16:50:13 +02:00
committed by GitHub
parent 17d62bd650
commit 41b2ab0607
5 changed files with 10 additions and 9 deletions
@@ -56,7 +56,7 @@ import { IEditorService } from '../../../services/editor/common/editorService.js
import { EnablementState, IExtensionManagementServerService, IPublisherInfo, IWorkbenchExtensionEnablementService, IWorkbenchExtensionManagementService } from '../../../services/extensionManagement/common/extensionManagement.js';
import { IExtensionIgnoredRecommendationsService, IExtensionRecommendationsService } from '../../../services/extensionRecommendations/common/extensionRecommendations.js';
import { IWorkspaceExtensionsConfigService } from '../../../services/extensionRecommendations/common/workspaceExtensionsConfig.js';
import { EXTENSIONS_SUPPORT_SESSIONS_WINDOW } from '../../../services/extensions/common/extensionManifestPropertiesService.js';
import { EXTENSIONS_SUPPORT_AGENTS_WINDOW } from '../../../services/extensions/common/extensionManifestPropertiesService.js';
import { IHostService } from '../../../services/host/browser/host.js';
import { LifecyclePhase } from '../../../services/lifecycle/common/lifecycle.js';
import { IPreferencesService } from '../../../services/preferences/common/preferences.js';
@@ -215,10 +215,10 @@ Registry.as<IConfigurationRegistry>(ConfigurationExtensions.Configuration)
}
}]
},
[EXTENSIONS_SUPPORT_SESSIONS_WINDOW]: {
[EXTENSIONS_SUPPORT_AGENTS_WINDOW]: {
type: 'object',
scope: ConfigurationScope.APPLICATION,
markdownDescription: localize('extensions.supportSessionsWindow', "Override the Agents window support of an extension. Extensions using `true` will be enabled in the Agents window even when they would otherwise be disabled."),
markdownDescription: localize('extensions.supportAgentsWindow', "Override the Agents window support of an extension. Extensions using `true` will be enabled in the Agents window even when they would otherwise be disabled."),
patternProperties: {
'([a-z0-9A-Z][a-z0-9-A-Z]*)\\.([a-z0-9A-Z][a-z0-9-A-Z]*)$': {
type: 'boolean',
@@ -20,4 +20,5 @@ export const SESSIONS_WINDOW_ALLOWED_EXTENSIONS: ReadonlySet<string> = new Set<s
'bierner.markdown-mermaid',
'kisstkondoros.vscode-gutter-preview',
'tomoki1207.pdf',
'vscodevim.vim',
].map(id => id.toLowerCase()));
@@ -30,7 +30,7 @@ import { IHostService } from '../../../host/browser/host.js';
import { mock } from '../../../../../base/test/common/mock.js';
import { IExtensionBisectService } from '../../browser/extensionBisect.js';
import { IWorkspaceTrustManagementService, IWorkspaceTrustRequestService, WorkspaceTrustRequestOptions } from '../../../../../platform/workspace/common/workspaceTrust.js';
import { EXTENSIONS_SUPPORT_SESSIONS_WINDOW, ExtensionManifestPropertiesService, IExtensionManifestPropertiesService } from '../../../extensions/common/extensionManifestPropertiesService.js';
import { EXTENSIONS_SUPPORT_AGENTS_WINDOW, ExtensionManifestPropertiesService, IExtensionManifestPropertiesService } from '../../../extensions/common/extensionManifestPropertiesService.js';
import { TestChatEntitlementService, TestContextService, TestProductService, TestWorkspaceTrustEnablementService, TestWorkspaceTrustManagementService } from '../../../../test/common/workbenchTestServices.js';
import { TestWorkspace } from '../../../../../platform/workspace/test/common/testWorkspace.js';
import { ExtensionManagementService } from '../../common/extensionManagementService.js';
@@ -1267,7 +1267,7 @@ suite('ExtensionEnablementService Test', () => {
});
test('test configured extensions are enabled in sessions window', async () => {
await (instantiationService.get(IConfigurationService) as TestConfigurationService).setUserConfiguration(EXTENSIONS_SUPPORT_SESSIONS_WINDOW, { 'pub.withMain': true, 'pub.nonThemeContrib': true });
await (instantiationService.get(IConfigurationService) as TestConfigurationService).setUserConfiguration(EXTENSIONS_SUPPORT_AGENTS_WINDOW, { 'pub.withMain': true, 'pub.nonThemeContrib': true });
instantiationService.stub(IWorkbenchEnvironmentService, { isSessionsWindow: true });
testObject = disposableStore.add(new TestExtensionEnablementService(instantiationService));
@@ -22,7 +22,7 @@ import { isWeb } from '../../../../base/common/platform.js';
export const IExtensionManifestPropertiesService = createDecorator<IExtensionManifestPropertiesService>('extensionManifestPropertiesService');
export const EXTENSIONS_SUPPORT_SESSIONS_WINDOW = 'extensions.supportSessionsWindow';
export const EXTENSIONS_SUPPORT_AGENTS_WINDOW = 'extensions.supportAgentsWindow';
const SESSIONS_WINDOW_ALLOWED_CONTRIBUTION_POINTS: ReadonlySet<keyof IExtensionContributions> = new Set([
'themes',
@@ -382,7 +382,7 @@ export class ExtensionManifestPropertiesService extends Disposable implements IE
private getConfiguredSessionsWindowSupport(manifest: IExtensionManifest): boolean | undefined {
if (this._configuredSessionsWindowSupportMap === null) {
const configuredSessionsWindowSupportMap = new ExtensionIdentifierMap<boolean>();
const configuredSessionsWindowSupport = this.configurationService.getValue<{ [key: string]: boolean }>(EXTENSIONS_SUPPORT_SESSIONS_WINDOW) || {};
const configuredSessionsWindowSupport = this.configurationService.getValue<{ [key: string]: boolean }>(EXTENSIONS_SUPPORT_AGENTS_WINDOW) || {};
for (const id of Object.keys(configuredSessionsWindowSupport)) {
if (configuredSessionsWindowSupport[id] !== undefined) {
configuredSessionsWindowSupportMap.set(id, configuredSessionsWindowSupport[id]);
@@ -14,7 +14,7 @@ import { TestInstantiationService } from '../../../../../platform/instantiation/
import { NullLogService } from '../../../../../platform/log/common/log.js';
import { IProductService } from '../../../../../platform/product/common/productService.js';
import { IWorkspaceTrustEnablementService } from '../../../../../platform/workspace/common/workspaceTrust.js';
import { EXTENSIONS_SUPPORT_SESSIONS_WINDOW, ExtensionManifestPropertiesService } from '../../common/extensionManifestPropertiesService.js';
import { EXTENSIONS_SUPPORT_AGENTS_WINDOW, ExtensionManifestPropertiesService } from '../../common/extensionManifestPropertiesService.js';
import { TestProductService, TestWorkspaceTrustEnablementService } from '../../../../test/common/workbenchTestServices.js';
suite('ExtensionManifestPropertiesService - ExtensionKind', () => {
@@ -146,7 +146,7 @@ suite('ExtensionManifestPropertiesService - SessionsWindowSupport', () => {
});
test('uses configured sessions window support override', async () => {
await testConfigurationService.setUserConfiguration(EXTENSIONS_SUPPORT_SESSIONS_WINDOW, { 'pub.a': true, 'pub.b': false });
await testConfigurationService.setUserConfiguration(EXTENSIONS_SUPPORT_AGENTS_WINDOW, { 'pub.a': true, 'pub.b': false });
testObject = createTestObject();
assert.deepStrictEqual([