Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Lo=C3=AFc=20Mangeonjean?= <loic@coderpad.io>
Date: Mon, 23 Mar 2026 12:13:00 +0100
Subject: [PATCH] feat: support disabling specific extension from workbench
config

---
src/vs/workbench/browser/web.api.ts | 5 ++++-
.../services/environment/browser/environmentService.ts | 2 +-
2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/vs/workbench/browser/web.api.ts b/src/vs/workbench/browser/web.api.ts
index dcb9af34371..c999bc5fb0b 100644
--- a/src/vs/workbench/browser/web.api.ts
+++ b/src/vs/workbench/browser/web.api.ts
@@ -249,7 +249,10 @@ export interface IWorkbenchConstructionOptions {
* Note: This will not install extensions if not installed.
*/
readonly enabledExtensions?: readonly ExtensionId[];
-
+ /**
+ * List of extensions to be disabled if they are installed.
+ */
+ readonly disabledExtensions?: boolean | string[];
/**
* Additional domains allowed to open from the workbench without the
* link protection popup.
diff --git a/src/vs/workbench/services/environment/browser/environmentService.ts b/src/vs/workbench/services/environment/browser/environmentService.ts
index e8d460f7967..53ebeefa560 100644
--- a/src/vs/workbench/services/environment/browser/environmentService.ts
+++ b/src/vs/workbench/services/environment/browser/environmentService.ts
@@ -213,7 +213,7 @@ export class BrowserWorkbenchEnvironmentService implements IBrowserWorkbenchEnvi
get enableSmokeTestDriver() { return this.options.developmentOptions?.enableSmokeTestDriver; }

@memoize
- get disableExtensions() { return this.payload?.get('disableExtensions') === 'true'; }
+ get disableExtensions() { return this.payload?.get('disableExtensions') === 'true' ? true : this.options.disabledExtensions ?? false; }

@memoize
get enableExtensions() { return this.options.enabledExtensions; }
Loading