summaryrefslogtreecommitdiff
path: root/editors/vscode/files
diff options
context:
space:
mode:
Diffstat (limited to 'editors/vscode/files')
-rw-r--r--editors/vscode/files/patch-build_gulpfile.extensions.ts (renamed from editors/vscode/files/patch-build_gulpfile.extensions.js)8
-rw-r--r--editors/vscode/files/patch-build_gulpfile.reh.ts29
-rw-r--r--editors/vscode/files/patch-build_gulpfile.vscode.ts11
-rw-r--r--editors/vscode/files/patch-build_lib_electron.ts4
-rw-r--r--editors/vscode/files/patch-build_lib_preLaunch.ts6
-rw-r--r--editors/vscode/files/patch-build_lib_propertyInitOrderChecker.ts4
-rw-r--r--editors/vscode/files/patch-extensions_microsoft-authentication_extension.webpack.config.js34
-rw-r--r--editors/vscode/files/patch-package.json6
-rw-r--r--editors/vscode/files/patch-product.json19
-rw-r--r--editors/vscode/files/patch-src_bootstrap-node.ts4
-rw-r--r--editors/vscode/files/patch-src_vs_base_node_ps.ts4
-rw-r--r--editors/vscode/files/patch-src_vs_workbench_services_actions_common_menusExtensionPoint.ts4
-rw-r--r--editors/vscode/files/patch-test_automation_src_electron.ts6
-rw-r--r--editors/vscode/files/product.json.extensions597
-rw-r--r--editors/vscode/files/update-product-json.sh37
15 files changed, 731 insertions, 42 deletions
diff --git a/editors/vscode/files/patch-build_gulpfile.extensions.js b/editors/vscode/files/patch-build_gulpfile.extensions.ts
index 7ed6ec5a8421..acc7408cdae8 100644
--- a/editors/vscode/files/patch-build_gulpfile.extensions.js
+++ b/editors/vscode/files/patch-build_gulpfile.extensions.ts
@@ -1,9 +1,9 @@
---- build/gulpfile.extensions.js.orig 2025-10-08 13:50:39 UTC
-+++ build/gulpfile.extensions.js
-@@ -236,7 +236,7 @@ const compileNonNativeExtensionsBuildTask = task.defin
+--- build/gulpfile.extensions.ts.orig 2025-12-14 06:36:07 UTC
++++ build/gulpfile.extensions.ts
+@@ -218,7 +218,7 @@ export const compileNonNativeExtensionsBuildTask = tas
* @note this does not clean the directory ahead of it. See {@link cleanExtensionsBuildTask} for that.
*/
- const compileNonNativeExtensionsBuildTask = task.define('compile-non-native-extensions-build', task.series(
+ export const compileNonNativeExtensionsBuildTask = task.define('compile-non-native-extensions-build', task.series(
- bundleMarketplaceExtensionsBuildTask,
+ // bundleMarketplaceExtensionsBuildTask,
task.define('bundle-non-native-extensions-build', () => ext.packageNonNativeLocalExtensionsStream(false, false).pipe(gulp.dest('.build')))
diff --git a/editors/vscode/files/patch-build_gulpfile.reh.ts b/editors/vscode/files/patch-build_gulpfile.reh.ts
new file mode 100644
index 000000000000..3fa99675c1bd
--- /dev/null
+++ b/editors/vscode/files/patch-build_gulpfile.reh.ts
@@ -0,0 +1,29 @@
+--- build/gulpfile.reh.ts.orig 2025-12-14 06:38:54 UTC
++++ build/gulpfile.reh.ts
+@@ -25,7 +25,7 @@ import glob from 'glob';
+ import File from 'vinyl';
+ import * as fs from 'fs';
+ import glob from 'glob';
+-import { compileBuildWithManglingTask } from './gulpfile.compile.ts';
++import { compileBuildWithoutManglingTask } from './gulpfile.compile.ts';
+ import { cleanExtensionsBuildTask, compileNonNativeExtensionsBuildTask, compileNativeExtensionsBuildTask, compileExtensionMediaBuildTask } from './gulpfile.extensions.ts';
+ import { vscodeWebResourceIncludes, createVSCodeWebFileContentMapper } from './gulpfile.vscode.web.ts';
+ import * as cp from 'child_process';
+@@ -321,7 +321,7 @@ function packageTask(type: string, platform: string, a
+
+ let productJsonContents = '';
+ const productJsonStream = gulp.src(['product.json'], { base: '.' })
+- .pipe(jsonEditor({ commit, date: readISODate('out-build'), version }))
++ .pipe(jsonEditor({ commit, date: readISODate('out-build'), version, serverDownloadUrlTemplate: 'https://github.com/tagattie/FreeBSD-VSCode/releases/download/%%DISTVERSION%%/vscode-reh-${os}-${arch}-%%DISTVERSION%%.tar.gz' }))
+ .pipe(es.through(function (file) {
+ productJsonContents = file.contents.toString();
+ this.emit('data', file);
+@@ -475,7 +475,7 @@ function tweakProductForServerWeb(product: typeof impo
+ gulp.task(serverTaskCI);
+
+ const serverTask = task.define(`vscode-${type}${dashed(platform)}${dashed(arch)}${dashed(minified)}`, task.series(
+- compileBuildWithManglingTask,
++ compileBuildWithoutManglingTask,
+ cleanExtensionsBuildTask,
+ compileNonNativeExtensionsBuildTask,
+ compileExtensionMediaBuildTask,
diff --git a/editors/vscode/files/patch-build_gulpfile.vscode.ts b/editors/vscode/files/patch-build_gulpfile.vscode.ts
new file mode 100644
index 000000000000..895e181f0eea
--- /dev/null
+++ b/editors/vscode/files/patch-build_gulpfile.vscode.ts
@@ -0,0 +1,11 @@
+--- build/gulpfile.vscode.ts.orig 2025-12-14 06:41:04 UTC
++++ build/gulpfile.vscode.ts
+@@ -270,7 +270,7 @@ function packageTask(platform: string, arch: string, s
+
+ let productJsonContents: string;
+ const productJsonStream = gulp.src(['product.json'], { base: '.' })
+- .pipe(jsonEditor({ commit, date: readISODate('out-build'), checksums, version }))
++ .pipe(jsonEditor({ commit, date: readISODate('out-build'), checksums, version, serverDownloadUrlTemplate: 'https://github.com/tagattie/FreeBSD-VSCode/releases/download/%%DISTVERSION%%/vscode-reh-${os}-${arch}-%%DISTVERSION%%.tar.gz' }))
+ .pipe(es.through(function (file) {
+ productJsonContents = file.contents.toString();
+ this.emit('data', file);
diff --git a/editors/vscode/files/patch-build_lib_electron.ts b/editors/vscode/files/patch-build_lib_electron.ts
index c89cd63f67f6..c08444e60dd3 100644
--- a/editors/vscode/files/patch-build_lib_electron.ts
+++ b/editors/vscode/files/patch-build_lib_electron.ts
@@ -1,6 +1,6 @@
---- build/lib/electron.ts.orig 2025-07-09 22:00:36 UTC
+--- build/lib/electron.ts.orig 2025-12-10 18:02:22 UTC
+++ build/lib/electron.ts
-@@ -199,8 +199,9 @@ export const config = {
+@@ -201,8 +201,9 @@ export const config = {
winIcon: 'resources/win32/code.ico',
token: process.env['GITHUB_TOKEN'],
repo: product.electronRepository || undefined,
diff --git a/editors/vscode/files/patch-build_lib_preLaunch.ts b/editors/vscode/files/patch-build_lib_preLaunch.ts
index 692542cf3cbe..3acab403e05c 100644
--- a/editors/vscode/files/patch-build_lib_preLaunch.ts
+++ b/editors/vscode/files/patch-build_lib_preLaunch.ts
@@ -1,6 +1,6 @@
---- build/lib/preLaunch.ts.orig 2024-09-27 21:08:28 UTC
+--- build/lib/preLaunch.ts.orig 2025-12-10 18:02:22 UTC
+++ build/lib/preLaunch.ts
-@@ -35,9 +35,9 @@ async function ensureNodeModules() {
+@@ -32,9 +32,9 @@ async function ensureNodeModules() {
}
}
@@ -13,7 +13,7 @@
async function ensureCompiled() {
if (!(await exists('out'))) {
-@@ -47,7 +47,7 @@ async function main() {
+@@ -44,7 +44,7 @@ async function main() {
async function main() {
await ensureNodeModules();
diff --git a/editors/vscode/files/patch-build_lib_propertyInitOrderChecker.ts b/editors/vscode/files/patch-build_lib_propertyInitOrderChecker.ts
index b595a907f5d8..240da8aea01b 100644
--- a/editors/vscode/files/patch-build_lib_propertyInitOrderChecker.ts
+++ b/editors/vscode/files/patch-build_lib_propertyInitOrderChecker.ts
@@ -1,6 +1,6 @@
---- build/lib/propertyInitOrderChecker.ts.orig 2025-09-09 22:02:15 UTC
+--- build/lib/propertyInitOrderChecker.ts.orig 2025-12-10 18:02:22 UTC
+++ build/lib/propertyInitOrderChecker.ts
-@@ -43,7 +43,7 @@ function createProgram(tsconfigPath: string): ts.Progr
+@@ -45,7 +45,7 @@ function createProgram(tsconfigPath: string): ts.Progr
function createProgram(tsconfigPath: string): ts.Program {
const tsConfig = ts.readConfigFile(tsconfigPath, ts.sys.readFile);
diff --git a/editors/vscode/files/patch-extensions_microsoft-authentication_extension.webpack.config.js b/editors/vscode/files/patch-extensions_microsoft-authentication_extension.webpack.config.js
new file mode 100644
index 000000000000..8edba19e8c63
--- /dev/null
+++ b/editors/vscode/files/patch-extensions_microsoft-authentication_extension.webpack.config.js
@@ -0,0 +1,34 @@
+--- extensions/microsoft-authentication/extension.webpack.config.js.orig 2025-12-10 18:02:22 UTC
++++ extensions/microsoft-authentication/extension.webpack.config.js
+@@ -6,6 +6,7 @@ import path from 'path';
+ import withDefaults, { nodePlugins } from '../shared.webpack.config.mjs';
+ import CopyWebpackPlugin from 'copy-webpack-plugin';
+ import path from 'path';
++import fs from 'fs';
+
+ const isWindows = process.platform === 'win32';
+ const isMacOS = process.platform === 'darwin';
+@@ -25,6 +26,9 @@ switch (process.platform) {
+ case 'linux':
+ platformFolder = 'linux';
+ break;
++ case 'freebsd':
++ platformFolder = 'freebsd';
++ break;
+ default:
+ throw new Error(`Unsupported platform: ${process.platform}`);
+ }
+@@ -32,11 +36,12 @@ console.log(`Building Microsoft Authentication Extensi
+ const arch = process.env.VSCODE_ARCH || process.arch;
+ console.log(`Building Microsoft Authentication Extension for ${process.platform} (${arch})`);
+
++const exists = fs.globSync(`**/dist/${platformFolder}/${arch}/(lib|)msal*.(node|dll|dylib|so)`).length > 0;
+ const plugins = [...nodePlugins(import.meta.dirname)];
+ if (
+ (isWindows && windowsArches.includes(arch)) ||
+ isMacOS ||
+- (isLinux && linuxArches.includes(arch))
++ (isLinux && linuxArches.includes(arch) && exists)
+ ) {
+ plugins.push(new CopyWebpackPlugin({
+ patterns: [
diff --git a/editors/vscode/files/patch-package.json b/editors/vscode/files/patch-package.json
index 9edf7cfea439..05272d0a43a6 100644
--- a/editors/vscode/files/patch-package.json
+++ b/editors/vscode/files/patch-package.json
@@ -2,13 +2,13 @@ https://github.com/eclipse/openvsx/issues/543
https://github.com/termux/termux-packages/issues/24739
https://github.com/termux/termux-packages/pull/24757
---- package.json.orig 2025-11-11 14:25:32 UTC
+--- package.json.orig 2025-12-10 18:02:22 UTC
+++ package.json
@@ -108,6 +108,7 @@
- "native-is-elevated": "0.7.0",
+ "native-is-elevated": "0.8.0",
"native-keymap": "^3.3.5",
"native-watchdog": "^1.4.1",
+ "node-ovsx-sign": "^1.2.0",
"node-pty": "1.1.0-beta35",
"open": "^10.1.2",
- "tas-client-umd": "0.2.0",
+ "tas-client": "0.3.1",
diff --git a/editors/vscode/files/patch-product.json b/editors/vscode/files/patch-product.json
deleted file mode 100644
index 4c3b4f4a3232..000000000000
--- a/editors/vscode/files/patch-product.json
+++ /dev/null
@@ -1,19 +0,0 @@
---- product.json.orig 2025-04-09 23:39:47 UTC
-+++ product.json
-@@ -33,6 +33,16 @@
- "nodejsRepository": "https://nodejs.org",
- "urlProtocol": "code-oss",
- "webviewContentExternalBaseUrlTemplate": "https://{{uuid}}.vscode-cdn.net/insider/ef65ac1ba57f57f2a3961bfe94aa20481caca4c6/out/vs/workbench/contrib/webview/browser/pre/",
-+ "documentationUrl": "https://go.microsoft.com/fwlink/?LinkID=533484",
-+ "extensionsGallery": {
-+ "serviceUrl": "https://open-vsx.org/vscode/gallery",
-+ "itemUrl": "https://open-vsx.org/vscode/item"
-+ },
-+ "introductoryVideosUrl": "https://go.microsoft.com/fwlink/?linkid=832146",
-+ "keyboardShortcutsUrlLinux": "https://go.microsoft.com/fwlink/?linkid=832144",
-+ "quality": "stable",
-+ "requestFeatureUrl": "https://go.microsoft.com/fwlink/?LinkID=533482",
-+ "tipsAndTricksUrl": "https://go.microsoft.com/fwlink/?linkid=852118",
- "builtInExtensions": [
- {
- "name": "ms-vscode.js-debug-companion",
diff --git a/editors/vscode/files/patch-src_bootstrap-node.ts b/editors/vscode/files/patch-src_bootstrap-node.ts
index 555c2a2f8f3b..44befc6d9b24 100644
--- a/editors/vscode/files/patch-src_bootstrap-node.ts
+++ b/editors/vscode/files/patch-src_bootstrap-node.ts
@@ -1,6 +1,6 @@
---- src/bootstrap-node.ts.orig 2025-09-09 22:02:15 UTC
+--- src/bootstrap-node.ts.orig 2025-12-10 18:02:22 UTC
+++ src/bootstrap-node.ts
-@@ -150,7 +150,7 @@ export function configurePortable(product: Partial<IPr
+@@ -155,7 +155,7 @@ export function configurePortable(product: Partial<IPr
return process.env['VSCODE_PORTABLE'];
}
diff --git a/editors/vscode/files/patch-src_vs_base_node_ps.ts b/editors/vscode/files/patch-src_vs_base_node_ps.ts
index 3d0cdab9e6bf..d5bf0afe856a 100644
--- a/editors/vscode/files/patch-src_vs_base_node_ps.ts
+++ b/editors/vscode/files/patch-src_vs_base_node_ps.ts
@@ -1,6 +1,6 @@
---- src/vs/base/node/ps.ts.orig 2025-06-11 13:47:56 UTC
+--- src/vs/base/node/ps.ts.orig 2025-12-10 18:02:22 UTC
+++ src/vs/base/node/ps.ts
-@@ -225,7 +225,7 @@ export function listProcesses(rootPid: number): Promis
+@@ -223,7 +223,7 @@ export function listProcesses(rootPid: number): Promis
}
} else {
const ps = stdout.toString().trim();
diff --git a/editors/vscode/files/patch-src_vs_workbench_services_actions_common_menusExtensionPoint.ts b/editors/vscode/files/patch-src_vs_workbench_services_actions_common_menusExtensionPoint.ts
index c581f80ef624..2339c2ff3386 100644
--- a/editors/vscode/files/patch-src_vs_workbench_services_actions_common_menusExtensionPoint.ts
+++ b/editors/vscode/files/patch-src_vs_workbench_services_actions_common_menusExtensionPoint.ts
@@ -1,6 +1,6 @@
---- src/vs/workbench/services/actions/common/menusExtensionPoint.ts.orig 2025-11-11 14:25:32 UTC
+--- src/vs/workbench/services/actions/common/menusExtensionPoint.ts.orig 2025-12-10 18:02:22 UTC
+++ src/vs/workbench/services/actions/common/menusExtensionPoint.ts
-@@ -1191,7 +1191,10 @@ class CommandsTableRenderer extends Disposable impleme
+@@ -1203,7 +1203,10 @@ class CommandsTableRenderer extends Disposable impleme
switch (platform) {
case 'win32': key = rawKeyBinding.win; break;
diff --git a/editors/vscode/files/patch-test_automation_src_electron.ts b/editors/vscode/files/patch-test_automation_src_electron.ts
index d9e0cf8836e2..f6ecbded70d6 100644
--- a/editors/vscode/files/patch-test_automation_src_electron.ts
+++ b/editors/vscode/files/patch-test_automation_src_electron.ts
@@ -1,6 +1,6 @@
---- test/automation/src/electron.ts.orig 2025-11-11 14:25:32 UTC
+--- test/automation/src/electron.ts.orig 2025-12-10 18:02:22 UTC
+++ test/automation/src/electron.ts
-@@ -96,6 +96,7 @@ export function getDevElectronPath(): string {
+@@ -118,6 +118,7 @@ export function getDevElectronPath(): string {
case 'darwin':
return join(buildPath, 'electron', `${product.nameLong}.app`, 'Contents', 'MacOS', 'Electron');
case 'linux':
@@ -8,7 +8,7 @@
return join(buildPath, 'electron', `${product.applicationName}`);
case 'win32':
return join(buildPath, 'electron', `${product.nameShort}.exe`);
-@@ -108,7 +109,8 @@ export function getBuildElectronPath(root: string): st
+@@ -130,7 +131,8 @@ export function getBuildElectronPath(root: string): st
switch (process.platform) {
case 'darwin':
return join(root, 'Contents', 'MacOS', 'Electron');
diff --git a/editors/vscode/files/product.json.extensions b/editors/vscode/files/product.json.extensions
new file mode 100644
index 000000000000..6b42ee37649f
--- /dev/null
+++ b/editors/vscode/files/product.json.extensions
@@ -0,0 +1,597 @@
+{
+ "extensionAllowedBadgeProviders": [
+ "api.bintray.com",
+ "api.travis-ci.com",
+ "api.travis-ci.org",
+ "app.fossa.io",
+ "badge.buildkite.com",
+ "badge.fury.io",
+ "badge.waffle.io",
+ "badgen.net",
+ "badges.frapsoft.com",
+ "badges.gitter.im",
+ "badges.greenkeeper.io",
+ "cdn.travis-ci.com",
+ "cdn.travis-ci.org",
+ "ci.appveyor.com",
+ "circleci.com",
+ "cla.opensource.microsoft.com",
+ "codacy.com",
+ "codeclimate.com",
+ "codecov.io",
+ "coveralls.io",
+ "david-dm.org",
+ "deepscan.io",
+ "dev.azure.com",
+ "docs.rs",
+ "flat.badgen.net",
+ "gemnasium.com",
+ "githost.io",
+ "gitlab.com",
+ "godoc.org",
+ "goreportcard.com",
+ "img.shields.io",
+ "isitmaintained.com",
+ "marketplace.visualstudio.com",
+ "nodesecurity.io",
+ "opencollective.com",
+ "snyk.io",
+ "travis-ci.com",
+ "travis-ci.org",
+ "visualstudio.com",
+ "vsmarketplacebadge.apphb.com",
+ "www.bithound.io",
+ "www.versioneye.com"
+ ],
+ "extensionAllowedBadgeProvidersRegex": [
+ "^https:\\/\\/github\\.com\\/[^/]+\\/[^/]+\\/(actions\\/)?workflows\\/.*badge\\.svg"
+ ],
+ "extensionsEnabledWithApiProposalVersion": [
+ "GitHub.copilot-chat",
+ "ms-vscode.vscode-commander",
+ "ms-vscode.vscode-copilot-vision",
+ "GitHub.vscode-pull-request-github"
+ ],
+ "extensionEnabledApiProposals": {
+ "ms-azuretools.vscode-containers": [
+ "authenticationChallenges"
+ ],
+ "ms-azuretools.vscode-azureresourcegroups": [
+ "authenticationChallenges"
+ ],
+ "ms-azuretools.vscode-azure-github-copilot": [
+ "authenticationChallenges"
+ ],
+ "ms-azuretools.vscode-dev-azurecloudshell": [
+ "contribEditSessions",
+ "authenticationChallenges"
+ ],
+ "ms-toolsai.vscode-ai": [
+ "authenticationChallenges"
+ ],
+ "TeamsDevApp.vscode-ai-foundry": [
+ "authenticationChallenges"
+ ],
+ "ms-vscode.vscode-selfhost-test-provider": [
+ "testObserver",
+ "testRelatedCode"
+ ],
+ "VisualStudioExptTeam.vscodeintellicode-completions": [
+ "inlineCompletionsAdditions"
+ ],
+ "ms-vsliveshare.vsliveshare": [
+ "contribMenuBarHome",
+ "contribShareMenu",
+ "contribStatusBarItems",
+ "diffCommand",
+ "documentFiltersExclusive",
+ "fileSearchProvider",
+ "findTextInFiles",
+ "notebookLiveShare",
+ "terminalDimensions",
+ "terminalDataWriteEvent",
+ "textSearchProvider"
+ ],
+ "ms-vscode.js-debug": [
+ "portsAttributes",
+ "findTextInFiles",
+ "workspaceTrust",
+ "tunnels"
+ ],
+ "ms-toolsai.vscode-ai-remote": [
+ "resolvers",
+ "authenticationChallenges"
+ ],
+ "ms-python.python": [
+ "codeActionAI",
+ "contribEditorContentMenu",
+ "quickPickSortByLabel",
+ "portsAttributes",
+ "testObserver",
+ "quickPickItemTooltip",
+ "terminalDataWriteEvent",
+ "terminalExecuteCommandEvent",
+ "notebookReplDocument",
+ "notebookVariableProvider",
+ "terminalShellEnv"
+ ],
+ "ms-python.vscode-python-envs": [
+ "terminalShellEnv",
+ "terminalDataWriteEvent"
+ ],
+ "ms-dotnettools.dotnet-interactive-vscode": [
+ "notebookMessaging"
+ ],
+ "GitHub.codespaces": [
+ "contribEditSessions",
+ "contribMenuBarHome",
+ "contribRemoteHelp",
+ "contribViewsRemote",
+ "resolvers",
+ "tunnels",
+ "terminalDataWriteEvent",
+ "treeViewReveal",
+ "notebookKernelSource"
+ ],
+ "ms-vscode.azure-repos": [
+ "extensionRuntime",
+ "fileSearchProvider",
+ "textSearchProvider"
+ ],
+ "ms-vscode.remote-repositories": [
+ "canonicalUriProvider",
+ "contribEditSessions",
+ "contribRemoteHelp",
+ "contribMenuBarHome",
+ "contribViewsRemote",
+ "contribViewsWelcome",
+ "contribShareMenu",
+ "documentFiltersExclusive",
+ "editSessionIdentityProvider",
+ "extensionRuntime",
+ "fileSearchProvider",
+ "quickPickSortByLabel",
+ "workspaceTrust",
+ "shareProvider",
+ "scmActionButton",
+ "scmSelectedProvider",
+ "scmValidation",
+ "textSearchProvider",
+ "timeline"
+ ],
+ "ms-vscode-remote.remote-wsl": [
+ "resolvers",
+ "contribRemoteHelp",
+ "contribViewsRemote",
+ "telemetry"
+ ],
+ "ms-vscode-remote.remote-ssh": [
+ "resolvers",
+ "tunnels",
+ "terminalDataWriteEvent",
+ "contribRemoteHelp",
+ "contribViewsRemote",
+ "telemetry"
+ ],
+ "ms-vscode.remote-server": [
+ "resolvers",
+ "tunnels",
+ "contribViewsWelcome"
+ ],
+ "ms-vscode.remote-explorer": [
+ "contribRemoteHelp",
+ "contribViewsRemote",
+ "extensionsAny"
+ ],
+ "ms-vscode-remote.remote-containers": [
+ "contribEditSessions",
+ "resolvers",
+ "portsAttributes",
+ "tunnels",
+ "workspaceTrust",
+ "terminalDimensions",
+ "contribRemoteHelp",
+ "contribViewsRemote"
+ ],
+ "ms-vscode.js-debug-nightly": [
+ "portsAttributes",
+ "findTextInFiles",
+ "workspaceTrust",
+ "tunnels"
+ ],
+ "ms-vscode.lsif-browser": [
+ "documentFiltersExclusive"
+ ],
+ "ms-vscode.vscode-speech": [
+ "speech"
+ ],
+ "GitHub.vscode-pull-request-github": [
+ "activeComment",
+ "chatParticipantAdditions",
+ "chatParticipantPrivate",
+ "chatSessionsProvider",
+ "codiconDecoration",
+ "codeActionRanges",
+ "commentingRangeHint",
+ "commentReactor",
+ "commentReveal",
+ "commentThreadApplicability",
+ "contribAccessibilityHelpContent",
+ "contribCommentEditorActionsMenu",
+ "contribCommentPeekContext",
+ "contribCommentThreadAdditionalMenu",
+ "contribCommentsViewThreadMenus",
+ "contribEditorContentMenu",
+ "contribMultiDiffEditorMenus",
+ "contribShareMenu",
+ "diffCommand",
+ "languageModelToolResultAudience",
+ "markdownAlertSyntax",
+ "quickDiffProvider",
+ "remoteCodingAgents",
+ "shareProvider",
+ "tabInputTextMerge",
+ "tokenInformation",
+ "treeItemMarkdownLabel",
+ "treeViewMarkdownMessage"
+ ],
+ "GitHub.copilot": [
+ "inlineCompletionsAdditions",
+ "devDeviceId"
+ ],
+ "GitHub.copilot-nightly": [
+ "inlineCompletionsAdditions",
+ "devDeviceId"
+ ],
+ "GitHub.copilot-chat": [
+ "interactive",
+ "terminalDataWriteEvent",
+ "terminalExecuteCommandEvent",
+ "terminalSelection",
+ "terminalQuickFixProvider",
+ "chatParticipantAdditions",
+ "defaultChatParticipant",
+ "embeddings",
+ "chatEditing",
+ "chatProvider",
+ "mappedEditsProvider",
+ "aiRelatedInformation",
+ "aiSettingsSearch",
+ "codeActionAI",
+ "findTextInFiles",
+ "findTextInFiles2",
+ "textSearchProvider",
+ "textSearchProvider2",
+ "activeComment",
+ "commentReveal",
+ "contribSourceControlInputBoxMenu",
+ "contribCommentEditorActionsMenu",
+ "contribCommentThreadAdditionalMenu",
+ "contribCommentsViewThreadMenus",
+ "newSymbolNamesProvider",
+ "findFiles2",
+ "chatReferenceDiagnostic",
+ "extensionsAny",
+ "authLearnMore",
+ "testObserver",
+ "aiTextSearchProvider",
+ "documentFiltersExclusive",
+ "chatParticipantPrivate",
+ "contribDebugCreateConfiguration",
+ "inlineCompletionsAdditions",
+ "chatReferenceBinaryData",
+ "languageModelSystem",
+ "languageModelCapabilities",
+ "languageModelThinkingPart",
+ "chatStatusItem",
+ "taskProblemMatcherStatus",
+ "contribLanguageModelToolSets",
+ "textDocumentChangeReason",
+ "resolvers",
+ "taskExecutionTerminal",
+ "dataChannels",
+ "chatSessionsProvider",
+ "devDeviceId",
+ "contribEditorContentMenu"
+ ],
+ "GitHub.remotehub": [
+ "contribRemoteHelp",
+ "contribMenuBarHome",
+ "contribViewsRemote",
+ "contribViewsWelcome",
+ "documentFiltersExclusive",
+ "extensionRuntime",
+ "fileSearchProvider",
+ "quickPickSortByLabel",
+ "workspaceTrust",
+ "scmSelectedProvider",
+ "scmValidation",
+ "textSearchProvider",
+ "timeline"
+ ],
+ "ms-python.vscode-pylance": [
+ "terminalShellEnv",
+ "portsAttributes"
+ ],
+ "ms-python.debugpy": [
+ "contribViewsWelcome",
+ "debugVisualization",
+ "portsAttributes"
+ ],
+ "ms-toolsai.jupyter-renderers": [
+ "contribNotebookStaticPreloads"
+ ],
+ "ms-toolsai.jupyter": [
+ "notebookDeprecated",
+ "notebookMessaging",
+ "notebookMime",
+ "portsAttributes",
+ "quickPickSortByLabel",
+ "notebookKernelSource",
+ "interactiveWindow",
+ "notebookControllerAffinityHidden",
+ "contribNotebookStaticPreloads",
+ "quickPickItemTooltip",
+ "notebookExecution",
+ "notebookCellExecution",
+ "notebookVariableProvider",
+ "notebookReplDocument"
+ ],
+ "donjayamanne.kusto": [
+ "notebookVariableProvider"
+ ],
+ "ms-toolsai.tensorboard": [
+ "portsAttributes"
+ ],
+ "dbaeumer.vscode-eslint": [],
+ "ms-vscode.azure-sphere-tools-ui": [
+ "tunnels"
+ ],
+ "ms-azuretools.vscode-azureappservice": [
+ "terminalDataWriteEvent"
+ ],
+ "ms-vscode.anycode": [
+ "extensionsAny"
+ ],
+ "ms-vscode.cpptools": [
+ "terminalDataWriteEvent",
+ "chatParticipantAdditions"
+ ],
+ "vscjava.vscode-java-pack": [],
+ "ms-dotnettools.csdevkit": [
+ "inlineCompletionsAdditions"
+ ],
+ "ms-dotnettools.vscodeintellicode-csharp": [
+ "inlineCompletionsAdditions"
+ ],
+ "microsoft-IsvExpTools.powerplatform-vscode": [
+ "fileSearchProvider",
+ "textSearchProvider"
+ ],
+ "microsoft-IsvExpTools.powerplatform-vscode-preview": [
+ "fileSearchProvider",
+ "textSearchProvider"
+ ],
+ "TeamsDevApp.ms-teams-vscode-extension": [
+ "chatParticipantAdditions",
+ "languageModelSystem"
+ ],
+ "ms-toolsai.datawrangler": [],
+ "ms-vscode.vscode-commander": [],
+ "ms-vscode.vscode-websearchforcopilot": [],
+ "ms-vscode.vscode-copilot-vision": [
+ "chatReferenceBinaryData",
+ "codeActionAI"
+ ],
+ "ms-autodev.vscode-autodev": [
+ "chatParticipantAdditions"
+ ],
+ "vscjava.vscode-java-upgrade": [
+ "chatParticipantAdditions",
+ "chatParticipantPrivate"
+ ],
+ "FoundryLocal.foundry-local-chat": [
+ "chatProvider"
+ ],
+ "Microsoft.foundry-local-chat": [
+ "chatProvider"
+ ],
+ "ms-wmcp.windows-mcp-server-extension": [
+ "mcpToolDefinitions"
+ ],
+ "openai.chatgpt": [
+ "languageModelProxy",
+ "chatSessionsProvider"
+ ],
+ "jeanp413.open-remote-ssh": [
+ "resolvers",
+ "tunnels",
+ "terminalDataWriteEvent",
+ "contribRemoteHelp",
+ "contribViewsRemote"
+ ],
+ "jeanp413.open-remote-wsl": [
+ "resolvers",
+ "contribRemoteHelp",
+ "contribViewsRemote"
+ ]
+ },
+ "extensionKind": {
+ "Shan.code-settings-sync": [
+ "ui"
+ ],
+ "shalldie.background": [
+ "ui"
+ ],
+ "techer.open-in-browser": [
+ "ui"
+ ],
+ "CoenraadS.bracket-pair-colorizer-2": [
+ "ui"
+ ],
+ "CoenraadS.bracket-pair-colorizer": [
+ "ui",
+ "workspace"
+ ],
+ "hiro-sun.vscode-emacs": [
+ "ui",
+ "workspace"
+ ],
+ "hnw.vscode-auto-open-markdown-preview": [
+ "ui",
+ "workspace"
+ ],
+ "wayou.vscode-todo-highlight": [
+ "ui",
+ "workspace"
+ ],
+ "aaron-bond.better-comments": [
+ "ui",
+ "workspace"
+ ],
+ "vscodevim.vim": [
+ "ui"
+ ],
+ "ollyhayes.colmak-vim": [
+ "ui"
+ ]
+ },
+ "extensionPointExtensionKind": {
+ "typescriptServerPlugins": [
+ "workspace"
+ ]
+ },
+ "extensionSyncedKeys": {
+ "ritwickdey.liveserver": [
+ "liveServer.setup.version"
+ ]
+ },
+ "extensionVirtualWorkspacesSupport": {
+ "esbenp.prettier-vscode": {
+ "default": false
+ },
+ "msjsdiag.debugger-for-chrome": {
+ "default": false
+ },
+ "redhat.java": {
+ "default": false
+ },
+ "HookyQR.beautify": {
+ "default": false
+ },
+ "ritwickdey.LiveServer": {
+ "default": false
+ },
+ "VisualStudioExptTeam.vscodeintellicode": {
+ "default": false
+ },
+ "octref.vetur": {
+ "default": false
+ },
+ "formulahendry.code-runner": {
+ "default": false
+ },
+ "xdebug.php-debug": {
+ "default": false
+ },
+ "ms-mssql.mssql": {
+ "default": false
+ },
+ "christian-kohler.path-intellisense": {
+ "default": false
+ },
+ "eg2.tslint": {
+ "default": false
+ },
+ "eg2.vscode-npm-script": {
+ "default": false
+ },
+ "donjayamanne.githistory": {
+ "default": false
+ },
+ "Zignd.html-css-class-completion": {
+ "default": false
+ },
+ "christian-kohler.npm-intellisense": {
+ "default": false
+ },
+ "EditorConfig.EditorConfig": {
+ "default": false
+ },
+ "austin.code-gnu-global": {
+ "default": false
+ },
+ "johnpapa.Angular2": {
+ "default": false
+ },
+ "ms-vscode.vscode-typescript-tslint-plugin": {
+ "default": false
+ },
+ "DotJoshJohnson.xml": {
+ "default": false
+ },
+ "techer.open-in-browser": {
+ "default": false
+ },
+ "tht13.python": {
+ "default": false
+ },
+ "bmewburn.vscode-intelephense-client": {
+ "default": false
+ },
+ "Angular.ng-template": {
+ "default": false
+ },
+ "xdebug.php-pack": {
+ "default": false
+ },
+ "dbaeumer.jshint": {
+ "default": false
+ },
+ "yzhang.markdown-all-in-one": {
+ "default": false
+ },
+ "Dart-Code.flutter": {
+ "default": false
+ },
+ "streetsidesoftware.code-spell-checker": {
+ "default": false
+ },
+ "rebornix.Ruby": {
+ "default": false
+ },
+ "ms-vscode.sublime-keybindings": {
+ "default": false
+ },
+ "mitaki28.vscode-clang": {
+ "default": false
+ },
+ "steoates.autoimport": {
+ "default": false
+ },
+ "donjayamanne.python-extension-pack": {
+ "default": false
+ },
+ "shd101wyy.markdown-preview-enhanced": {
+ "default": false
+ },
+ "mikestead.dotenv": {
+ "default": false
+ },
+ "pranaygp.vscode-css-peek": {
+ "default": false
+ },
+ "ikappas.phpcs": {
+ "default": false
+ },
+ "platformio.platformio-ide": {
+ "default": false
+ },
+ "jchannon.csharpextensions": {
+ "default": false
+ },
+ "gruntfuggly.todo-tree": {
+ "default": false
+ }
+ }
+}
diff --git a/editors/vscode/files/update-product-json.sh b/editors/vscode/files/update-product-json.sh
new file mode 100644
index 000000000000..3514570d892f
--- /dev/null
+++ b/editors/vscode/files/update-product-json.sh
@@ -0,0 +1,37 @@
+#! /bin/sh
+
+PATH=/bin:/usr/bin:/usr/local/bin
+
+WRKSRC=$1
+PRODUCT_JSON=product.json
+
+setpath() {
+ json=$(jq --tab --arg value "${2}" "setpath(path(.${1}); \$value)" ${PRODUCT_JSON})
+ echo "${json}" > ${PRODUCT_JSON}
+}
+
+setpath_json() {
+ json=$(jq --tab --argjson value "${2}" "setpath(path(.${1}); \$value)" ${PRODUCT_JSON})
+ echo "${json}" > ${PRODUCT_JSON}
+}
+
+cd ${WRKSRC}
+
+mv -f ${PRODUCT_JSON} ${PRODUCT_JSON}.bak
+echo '{}' > ${PRODUCT_JSON}
+
+setpath "checksumFailMoreInfoUrl" "https://go.microsoft.com/fwlink/?LinkId=828886"
+setpath "documentationUrl" "https://go.microsoft.com/fwlink/?LinkID=533484"
+setpath_json "extensionsGallery" '{"serviceUrl": "https://open-vsx.org/vscode/gallery", "itemUrl": "https://open-vsx.org/vscode/item", "latestUrlTemplate": "https://open-vsx.org/vscode/gallery/{publisher}/{name}/latest", "controlUrl": "https://raw.githubusercontent.com/EclipseFdn/publish-extensions/refs/heads/master/extension-control/extensions.json"}'
+setpath "introductoryVideosUrl" "https://go.microsoft.com/fwlink/?linkid=832146"
+setpath "keyboardShortcutsUrlLinux" "https://go.microsoft.com/fwlink/?linkid=832144"
+setpath_json "linkProtectionTrustedDomains" '["https://open-vsx.org"]'
+setpath "quality" "stable"
+setpath "releaseNotesUrl" "https://go.microsoft.com/fwlink/?LinkID=533483"
+setpath "requestFeatureUrl" "https://go.microsoft.com/fwlink/?LinkID=533482"
+setpath "tipsAndTricksUrl" "https://go.microsoft.com/fwlink/?linkid=852118"
+setpath "twitterUrl" "https://go.microsoft.com/fwlink/?LinkID=533687"
+setpath_json "tunnelApplicationConfig" '{}'
+
+json=$(jq --tab --slurp '.[0] * .[1] * .[2]' ${PRODUCT_JSON}.bak ${PRODUCT_JSON} ${FILESDIR}/product.json.extensions)
+echo "${json}" > ${PRODUCT_JSON}