git: 31fd408f128c - main - editors/vscode: Update to 1.107.0
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 18 Dec 2025 09:05:11 UTC
The branch main has been updated by tagattie:
URL: https://cgit.FreeBSD.org/ports/commit/?id=31fd408f128c20dacbba0be25388e831bc1df057
commit 31fd408f128c20dacbba0be25388e831bc1df057
Author: Hiroki Tagato <tagattie@FreeBSD.org>
AuthorDate: 2025-12-18 08:50:47 +0000
Commit: Hiroki Tagato <tagattie@FreeBSD.org>
CommitDate: 2025-12-18 09:04:40 +0000
editors/vscode: Update to 1.107.0
This update features hassle-free remote development over ssh.
Prior to this update, users who want to use remote development over
ssh needs to take some manual steps for setting up environment. From
now on, just installing "Open Remote - SSH" extension should be
enough. For more details, follow the instruction shown upon package
installation.
Additional changes to the port include:
- split out target for building remote extension host to Makefile.reh
to avoid excessive dependencies
- populate product.json with useful information mainly for making
popular extensions work out of the box[1]
Changelog: https://code.visualstudio.com/updates/v1_107
Reported by: GitHub (watch releases)
Obtained from: https://github.com/VSCodium/vscodium [1]
---
editors/vscode/Makefile | 31 +-
editors/vscode/Makefile.reh | 133 +++++
editors/vscode/Makefile.version | 2 +
editors/vscode/distinfo | 14 +-
...sions.js => patch-build_gulpfile.extensions.ts} | 8 +-
editors/vscode/files/patch-build_gulpfile.reh.ts | 29 +
.../vscode/files/patch-build_gulpfile.vscode.ts | 11 +
editors/vscode/files/patch-build_lib_electron.ts | 4 +-
editors/vscode/files/patch-build_lib_preLaunch.ts | 6 +-
.../patch-build_lib_propertyInitOrderChecker.ts | 4 +-
...soft-authentication_extension.webpack.config.js | 34 ++
editors/vscode/files/patch-package.json | 6 +-
editors/vscode/files/patch-product.json | 19 -
editors/vscode/files/patch-src_bootstrap-node.ts | 4 +-
editors/vscode/files/patch-src_vs_base_node_ps.ts | 4 +-
..._services_actions_common_menusExtensionPoint.ts | 4 +-
.../files/patch-test_automation_src_electron.ts | 6 +-
editors/vscode/files/product.json.extensions | 597 +++++++++++++++++++++
editors/vscode/files/update-product-json.sh | 37 ++
editors/vscode/pkg-message | 44 ++
editors/vscode/pkg-plist | 218 +++++++-
21 files changed, 1129 insertions(+), 86 deletions(-)
diff --git a/editors/vscode/Makefile b/editors/vscode/Makefile
index 45fedbedec6f..45d2414aaffd 100644
--- a/editors/vscode/Makefile
+++ b/editors/vscode/Makefile
@@ -1,5 +1,5 @@
PORTNAME= vscode
-DISTVERSION= 1.106.3
+DISTVERSION= ${VSCODE_VERSION}
CATEGORIES= editors
MASTER_SITES= https://github.com/tagattie/FreeBSD-VSCode/releases/download/${DISTVERSION}/:node_modules
DISTFILES= vscode-node-modules-${DISTVERSION}${EXTRACT_SUFX}:node_modules \
@@ -19,7 +19,6 @@ EXTRACT_DEPENDS=jq:textproc/jq \
node${NODEJS_VERSION}>0:www/node${NODEJS_VERSION}
BUILD_DEPENDS= zip:archivers/zip \
electron${ELECTRON_VER_MAJOR}:devel/electron${ELECTRON_VER_MAJOR} \
- tsgo:lang/typescript-go \
jq:textproc/jq \
rg:textproc/ripgrep \
npm${NODEJS_SUFFIX}>0:www/npm${NODEJS_SUFFIX}
@@ -68,8 +67,6 @@ USES= desktop-file-utils display:test gl gmake gnome gssapi:mit \
USE_GITHUB= yes
GH_ACCOUNT= microsoft
-SOURCE_COMMIT_HASH= bf9252a2fb45be6893dd8870c0bf37e2e1766d61
-
BINARY_ALIAS= python=${PYTHON_CMD}
USE_XORG= x11 xcb xcomposite xcursor xdamage xext xfixes xi xkbfile \
@@ -95,9 +92,12 @@ MAKE_ENV+= PLAYWRIGHT_BROWSERS_PATH=${WRKDIR}/pw-browsers \
MAKE_ENV+= PYTHONDONTWRITEBYTECODE=1
TEST_ENV= ${MAKE_ENV:C/TMPDIR=.*//}
-NODEJS_DIR= ${.CURDIR:H:H}/www/node22
+.include "Makefile.version"
+.include <bsd.port.pre.mk>
+
+NODEJS_DIR= ${.CURDIR:H:H}/www/node${NODEJS_VERSION}
.include "${NODEJS_DIR}/Makefile.version"
-ELECTRON_DIR= ${.CURDIR:H:H}/devel/electron37
+ELECTRON_DIR= ${.CURDIR:H:H}/devel/electron39
.include "${ELECTRON_DIR}/Makefile.version"
ELECTRON_DOWNLOAD_URL= https://github.com/electron/electron/releases/download/v${ELECTRON_VER}
@@ -118,7 +118,7 @@ post-extract:
${WRKSRC}/build/.moduleignore.freebsd
@${ECHO_MSG} "===> Installing node modules in ${WRKSRC}"
@${TAR} -xzf ${WRKDIR}/vscode-.-node-modules${EXTRACT_SUFX} -C ${WRKSRC}
- @for dir in `node -p "JSON.stringify(require('${WRKSRC}/build/npm/dirs').dirs)" | jq -r '.[]'`; do \
+ @for dir in `node --input-type=module -e "console.log(JSON.stringify((await import('${WRKSRC}/build/npm/dirs.ts')).dirs))" | jq -r '.[]'`; do \
if [ -f ${WRKDIR}/vscode-`echo $${dir} | tr _ __ | tr / _`-node-modules${EXTRACT_SUFX} ]; then \
${ECHO_MSG} "===> Installing node modules in ${WRKSRC}/$${dir}"; \
${TAR} -xzf ${WRKDIR}/vscode-`echo $${dir} | tr _ __ | tr / _`-node-modules${EXTRACT_SUFX} -C ${WRKSRC}/$${dir}; \
@@ -130,6 +130,9 @@ post-patch:
${WRKSRC}/.npmrc
@${REINPLACE_CMD} -E 's|^(target=").*(")$$|\1${NODEJS_PORTVERSION}\2|' \
${WRKSRC}/remote/.npmrc
+ @${REINPLACE_CMD} -e 's/%%DISTVERSION%%/${DISTVERSION}/g' \
+ ${WRKSRC}/build/gulpfile.reh.ts \
+ ${WRKSRC}/build/gulpfile.vscode.ts
@(cd ${WRKSRC} && \
${FIND} -E . -type f -iregex '${SHEBANG_REGEX}' \
-exec ${SED} -i '' -e "s|/usr/bin/pgrep|/bin/pgrep|g" {} ';')
@@ -156,6 +159,8 @@ post-patch:
${FIND} . -type f -name '*.sh' \
-exec ${SED} -i '' -e "s|/usr/bin/pgrep|/bin/pgrep|g" \
-e 's|#!/bin/bash|#!${LOCALBASE}/bin/bash|' {} ';')
+ @${SETENV} FILESDIR=${FILESDIR} \
+ ${SH} ${FILESDIR}/update-product-json.sh ${WRKSRC}
pre-build:
# rebuild native node modules in top directory
@@ -169,7 +174,7 @@ pre-build:
node-gyp --userconfig=${WRKSRC}/.npmrc rebuild; \
done
# rebuild native node modules in subdirectories
- @for dir in `node -p "JSON.stringify(require('${WRKSRC}/build/npm/dirs').dirs)" | jq -r '.[]'`; do \
+ @for dir in `node --input-type=module -e "console.log(JSON.stringify((await import('${WRKSRC}/build/npm/dirs.ts')).dirs))" | jq -r '.[]'`; do \
for subdir in `${FIND} ${WRKSRC}/$${dir}/node_modules -type f -name binding.gyp -exec ${DIRNAME} {} ';' 2> /dev/null`; do \
${ECHO_MSG} "===> Rebuilding native modules in $${subdir}"; \
if [ "`${ECHO_CMD} $${subdir} | ${GREP} /build/`" ]; then \
@@ -210,12 +215,8 @@ do-build:
@cd ${LOCALBASE}/share/electron${ELECTRON_VER_MAJOR} && \
zip -q -r ${WRKDIR}/.cache/electron/${ELECTRON_DOWNLOAD_URL_HASH}/electron-v${ELECTRON_VER}-linux-${ELECTRON_ARCH}.zip .
# remove backup files so that they are not included in the package
- @${FIND} ${WRKSRC} -type f \( -name '*.orig' -o -name '*~' \) -delete
+ @${FIND} ${WRKSRC} -type f \( -name '*.bak' -o -name '*.orig' -o -name '*~' \) -delete
# build and package vscode
- cd ${WRKSRC}/build && \
- ${SETENV} ${MAKE_ENV} npm run prebuild-ts
- cd ${WRKSRC} && \
- ${SETENV} ${MAKE_ENV} tsgo -p build/tsconfig.build.json
cd ${WRKSRC} && \
${SETENV} ${MAKE_ENV} \
npm_config_runtime=electron \
@@ -299,7 +300,7 @@ make-node-modules-archive: extract patch-package-json
${SETENV} ${MAKE_ENV} npm install \
--ignore-scripts --no-progress --no-audit --no-fund --no-update-notifier && \
${TAR} -czf ${WRKDIR}/vscode-.-node-modules${EXTRACT_SUFX} node_modules
- @for dir in `node -p "JSON.stringify(require('${WRKSRC}/build/npm/dirs').dirs)" | jq -r '.[]'`; do \
+ @for dir in `node --input-type=module -e "console.log(JSON.stringify((await import('${WRKSRC}/build/npm/dirs.ts')).dirs))" | jq -r '.[]'`; do \
cd ${WRKSRC}/$${dir} && \
${ECHO_MSG} "===> Fetching and installing node modules in ${WRKSRC}/$${dir}" && \
${SETENV} ${MAKE_ENV} npm install \
@@ -317,4 +318,4 @@ make-marketplace-exts-archive: extract
${SETENV} ${MAKE_ENV} npm run download-builtin-extensions
@${TAR} -czf ${WRKDIR}/vscode-marketplace-exts-${DISTVERSION}${EXTRACT_SUFX} -C ${WRKSRC}/.build builtInExtensions
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>
diff --git a/editors/vscode/Makefile.reh b/editors/vscode/Makefile.reh
new file mode 100644
index 000000000000..247bb4469c56
--- /dev/null
+++ b/editors/vscode/Makefile.reh
@@ -0,0 +1,133 @@
+PORTNAME= vscode
+DISTVERSION= ${VSCODE_VERSION}
+CATEGORIES= editors
+MASTER_SITES= https://github.com/tagattie/FreeBSD-VSCode/releases/download/${DISTVERSION}/:node_modules
+PKGNAMESUFFIX= -reh
+DISTFILES= vscode-node-modules-${DISTVERSION}${EXTRACT_SUFX}:node_modules
+DIST_SUBDIR= ${PORTNAME}
+
+MAINTAINER= tagattie@FreeBSD.org
+COMMENT= Visual Studio Code - Open Source ("Code - OSS")
+WWW= https://code.visualstudio.com/
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE.txt
+
+ONLY_FOR_ARCHS= aarch64 amd64
+
+EXTRACT_DEPENDS=jq:textproc/jq \
+ node${NODEJS_VERSION}>0:www/node${NODEJS_VERSION}
+BUILD_DEPENDS= jq:textproc/jq \
+ rg:textproc/ripgrep \
+ npm${NODEJS_SUFFIX}>0:www/npm${NODEJS_SUFFIX}
+LIB_DEPENDS= libbrotlidec.so:archivers/brotli \
+ libcares.so:dns/c-ares \
+ libicui18n.so:devel/icu \
+ libllhttp.so:www/llhttp \
+ libnghttp2.so:www/libnghttp2 \
+ libnghttp3.so:www/libnghttp3 \
+ libngtcp2.so:net/libngtcp2 \
+ libsimdjson.so:devel/simdjson \
+ libuv.so:devel/libuv \
+ libzstd.so:archivers/zstd \
+ libsqlite3.so:databases/sqlite3 \
+ libsecret-1.so:security/libsecret
+RUN_DEPENDS= ca_root_nss>=0:security/ca_root_nss
+
+USES= gssapi:mit localbase:ldflags nodejs:22,build pkgconfig \
+ python:build shebangfix
+
+USE_GITHUB= yes
+GH_ACCOUNT= microsoft
+
+SHEBANG_REGEX= ./(extensions|node_modules|resources|scripts|src)/.*(\.(pl|py|sh)|makeBlacker|makeFF)$$
+PATHFIX_FILES= src/vs/workbench/contrib/debug/node/terminals.ts
+
+MAKE_ENV= BUILD_SOURCEVERSION=${SOURCE_COMMIT_HASH}
+
+BINARY_ALIAS= python=${PYTHON_CMD}
+
+.include "Makefile.version"
+.include <bsd.port.pre.mk>
+
+NODEJS_ARCH= ${ARCH:S/aarch64/arm64/:S/amd64/x64/}
+NODEJS_DIR= ${PORTSDIR}/www/node${NODEJS_VERSION}
+.include "${NODEJS_DIR}/Makefile.version"
+
+post-extract:
+ @${CP} ${WRKSRC}/build/.moduleignore.linux \
+ ${WRKSRC}/build/.moduleignore.freebsd
+ @${ECHO_MSG} "===> Installing node modules in ${WRKSRC}"
+ @${TAR} -xzf ${WRKDIR}/vscode-.-node-modules${EXTRACT_SUFX} -C ${WRKSRC}
+ @for dir in `node --input-type=module -e "console.log(JSON.stringify((await import('${WRKSRC}/build/npm/dirs.ts')).dirs))" | jq -r '.[]'`; do \
+ if [ -f ${WRKDIR}/vscode-`echo $${dir} | tr _ __ | tr / _`-node-modules${EXTRACT_SUFX} ]; then \
+ ${ECHO_MSG} "===> Installing node modules in ${WRKSRC}/$${dir}"; \
+ ${TAR} -xzf ${WRKDIR}/vscode-`echo $${dir} | tr _ __ | tr / _`-node-modules${EXTRACT_SUFX} \
+ -C ${WRKSRC}/$${dir}; \
+ fi; \
+ done
+
+post-patch:
+ @${REINPLACE_CMD} -E 's|^(target=").*(")$$|\1${NODEJS_PORTVERSION}\2|' \
+ ${WRKSRC}/remote/.npmrc
+ @${REINPLACE_CMD} -e 's/%%DISTVERSION%%/${DISTVERSION}/g' \
+ ${WRKSRC}/build/gulpfile.reh.ts \
+ ${WRKSRC}/build/gulpfile.vscode.ts
+ @(cd ${WRKSRC} && \
+ ${FIND} -E . -type f -iregex '${SHEBANG_REGEX}' \
+ -exec ${SED} -i '' -e "s|/usr/bin/pgrep|/bin/pgrep|g" {} ';')
+ @(cd ${WRKSRC} && \
+ ${FIND} ${PATHFIX_FILES} -type f \
+ -exec ${SED} -i '' -e "s|/usr/bin/pgrep|/bin/pgrep|g" {} ';')
+ @${SETENV} FILESDIR=${FILESDIR} \
+ ${SH} ${FILESDIR}/update-product-json.sh ${WRKSRC}
+
+pre-build:
+# rebuild native node modules in subdirectories
+ @for dir in `node --input-type=module -e "console.log(JSON.stringify((await import('${WRKSRC}/build/npm/dirs.ts')).dirs))" | jq -r '.[]'`; do \
+ for subdir in `${FIND} ${WRKSRC}/$${dir}/node_modules -type f -name binding.gyp -exec ${DIRNAME} {} ';' 2> /dev/null`; do \
+ ${ECHO_MSG} "===> Rebuilding native modules in $${subdir}"; \
+ if [ "`${ECHO_CMD} $${subdir} | ${GREP} /build/`" ]; then \
+ cd $${subdir} && \
+ ${SETENV} ${MAKE_ENV} \
+ npm_config_runtime=node \
+ npm_config_target=${NODEJS_PORTVERSION} \
+ npm_config_nodedir=${LOCALBASE} \
+ node-gyp --userconfig=${WRKSRC}/build/.npmrc rebuild; \
+ elif [ "`${ECHO_CMD} $${subdir} | ${GREP} /remote/`" ]; then \
+ cd $${subdir} && \
+ ${SETENV} ${MAKE_ENV} \
+ npm_config_runtime=node \
+ npm_config_target=${NODEJS_PORTVERSION} \
+ npm_config_nodedir=${LOCALBASE} \
+ node-gyp --userconfig=${WRKSRC}/remote/.npmrc rebuild; \
+ fi; \
+ done; \
+ done
+# copy rg binary file to @vscode/ripgrep node module directory
+ @${MKDIR} ${WRKSRC}/build/node_modules/@vscode/ripgrep/bin
+ @${CP} ${LOCALBASE}/bin/rg \
+ ${WRKSRC}/build/node_modules/@vscode/ripgrep/bin
+ @${MKDIR} ${WRKSRC}/remote/node_modules/@vscode/ripgrep/bin
+ @${CP} ${LOCALBASE}/bin/rg \
+ ${WRKSRC}/remote/node_modules/@vscode/ripgrep/bin
+
+do-build:
+# setup download cache for node
+ @${MKDIR} ${WRKSRC}/.build/node/v${NODEJS_PORTVERSION}/linux-${NODEJS_ARCH}
+ @${CP} ${LOCALBASE}/bin/node \
+ ${WRKSRC}/.build/node/v${NODEJS_PORTVERSION}/linux-${NODEJS_ARCH}
+# remove backup files so that they are not included in the package
+ @${FIND} ${WRKSRC} -type f \( -name '*.bak' -o -name '*.orig' -o -name '*~' \) -delete
+# build vscode remote extension host
+ cd ${WRKSRC} && \
+ ${SETENV} ${MAKE_ENV} \
+ npm_config_runtime=node \
+ npm_config_target=${NODEJS_PORTVERSION} \
+ npm_config_nodedir=${LOCALBASE} \
+ npm --userconfig=${WRKSRC}/remote/.npmrc run \
+ gulp vscode-reh-linux-${NODEJS_ARCH}-min
+ ${TAR} -czf ${WRKDIR}/vscode-reh-${OPSYS:tl}-${NODEJS_ARCH}-${DISTVERSION}.tar.gz \
+ -C ${WRKDIR}/vscode-reh-linux-${NODEJS_ARCH} .
+
+.include <bsd.port.post.mk>
diff --git a/editors/vscode/Makefile.version b/editors/vscode/Makefile.version
new file mode 100644
index 000000000000..57026b24956e
--- /dev/null
+++ b/editors/vscode/Makefile.version
@@ -0,0 +1,2 @@
+VSCODE_VERSION= 1.107.0
+SOURCE_COMMIT_HASH= 302ff6a2e235c95b88e587d4a4b6eeb1b6613297
diff --git a/editors/vscode/distinfo b/editors/vscode/distinfo
index 967dfefb1260..5bc95718674c 100644
--- a/editors/vscode/distinfo
+++ b/editors/vscode/distinfo
@@ -1,7 +1,7 @@
-TIMESTAMP = 1764278578
-SHA256 (vscode/vscode-node-modules-1.106.3.tar.gz) = 2634b129617857e323bb81b0e74281286141e81f0e931ed46039a5f4d40b4322
-SIZE (vscode/vscode-node-modules-1.106.3.tar.gz) = 456865192
-SHA256 (vscode/vscode-marketplace-exts-1.106.3.tar.gz) = 80a47e71e539baa3383f3cb139dc2d2f632b118a82e985c1fe61e90a574ea2d4
-SIZE (vscode/vscode-marketplace-exts-1.106.3.tar.gz) = 1704511
-SHA256 (vscode/microsoft-vscode-1.106.3_GH0.tar.gz) = 1b8530e60339963f5a12601db3191fa1f325a210148dfbea00275813583d69b9
-SIZE (vscode/microsoft-vscode-1.106.3_GH0.tar.gz) = 24044557
+TIMESTAMP = 1765693727
+SHA256 (vscode/vscode-node-modules-1.107.0.tar.gz) = 2540f57eab612c3f8d773fa2ddd3634f55916d89e9f26385b21e25663b6e141a
+SIZE (vscode/vscode-node-modules-1.107.0.tar.gz) = 467359399
+SHA256 (vscode/vscode-marketplace-exts-1.107.0.tar.gz) = 8b50dde24b1ced293323bb81900da5645dee952866dad8af6247cde6abee784b
+SIZE (vscode/vscode-marketplace-exts-1.107.0.tar.gz) = 1711786
+SHA256 (vscode/microsoft-vscode-1.107.0_GH0.tar.gz) = 6233b61cb7b5f62eca82de2d2c6c960eaec4bccbdc27ed00076eb34dd27939e4
+SIZE (vscode/microsoft-vscode-1.107.0_GH0.tar.gz) = 24211409
diff --git a/editors/vscode/files/patch-build_gulpfile.extensions.js b/editors/vscode/files/patch-build_gulpfile.extensions.ts
similarity index 57%
rename from editors/vscode/files/patch-build_gulpfile.extensions.js
rename to 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"
*** 675 LINES SKIPPED ***