Compare commits

...

159 Commits

Author SHA1 Message Date
Baptiste Augrain
22d1929f41 fix(1.104.3): update patch (#2532) 2025-10-04 16:21:56 +02:00
jermanuts
6264d064e4 i18n: add arabic translation .desktop (#2520) 2025-10-04 15:39:37 +02:00
Ryan Brue
ac024726a3 docs(telemetry): fix a small typo (#2528) 2025-09-29 22:09:07 +02:00
Baptiste Augrain
e3c3b6fdf7 build(stable): update to commit e3a5acf 2025-09-25 18:27:53 +00:00
Baptiste Augrain
fbdc680c69 build(stable): update to commit 0f0d87f 2025-09-18 18:26:28 +00:00
Baptiste Augrain
dd8511cc6b feat: set update.mode to none when updates are disabled (#2507) 2025-09-12 13:02:55 +02:00
Tiagoquix
f6b143dbd6 docs: improve telemetry page (#2504) 2025-09-12 12:27:22 +02:00
Baptiste Augrain
cde9fd233a fix: gallery (#2506) 2025-09-12 12:18:47 +02:00
Baptiste Augrain
284d83b24e fix: update api proposals [skip ci] 2025-09-12 11:16:02 +02:00
Baptiste Augrain
8cc366bb76 fix(telemetry): disable workbench.enableExperiments by default [skip ci] 2025-09-11 19:59:35 +02:00
Baptiste Augrain
4c2b2b8a79 build(stable): update to commit f220831 2025-09-11 17:49:46 +00:00
Baptiste Augrain
8e49f5f8b1 Merge branch 'insider' 2025-09-11 19:11:58 +02:00
Baptiste Augrain
0ac07d6fcc enhance(icons): improve icons generator [skip ci] 2025-09-11 17:58:19 +02:00
Baptiste Augrain
bf53c50a5b refactor(telemetry): use patch instead of script (#2502) 2025-09-10 12:43:36 +02:00
Baptiste Augrain
d0973e3104 build(insider): update to commit f220831 2025-09-10 07:29:10 +00:00
Baptiste Augrain
8e10409b4a build(insider): update to commit d1d3e55 2025-09-09 07:30:16 +00:00
dependabot[bot]
bcd3d6bffa build(deps): bump actions/setup-node from 4 to 5 (#2496) 2025-09-08 16:35:37 +02:00
dependabot[bot]
b3c1e8901a build(deps): bump actions/setup-python from 5 to 6 (#2495) 2025-09-08 16:34:48 +02:00
dependabot[bot]
c2cff308aa build(deps): bump actions/stale from 9 to 10 (#2494) 2025-09-08 16:33:49 +02:00
Baptiste Augrain
0d1fecf0d4 build(insider): update to commit e296bdf 2025-09-08 07:22:04 +00:00
Baptiste Augrain
5bf3fdcc05 build(insider): update to commit 06acd06 2025-09-06 07:20:26 +00:00
Baptiste Augrain
acf298a9c2 ci: use windows-2022 2025-09-05 17:40:45 +02:00
Baptiste Augrain
2d9bbfb2f3 build(insider): update to commit 7be2a0b 2025-09-05 07:24:14 +00:00
Baptiste Augrain
9d798626aa build(insider): update to commit 8bdbcf0 2025-09-04 07:20:54 +00:00
Baptiste Augrain
f574039dc4 enhance: improve command filter (#2492) 2025-09-03 16:20:23 +02:00
Baptiste Augrain
e648323548 feat(1.104): update patch 2025-09-03 12:52:09 +02:00
Baptiste Augrain
bc2c678d47 feat(1.104): update patches (#2491) 2025-09-02 16:10:01 +02:00
Baptiste Augrain
69fe88f58c Merge branch 'master' into insider 2025-08-31 11:18:00 +02:00
Baptiste Augrain
43d4061cec feat: filters commands (#2487) 2025-08-31 11:00:00 +02:00
Baptiste Augrain
471a81e89f feat(1.104): update patches (#2486) 2025-08-31 09:58:04 +02:00
Baptiste Augrain
e84017f36b build(stable): update to commit 6f17636 2025-08-21 18:24:46 +00:00
dependabot[bot]
e494154c9b build(deps): bump actions/checkout from 4 to 5 (#2472) 2025-08-18 21:12:19 +02:00
Baptiste Augrain
dc302f89af fix(linux-reh-x64): rebuild node modules due to glibc2.17 node runtime (#2473) 2025-08-18 21:11:59 +02:00
Baptiste Augrain
0545b56f6f chore: remove commented code [skip ci] 2025-08-18 16:03:43 +02:00
Baptiste Augrain
914f0da189 chore(linux-reh-x86): streamline to only necessary* changes (#2471) 2025-08-18 14:49:58 +02:00
Baptiste Augrain
a3bf4232ba wip(linux-reh-x64): add cxx11 verification (#2467) 2025-08-18 11:50:53 +02:00
Baptiste Augrain
23683879d3 build(insider): update to commit 09401e7 2025-08-18 07:25:36 +00:00
Baptiste Augrain
177bb9032d build(insider): update to commit 0ab18bd 2025-08-15 12:52:51 +00:00
Baptiste Augrain
7245ccb8bd fix(linux-reh-x86): use unofficial nodejs to build archive (#2465) 2025-08-15 14:10:03 +02:00
Baptiste Augrain
166e10c23b build(insider): update to commit 308b074 2025-08-15 07:23:20 +00:00
Baptiste Augrain
69fee0be29 build(insider): update to commit a61e381 2025-08-14 22:54:26 +00:00
Baptiste Augrain
68d5becf4d fix(linux-reh-x86): rebuild libs (#2464) 2025-08-15 00:19:15 +02:00
Baptiste Augrain
a425c2ca5d build(insider): update to commit 3b51103 2025-08-14 07:22:46 +00:00
Baptiste Augrain
9b20ef5f08 build(stable): update to commit 360a4e4 2025-08-13 18:22:15 +00:00
Baptiste Augrain
242a448627 chore: delete win32-app-container-tokens node modules (#2461) 2025-08-13 18:43:31 +02:00
Baptiste Augrain
e298421027 fix: retry 5 times not 3 2025-08-13 17:07:15 +02:00
Baptiste Augrain
51f1643852 fix: objdump (#2458) 2025-08-13 16:48:59 +02:00
Baptiste Augrain
279bb37012 build(insider): update to commit 97bc9a4 2025-08-13 07:28:25 +00:00
Baptiste Augrain
2af82b8c5b build: use node-v22.17.0 2025-08-12 20:38:38 +02:00
Baptiste Augrain
930f570146 fix(linux-x86): match libstdc ABI between node and @parcel/watcher (#2457) 2025-08-12 19:07:10 +02:00
Baptiste Augrain
b1ee5b1428 feat(1.104): update patch 2025-08-12 17:12:11 +02:00
dependabot[bot]
23688ef492 build(deps): bump actions/download-artifact from 4 to 5 (#2454) 2025-08-12 16:33:06 +02:00
dependabot[bot]
fcffce5d9a build(deps): bump actions/download-artifact from 4 to 5 (#2454) 2025-08-11 19:27:27 +02:00
Baptiste Augrain
3f44e3f4a3 feat(1.104): update patches (#2448) 2025-08-09 11:47:10 +02:00
Baptiste Augrain
9ffd0a3632 Merge branch 'master' into insider 2025-08-09 01:13:40 +02:00
Baptiste Augrain
57832e4688 feat(1.103): update to 1.103 (#2447) 2025-08-09 01:10:08 +02:00
Baptiste Augrain
418209fe92 build(insider): update to commit e3550cf 2025-08-07 07:28:15 +00:00
Baptiste Augrain
96af93b5de build(insider): update to commit c661d0e 2025-08-06 07:29:35 +00:00
Baptiste Augrain
7bdf2348e1 build(insider): update to commit 34769c5 2025-08-05 07:29:06 +00:00
Baptiste Augrain
e114e120f3 fix(windows): regroup patches [skip ci] 2025-08-04 15:25:05 +02:00
Baptiste Augrain
e4091b268c fix(windows): disable appx 2025-08-04 14:47:29 +02:00
Baptiste Augrain
ed516ab087 wip(windows): build appx [skip ci] 2025-08-04 14:02:21 +02:00
Baptiste Augrain
c6eec8f00d docs(macos): remove troubleshooting link 2025-08-04 13:53:57 +02:00
Baptiste Augrain
4959ac2e25 fix(windows): update patch 2025-08-04 11:10:51 +02:00
Baptiste Augrain
2717404c48 build(insider): update to commit 994be41 2025-08-02 07:23:06 +00:00
Baptiste Augrain
ef86a20ce4 build(insider): update to commit 6977c2a 2025-08-01 07:28:01 +00:00
Baptiste Augrain
3c07d343da build(insider): update to commit 724eea7 2025-07-31 07:31:06 +00:00
Baptiste Augrain
ae7ac2e35c build(insider): update to commit 972d323 2025-07-30 07:27:16 +00:00
Baptiste Augrain
29424ad4fb build(stable): update to commit 488a1f2 2025-07-29 18:26:56 +00:00
Baptiste Augrain
067a4d4e7d feat(1.103): update patches (#2437) 2025-07-29 14:55:09 +02:00
Baptiste Augrain
c31bc7e230 build(insider): update to commit d8361fe 2025-07-25 07:27:58 +00:00
Baptiste Augrain
1d870bf372 feat(1.103): update patches (#2435) 2025-07-24 11:07:55 +02:00
Baptiste Augrain
bfdcc2257b fix: retry gh install on failure 2025-07-24 08:57:00 +02:00
Baptiste Augrain
abf3fc3fc2 build(stable): update to commit c306e94 2025-07-23 18:20:34 +00:00
Baptiste Augrain
5304abe421 build(stable): update to commit 7adae6a 2025-07-16 18:27:36 +00:00
Arda Aydın
2520a81540 docs: update non-floss debugger note link in README.md (#2425)
I thought it would be nicer to jump into the note instead of scrolling through the index 🙂
2025-07-11 10:12:03 +02:00
Baptiste Augrain
4647664892 fix: stop gh install on bad tag name 2025-07-11 09:40:11 +02:00
Baptiste Augrain
c377e8f70f feat(1.102): update patch and api (#2424) 2025-07-11 00:07:12 +02:00
Baptiste Augrain
fdc6d3bebc build(insider): update to commit 96f1890 2025-07-07 10:20:36 +00:00
Baptiste Augrain
912c3f9173 build(insider): update to commit 387588c 2025-07-02 07:29:05 +00:00
Baptiste Augrain
0dfc93c35e fix: stop install on error (#2414) 2025-07-01 14:52:03 +02:00
Baptiste Augrain
6240fdfdc4 feat: prepare for 1.102 (#2413) 2025-07-01 12:43:41 +02:00
Baptiste Augrain
376bde0817 ci(windows): increase timeout to 8h for manual validation (#2406) 2025-06-26 13:56:55 +02:00
Baptiste Augrain
fe0394dea4 build(stable): update to commit 2901c5a 2025-06-25 18:23:27 +00:00
Baptiste Augrain
62554e05ac build(stable): update to commit 18e3a1e 2025-06-19 18:19:32 +00:00
Simon Sobisch
e645075872 docs: more info on extension replacements 2025-06-19 10:01:54 +02:00
Alex Garcia
203a782f9a feat(ppc64le): bump GCC version to 10 (#2397) 2025-06-17 15:47:59 +02:00
Baptiste Augrain
2baf08383c fix(reh): build riscv [skip ci] 2025-06-13 02:04:34 +02:00
Baptiste Augrain
866ffbe78e fix(linux): build all archs 2025-06-13 01:06:37 +02:00
Baptiste Augrain
9058cdcc7d feat(1.101): update api proposals 2025-06-12 20:31:06 +02:00
Baptiste Augrain
d9b77fcacc Merge branch 'insider' 2025-06-12 19:56:09 +02:00
Baptiste Augrain
a31eb8e3dd build(insider): update to commit dfaf441 2025-06-12 07:20:28 +00:00
Baptiste Augrain
f0ccf4ecd5 build(insider): update to commit 3ba3a1b 2025-06-11 07:28:24 +00:00
Baptiste Augrain
b8e20569f5 build(insider): update to commit 8a0f412 2025-06-10 07:20:05 +00:00
Baptiste Augrain
a23732caea build(insider): update to commit f832c6b 2025-06-07 07:18:54 +00:00
Baptiste Augrain
b7b23e46c4 build(insider): update to commit 921786b 2025-06-06 07:24:42 +00:00
Baptiste Augrain
7be4f9ef01 build(insider): update to commit e997280 2025-06-05 07:24:27 +00:00
Baptiste Augrain
7faa9a9a92 build(stable): update to commit 258e40f 2025-06-03 18:17:36 +00:00
Baptiste Augrain
40e0612320 build(insider): update to commit 8020398 2025-06-02 07:21:42 +00:00
Baptiste Augrain
2b4b1ef94e build(insider): update to commit 1b4b2f8 2025-05-30 07:26:29 +00:00
Baptiste Augrain
a8a38988f4 build(insider): update to commit b491282 2025-05-29 07:24:28 +00:00
Marco Trevisan
19811fd824 snap: use native wayland client when possible (#2386) 2025-05-27 16:25:29 +02:00
Baptiste Augrain
be711f4223 fix(1.101): update patch 2025-05-27 15:48:35 +02:00
Baptiste Augrain
0a6c00edaf build(insider): update to commit 747d0bd 2025-05-24 07:21:52 +00:00
Baptiste Augrain
f16b836998 fix(snap): disable review for Insiders [skip ci] 2025-05-24 00:55:15 +02:00
Baptiste Augrain
bdee794538 fix(snap): remove mesa 2025-05-23 22:33:47 +02:00
Baptiste Augrain
dd046b275e fix(snap): remove suffix when sorting [skip ci] 2025-05-23 15:03:11 +02:00
Baptiste Augrain
18904d2319 fix: cli checks [skip ci] 2025-05-23 13:11:56 +02:00
Baptiste Augrain
f35cd2e4f9 feat(1.101): use node-v22.14.0 and update patches (#2387) 2025-05-23 03:16:28 +02:00
Baptiste Augrain
9e38904cc5 Merge branch 'master' into insider 2025-05-23 00:57:28 +02:00
Levi Zim
f8462bb0a4 fix(riscv): lower glibc version to 2.31 for ripgrep (#2376) 2025-05-19 11:04:03 +02:00
Baptiste Augrain
0fdce0c326 build(stable): update to commit 848b80a 2025-05-15 18:19:28 +00:00
Baptiste Augrain
efd176d43d fix(snap): sort with number map instead of string (#2373) 2025-05-14 20:32:07 +02:00
Baptiste Augrain
b1de0f1293 build(stable): update to commit 91fa95b 2025-05-13 18:21:02 +00:00
Baptiste Augrain
670a5ae8a6 docs: add new announcement 2025-05-13 00:49:37 +02:00
Baptiste Augrain
7ef31896fd docs: typo 2025-05-13 00:37:58 +02:00
Baptiste Augrain
d3ac1bf13d docs: add useful extensions for managing settings/extensions 2025-05-12 23:45:14 +02:00
Baptiste Augrain
e05bc77aff docs: rewrite sections 2025-05-12 11:55:41 +02:00
Tiagoquix
bc889a5b62 docs: update telemetry (#2361)
Add feedback preference to "Additional Privacy Settings" section.
2025-05-09 11:56:18 +02:00
Baptiste Augrain
ab40f02ad6 build(insider): update to commit 19e0f9e 2025-05-08 07:22:58 +00:00
Baptiste Augrain
db5536f14a build(insider): update to commit abe4aab 2025-05-07 07:21:59 +00:00
Baptiste Augrain
61005f975b fix: update electron 2025-05-07 03:52:25 +02:00
Baptiste Augrain
6931eea602 build(insider): update to commit 2ca71a1 2025-05-06 21:07:59 +00:00
Baptiste Augrain
138b7979b4 fix: update electron (#2356) 2025-05-06 22:04:03 +02:00
Baptiste Augrain
dbb1e6f852 build(insider): update to commit d04f348 2025-05-06 07:22:33 +00:00
Baptiste Augrain
6c61163651 build(insider): update to commit 59f9878 2025-05-05 07:23:33 +00:00
Baptiste Augrain
92b23ab7ed fix(1.100): update patches 2025-05-03 11:47:59 +02:00
Baptiste Augrain
8f961b9288 fix(1.100): update patch 2025-05-01 11:44:23 +02:00
Baptiste Augrain
8d01927a20 fix: don't add extra insider to serverDownloadUrlTemplate (#2354) 2025-05-01 02:08:27 +02:00
Baptiste Augrain
96d4cb9597 build(insider): update to commit ecbbe26 2025-04-29 07:26:21 +00:00
Baptiste Augrain
73d25f45c2 fix: typo [skip ci] 2025-04-28 15:11:10 +02:00
Baptiste Augrain
dd1773b631 fix: replacement typo 2025-04-28 14:03:15 +02:00
Baptiste Augrain
f7f40b9f63 fix: update patch 2025-04-28 11:51:47 +02:00
darkyzhou
ec8648f4bc fix(reh): use correct ripgrep.sh path (#2348) 2025-04-28 11:30:12 +02:00
Baptiste Augrain
100f4c0288 fix: no cli for smo arch and update release notes 2025-04-26 18:15:37 +02:00
Baptiste Augrain
5fb0752690 feat: add release notes to Insiders (#2347) 2025-04-26 14:22:23 +02:00
Baptiste Augrain
08ebe04167 feat: package cli (#2346) 2025-04-26 11:02:29 +02:00
Baptiste Augrain
7f17b5ca0e fix(1.100): update patches and use node 20.19 (#2345) 2025-04-26 03:50:42 +02:00
Baptiste Augrain
b2ed4911fa build(insider): update to commit ef9b85d 2025-04-22 07:19:36 +00:00
Baptiste Augrain
345324bd68 fix(1.100): update patch 2025-04-21 00:09:51 +02:00
Baptiste Augrain
a4f7e8e0e7 fix: add property to disable extra connection (#2335) 2025-04-20 23:58:17 +02:00
Baptiste Augrain
86336a51f4 fix(extension): only pass VSCode's version (#2334) 2025-04-20 22:48:11 +02:00
Baptiste Augrain
4401ea9121 build(insider): update to commit 942d11f 2025-04-16 07:19:50 +00:00
Baptiste Augrain
8049c398bf build(insider): update to commit c73f020 2025-04-15 07:19:26 +00:00
Baptiste Augrain
a87892cee2 feat: disable chat by default (#2327) 2025-04-15 01:29:02 +02:00
Baptiste Augrain
7d98a96494 fix(1.100): update patches 2025-04-14 23:59:47 +02:00
Baptiste Augrain
fa8e51dc0d fix: specify gcc version in sysroot (#2325) 2025-04-14 02:19:18 +02:00
Baptiste Augrain
bd89e61489 fix(1.100): update patch 2025-04-12 21:23:51 +02:00
Baptiste Augrain
1ddbacad96 fix(1.100): update patch 2025-04-12 21:17:07 +02:00
Baptiste Augrain
479e3d8769 feat(linux): allow update check (#2324) 2025-04-12 18:16:15 +02:00
Baptiste Augrain
68a1ef4416 fix(ci): add variables to only ci [skip ci] 2025-04-09 16:14:21 +02:00
Baptiste Augrain
32aec3155b fix(cli): use explicit urls (#2319) 2025-04-09 12:31:57 +02:00
Baptiste Augrain
f9c35a6d6e fix(cli): fix windows' update url (#2318) 2025-04-09 02:04:32 +02:00
Baptiste Augrain
c6ab439c07 fix: build cli with prebuilt openssl (#2316) 2025-04-09 00:10:34 +02:00
Baptiste Augrain
b8126f6313 build(insider): update to commit 58c1e2e 2025-04-08 07:19:44 +00:00
Baptiste Augrain
83a701c025 feat: cli binary (#2313) 2025-04-07 16:24:12 +02:00
Baptiste Augrain
f3959bd08b fix: publish version for all archs (#2315) 2025-04-07 16:23:31 +02:00
Baptiste Augrain
c05116e677 feat: rebrand reh-web resources (#2314) 2025-04-07 16:03:43 +02:00
Baptiste Augrain
e93c8cd217 feat(1.100): update patch (#2310) 2025-04-06 02:27:49 +02:00
74 changed files with 1262 additions and 900 deletions

View File

@@ -48,7 +48,7 @@ jobs:
SHOULD_DEPLOY: ${{ env.SHOULD_DEPLOY }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
ref: ${{ env.GITHUB_BRANCH }}
@@ -85,7 +85,7 @@ jobs:
BUILD_SOURCEVERSION: ${{ env.BUILD_SOURCEVERSION }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
ref: ${{ env.GITHUB_BRANCH }}
if: env.SHOULD_BUILD == 'yes'
@@ -102,13 +102,13 @@ jobs:
platform: x64
- name: Setup Node.js environment
uses: actions/setup-node@v4
uses: actions/setup-node@v5
with:
node-version: '20.19.0'
node-version-file: '.nvmrc'
if: env.SHOULD_BUILD == 'yes'
- name: Setup Python 3
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: '3.11'
if: env.SHOULD_BUILD == 'yes'
@@ -194,7 +194,7 @@ jobs:
SHOULD_DEPLOY: ${{ env.SHOULD_DEPLOY }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
ref: ${{ env.GITHUB_BRANCH }}
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes'
@@ -206,7 +206,7 @@ jobs:
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes'
- name: Install GH
run: ./install_gh.sh
run: ./build/linux/install_gh.sh
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
- name: Check existing VSCodium tags/releases
@@ -225,7 +225,7 @@ jobs:
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes'
- name: Download vscode artifact
uses: actions/download-artifact@v4
uses: actions/download-artifact@v5
with:
name: vscode
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes'
@@ -309,7 +309,7 @@ jobs:
if: needs.check.outputs.SHOULD_BUILD == 'yes' || github.event.inputs.generate_assets == 'true'
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
ref: ${{ env.GITHUB_BRANCH }}
if: env.DISABLED != 'yes'
@@ -328,13 +328,13 @@ jobs:
if: env.DISABLED != 'yes'
- name: Setup Node.js environment
uses: actions/setup-node@v4
uses: actions/setup-node@v5
with:
node-version: '20.19.0'
node-version-file: '.nvmrc'
if: env.DISABLED != 'yes'
- name: Setup Python 3
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: '3.11'
if: env.DISABLED != 'yes'
@@ -344,7 +344,7 @@ jobs:
if: env.DISABLED != 'yes'
- name: Install GH
run: ./install_gh.sh
run: ./build/linux/install_gh.sh
if: env.DISABLED != 'yes' && env.SHOULD_DEPLOY == 'yes'
- name: Check existing VSCodium tags/releases
@@ -355,7 +355,7 @@ jobs:
if: env.DISABLED != 'yes'
- name: Download vscode artifact
uses: actions/download-artifact@v4
uses: actions/download-artifact@v5
with:
name: vscode
if: env.DISABLED != 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no' || github.event.inputs.generate_assets == 'true')
@@ -410,7 +410,7 @@ jobs:
if: needs.check.outputs.SHOULD_BUILD == 'yes' || github.event.inputs.generate_assets == 'true'
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
ref: ${{ env.GITHUB_BRANCH }}
@@ -426,7 +426,7 @@ jobs:
platform: x64
- name: Install GH
run: ./install_gh.sh
run: ./build/linux/install_gh.sh
if: env.SHOULD_DEPLOY == 'yes'
- name: Check existing VSCodium tags/releases
@@ -440,7 +440,7 @@ jobs:
if: env.SHOULD_BUILD == 'yes'
- name: Download vscode artifact
uses: actions/download-artifact@v4
uses: actions/download-artifact@v5
with:
name: vscode
if: env.DISABLED != 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no' || github.event.inputs.generate_assets == 'true')
@@ -512,7 +512,7 @@ jobs:
if: needs.check.outputs.SHOULD_DEPLOY == 'yes' && needs.check.outputs.SHOULD_BUILD_SNAP != 'no' && vars.DISABLE_INSIDER_SNAP != 'yes'
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
ref: ${{ env.GITHUB_BRANCH }}
@@ -529,10 +529,10 @@ jobs:
architecture: ${{ matrix.platform }}
id: build
- uses: diddlesnaps/snapcraft-review-action@v1
with:
snap: ${{ steps.build.outputs.snap }}
isClassic: 'true'
# - uses: diddlesnaps/snapcraft-review-action@v1
# with:
# snap: ${{ steps.build.outputs.snap }}
# isClassic: 'true'
- uses: svenstaro/upload-release-action@v2
with:

View File

@@ -50,7 +50,7 @@ jobs:
vscode_arch: arm64
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
ref: ${{ env.GITHUB_BRANCH }}
@@ -60,12 +60,12 @@ jobs:
run: . get_pr.sh
- name: Setup Node.js environment
uses: actions/setup-node@v4
uses: actions/setup-node@v5
with:
node-version: '20.19.0'
node-version-file: '.nvmrc'
- name: Setup Python 3
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: '3.11'
if: env.VSCODE_ARCH == 'x64'

View File

@@ -34,14 +34,14 @@ jobs:
VSCODE_QUALITY: insider
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
ref: insider
- name: Setup Node.js environment
uses: actions/setup-node@v4
uses: actions/setup-node@v5
with:
node-version: '20.19.0'
node-version-file: '.nvmrc'
- name: Clone VSCode repo
run: . get_repo.sh

View File

@@ -46,7 +46,7 @@ jobs:
SHOULD_DEPLOY: ${{ env.SHOULD_DEPLOY }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
ref: ${{ env.GITHUB_BRANCH }}
@@ -83,7 +83,7 @@ jobs:
BUILD_SOURCEVERSION: ${{ env.BUILD_SOURCEVERSION }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
ref: ${{ env.GITHUB_BRANCH }}
if: env.SHOULD_BUILD == 'yes'
@@ -100,13 +100,13 @@ jobs:
platform: x64
- name: Setup Node.js environment
uses: actions/setup-node@v4
uses: actions/setup-node@v5
with:
node-version: '20.19.0'
node-version-file: '.nvmrc'
if: env.SHOULD_BUILD == 'yes'
- name: Setup Python 3
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: '3.11'
if: env.SHOULD_BUILD == 'yes'
@@ -146,7 +146,7 @@ jobs:
needs:
- check
- compile
runs-on: windows-2019
runs-on: windows-2022
strategy:
fail-fast: false
matrix:
@@ -169,7 +169,7 @@ jobs:
SHOULD_DEPLOY: ${{ env.SHOULD_DEPLOY }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
ref: ${{ env.GITHUB_BRANCH }}
if: env.SHOULD_BUILD == 'yes'
@@ -181,13 +181,13 @@ jobs:
if: env.SHOULD_BUILD == 'yes'
- name: Setup Node.js environment
uses: actions/setup-node@v4
uses: actions/setup-node@v5
with:
node-version: '20.19.0'
node-version-file: '.nvmrc'
if: env.SHOULD_BUILD == 'yes'
- name: Setup Python 3
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: '3.11'
if: env.SHOULD_BUILD == 'yes'
@@ -200,7 +200,7 @@ jobs:
if: env.SHOULD_BUILD == 'yes'
- name: Download vscode artifact
uses: actions/download-artifact@v4
uses: actions/download-artifact@v5
with:
name: vscode
if: env.SHOULD_BUILD == 'yes'
@@ -272,7 +272,7 @@ jobs:
winget:
needs: build
runs-on: windows-latest
runs-on: windows-2022
defaults:
run:
shell: bash
@@ -282,7 +282,7 @@ jobs:
if: needs.build.outputs.SHOULD_DEPLOY == 'yes'
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
ref: ${{ env.GITHUB_BRANCH }}

View File

@@ -47,7 +47,7 @@ jobs:
SHOULD_DEPLOY: ${{ env.SHOULD_DEPLOY }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
ref: ${{ env.GITHUB_BRANCH }}
@@ -84,7 +84,7 @@ jobs:
BUILD_SOURCEVERSION: ${{ env.BUILD_SOURCEVERSION }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
ref: ${{ env.GITHUB_BRANCH }}
if: env.SHOULD_BUILD == 'yes'
@@ -103,13 +103,13 @@ jobs:
if: env.SHOULD_BUILD == 'yes'
- name: Setup Node.js environment
uses: actions/setup-node@v4
uses: actions/setup-node@v5
with:
node-version: '20.19.0'
node-version-file: '.nvmrc'
if: env.SHOULD_BUILD == 'yes'
- name: Setup Python 3
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: '3.11'
if: env.SHOULD_BUILD == 'yes'
@@ -195,7 +195,7 @@ jobs:
SHOULD_DEPLOY: ${{ env.SHOULD_DEPLOY }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
ref: ${{ env.GITHUB_BRANCH }}
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes'
@@ -207,7 +207,7 @@ jobs:
if: env.DISABLED != 'yes'
- name: Install GH
run: ./install_gh.sh
run: ./build/linux/install_gh.sh
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
- name: Check existing VSCodium tags/releases
@@ -226,7 +226,7 @@ jobs:
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes'
- name: Download vscode artifact
uses: actions/download-artifact@v4
uses: actions/download-artifact@v5
with:
name: vscode
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes'
@@ -310,7 +310,7 @@ jobs:
if: needs.check.outputs.SHOULD_BUILD == 'yes' || github.event.inputs.generate_assets == 'true'
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
ref: ${{ env.GITHUB_BRANCH }}
if: env.DISABLED != 'yes'
@@ -329,13 +329,13 @@ jobs:
if: env.DISABLED != 'yes'
- name: Setup Node.js environment
uses: actions/setup-node@v4
uses: actions/setup-node@v5
with:
node-version: '20.19.0'
node-version-file: '.nvmrc'
if: env.DISABLED != 'yes'
- name: Setup Python 3
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: '3.11'
if: env.DISABLED != 'yes'
@@ -345,7 +345,7 @@ jobs:
if: env.DISABLED != 'yes'
- name: Install GH
run: ./install_gh.sh
run: ./build/linux/install_gh.sh
if: env.DISABLED != 'yes' && env.SHOULD_DEPLOY == 'yes'
- name: Check existing VSCodium tags/releases
@@ -356,7 +356,7 @@ jobs:
if: env.DISABLED != 'yes'
- name: Download vscode artifact
uses: actions/download-artifact@v4
uses: actions/download-artifact@v5
with:
name: vscode
if: env.DISABLED != 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no' || github.event.inputs.generate_assets == 'true')
@@ -411,7 +411,7 @@ jobs:
if: needs.check.outputs.SHOULD_BUILD == 'yes' || github.event.inputs.generate_assets == 'true'
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
ref: ${{ env.GITHUB_BRANCH }}
@@ -427,7 +427,7 @@ jobs:
platform: x64
- name: Install GH
run: ./install_gh.sh
run: ./build/linux/install_gh.sh
if: env.SHOULD_DEPLOY == 'yes'
- name: Check existing VSCodium tags/releases
@@ -441,7 +441,7 @@ jobs:
if: env.SHOULD_BUILD == 'yes'
- name: Download vscode artifact
uses: actions/download-artifact@v4
uses: actions/download-artifact@v5
with:
name: vscode
if: env.DISABLED != 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no' || github.event.inputs.generate_assets == 'true')
@@ -510,7 +510,7 @@ jobs:
if: needs.check.outputs.SHOULD_DEPLOY == 'yes' && needs.check.outputs.SHOULD_BUILD_SNAP != 'no' && vars.DISABLE_STABLE_SNAP != 'yes'
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
ref: ${{ env.GITHUB_BRANCH }}

View File

@@ -49,7 +49,7 @@ jobs:
vscode_arch: arm64
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
ref: ${{ env.GITHUB_BRANCH }}
@@ -59,12 +59,12 @@ jobs:
run: . get_pr.sh
- name: Setup Node.js environment
uses: actions/setup-node@v4
uses: actions/setup-node@v5
with:
node-version: '20.19.0'
node-version-file: '.nvmrc'
- name: Setup Python 3
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: '3.11'
if: env.VSCODE_ARCH == 'x64'

View File

@@ -31,12 +31,12 @@ jobs:
VSCODE_QUALITY: stable
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- name: Setup Node.js environment
uses: actions/setup-node@v4
uses: actions/setup-node@v5
with:
node-version: '20.19.0'
node-version-file: '.nvmrc'
- name: Clone VSCode repo
run: . get_repo.sh

View File

@@ -45,7 +45,7 @@ jobs:
SHOULD_DEPLOY: ${{ env.SHOULD_DEPLOY }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
ref: ${{ env.GITHUB_BRANCH }}
@@ -82,7 +82,7 @@ jobs:
BUILD_SOURCEVERSION: ${{ env.BUILD_SOURCEVERSION }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
ref: ${{ env.GITHUB_BRANCH }}
if: env.SHOULD_BUILD == 'yes'
@@ -99,13 +99,13 @@ jobs:
platform: x64
- name: Setup Node.js environment
uses: actions/setup-node@v4
uses: actions/setup-node@v5
with:
node-version: '20.19.0'
node-version-file: '.nvmrc'
if: env.SHOULD_BUILD == 'yes'
- name: Setup Python 3
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: '3.11'
if: env.SHOULD_BUILD == 'yes'
@@ -145,7 +145,7 @@ jobs:
needs:
- check
- compile
runs-on: windows-2019
runs-on: windows-2022
strategy:
fail-fast: false
matrix:
@@ -168,7 +168,7 @@ jobs:
SHOULD_DEPLOY: ${{ env.SHOULD_DEPLOY }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
ref: ${{ env.GITHUB_BRANCH }}
if: env.SHOULD_BUILD == 'yes'
@@ -180,13 +180,13 @@ jobs:
if: env.SHOULD_BUILD == 'yes'
- name: Setup Node.js environment
uses: actions/setup-node@v4
uses: actions/setup-node@v5
with:
node-version: '20.19.0'
node-version-file: '.nvmrc'
if: env.SHOULD_BUILD == 'yes'
- name: Setup Python 3
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: '3.11'
if: env.SHOULD_BUILD == 'yes'
@@ -199,7 +199,7 @@ jobs:
if: env.SHOULD_BUILD == 'yes'
- name: Download vscode artifact
uses: actions/download-artifact@v4
uses: actions/download-artifact@v5
with:
name: vscode
if: env.SHOULD_BUILD == 'yes'
@@ -237,8 +237,8 @@ jobs:
github-artifact-id: ${{ steps.upload-unsigned-artifacts.outputs.artifact-id }}
artifact-configuration-slug: ${{ matrix.vscode_arch }}
wait-for-completion: true
# 3h to manually approve the request
wait-for-completion-timeout-in-seconds: 10800
# 8h to manually approve the request
wait-for-completion-timeout-in-seconds: 28800
output-artifact-directory: assets/
if: env.SHOULD_BUILD == 'yes' && (env.SHOULD_DEPLOY == 'yes' || github.event.inputs.generate_assets == 'true')
@@ -270,7 +270,7 @@ jobs:
winget:
needs: build
runs-on: windows-latest
runs-on: windows-2022
defaults:
run:
shell: bash
@@ -279,7 +279,7 @@ jobs:
if: needs.build.outputs.SHOULD_DEPLOY == 'yes'
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
ref: ${{ env.GITHUB_BRANCH }}

View File

@@ -11,7 +11,7 @@ jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v9
- uses: actions/stale@v10
with:
days-before-stale: 180
days-before-close: 30

2
.nvmrc
View File

@@ -1 +1 @@
20.19.0
22.18.0

View File

@@ -59,8 +59,6 @@ brew install --cask vscodium
brew install --cask vscodium@insiders
```
*Note for macOS users: if you can't open the App, please read [the following troubleshooting](https://github.com/VSCodium/vscodium/blob/master/docs/troubleshooting.md#macos).*
#### <a id="install-with-winget"></a>Install with Windows Package Manager (WinGet)
If you use Windows and have [Windows Package Manager](https://github.com/microsoft/winget-cli) installed:
@@ -169,7 +167,7 @@ If you have any issue, please check [the Troubleshooting page](https://github.co
According to the Visual Studio Marketplace [Terms of Use](https://aka.ms/vsmarketplace-ToU), _you may only install and use Marketplace Offerings with Visual Studio Products and Services._ For this reason, VSCodium uses [open-vsx.org](https://open-vsx.org/), an open source registry for Visual Studio Code extensions. See the [Extensions + Marketplace](https://github.com/VSCodium/vscodium/blob/master/docs/index.md#extensions-marketplace) section on the Docs page for more details.
Please note that some Visual Studio Code extensions have licenses that restrict their use to the official Visual Studio Code builds and therefore do not work with VSCodium. See [this note](https://github.com/VSCodium/vscodium/blob/master/docs/index.md#proprietary-debugging-tools) on the Docs page for what's been found so far and possible workarounds.
Please note that some Visual Studio Code extensions have licenses that restrict their use to the official Visual Studio Code builds and therefore do not work with VSCodium. See [this note](https://github.com/VSCodium/vscodium/blob/master/docs/extensions.md#proprietary-debugging-tools) on the Docs page for what's been found so far and possible workarounds.
### How are the VSCodium binaries built?

View File

@@ -1,7 +1,2 @@
[
{
"id": "#1227",
"title": "Issue(macOS): manual update to `1.90.x`",
"url": "https://github.com/VSCodium/vscodium/issues/1917"
}
]

View File

@@ -23,6 +23,9 @@ if [[ "${SHOULD_BUILD}" == "yes" ]]; then
npm run gulp minify-vscode
if [[ "${OS_NAME}" == "osx" ]]; then
# remove win32 node modules
rm -f .build/extensions/ms-vscode.js-debug/src/win32-app-container-tokens.*.node
# generate Group Policy definitions
node build/lib/policies darwin
@@ -53,6 +56,9 @@ if [[ "${SHOULD_BUILD}" == "yes" ]]; then
VSCODE_PLATFORM="win32"
else # linux
# remove win32 node modules
rm -f .build/extensions/ms-vscode.js-debug/src/win32-app-container-tokens.*.node
# in CI, packaging will be done by a different job
if [[ "${CI_BUILD}" == "no" ]]; then
npm run gulp "vscode-linux-${VSCODE_ARCH}-min-ci"

View File

@@ -34,7 +34,7 @@ fi
for i in {1..5}; do # try 5 times
npm ci && break
if [[ $i == 3 ]]; then
if [[ $i == 5 ]]; then
echo "Npm install failed too many times" >&2
exit 1
fi

32
build/linux/install_gh.sh Executable file
View File

@@ -0,0 +1,32 @@
#!/usr/bin/env bash
set -ex
GH_ARCH="amd64"
for i in {1..5}; do
TAG=$( curl --retry 12 --retry-delay 30 "https://api.github.com/repos/cli/cli/releases/latest" 2>/dev/null | jq --raw-output '.tag_name' )
if [[ $? == 0 && "${TAG}" != "null" ]]; then
break
fi
if [[ $i == 5 ]]; then
echo "GH install failed too many times" >&2
exit 1
fi
echo "GH install failed $i, trying again..."
sleep $(( 15 * (i + 1)))
done
VERSION="${TAG#v}"
curl --retry 12 --retry-delay 120 -sSL "https://github.com/cli/cli/releases/download/${TAG}/gh_${VERSION}_linux_${GH_ARCH}.tar.gz" -o "gh_${VERSION}_linux_${GH_ARCH}.tar.gz"
tar xf "gh_${VERSION}_linux_${GH_ARCH}.tar.gz"
cp "gh_${VERSION}_linux_${GH_ARCH}/bin/gh" /usr/local/bin/
gh --version

13
build/linux/install_nodejs.sh Executable file
View File

@@ -0,0 +1,13 @@
#!/usr/bin/env bash
set -ex
NODEJS_VERSION=$( cat .nvmrc )
curl -fsSL "${NODEJS_SITE}${NODEJS_URLROOT}/v${NODEJS_VERSION}/node-v${NODEJS_VERSION}-linux-${NODEJS_ARCH}${NODEJS_URLSUFFIX}.tar.xz" -o node.tar.xz
tar -xf node.tar.xz
sudo mv "node-v${NODEJS_VERSION}-linux-${NODEJS_ARCH}${NODEJS_URLSUFFIX}" /usr/local/node
echo "/usr/local/node/bin" >> $GITHUB_PATH

View File

@@ -2,5 +2,5 @@
set -ex
export ELECTRON_VERSION="34.5.4"
export ELECTRON_VERSION="37.2.5"
export VSCODE_ELECTRON_TAG="v${ELECTRON_VERSION}"

View File

@@ -1,10 +1,11 @@
cf8098d286cfb8d64ca430740084b2bd6f0152ee047e244897d94cc9a2df4d3f *chromedriver-v34.5.4-linux-loong64.zip
7e7ea3a5bd29615bfc56ef2ccdd90228c39c6967de31c7181242e82ad50a1828 *electron-v34.5.4-linux-loong64-debug.zip
78d894c1fa02fabae37cf61b8961b7c0d79e9c27078a68c68e299f09b1635ac1 *electron-v34.5.4-linux-loong64-symbols.zip
28fe7821944b42de2065bda356a49d058d190ee02355ac3369f591a1af066252 *electron-v34.5.4-linux-loong64.zip
ae61a77fc547493e8c30f1f52b0e1e9932a163cda261cac3c32fc453d9da8cde *hunspell-dictionaries.zip
0bd2ce3eaa8f79ebf162babeb38fc1c3352bc5398ef442151e9d0f04f29e7416 *libcxx-headers.zip
962b369d4166f43f8130ff16d632c25c5512975015ad74675b62cfdb6189199b *libcxx-objects-v34.5.4-linux-loong64.zip
e468dba6a76ff95d3573ac5a57d4fd97e736663dab44d3c842de1974b9fc7b25 *libcxxabi-headers.zip
4d1e508970b79d782e10e23e261211659dcf6edd6b01029011baf47becb95344 *mksnapshot-v34.5.4-linux-loong64.zip
0d0e7f1de51994c95241b3b6c0ce822a44d6eca45e1981f2e61c1ca6386d5d29 *node-v34.5.4-headers.tar.gz
0bc435a6989f120b1f748cd2f8d3fa7ed731c54a0ad797271e479539dca5c4fe *chromedriver-v37.2.5-linux-loong64.zip
6a355cac6c8b02deb413d024ff3224f03717cc0790e3f5a872891ecf79ade20e *electron-v37.2.5-linux-loong64-debug.zip
c091db1993b2bda5426a678c428c5ffc71af9228abc4891a493a1d318e250b0a *electron-v37.2.5-linux-loong64-symbols.zip
d3f615c3ec265a2adbc0ed9088a65e96aa90b392ecd1ea17e8e4dc82728f4a5d *electron-v37.2.5-linux-loong64.zip
17e05db81f5b0cff1327ac153bd20838b3332b78de1b2ffa235e27a30a15024d *ffmpeg-v37.2.5-linux-loong64.zip
eaf1efb230cd9bfee7acd8b553c602ff396c2f667837e968b4c1d5542448b0b3 *hunspell-dictionaries.zip
3eb8b3199f764c63f82960cb1e1945f70af348873133bf9fd70daeefa3ca1bfb *libcxx-headers.zip
2a5ad06e845d59d89b74a97cd2befcfad02f951f8083f02645a9edbb4e7fdcb7 *libcxx-objects-v37.2.5-linux-loong64.zip
24eec3c74d5a05eba53524866a009e257e52e65257caa8e6fda07b82321885eb *libcxxabi-headers.zip
a4015814d6651cf5511b04307aeef51b739d05eed7ff8ab819739dabd0047309 *mksnapshot-v37.2.5-linux-loong64.zip
d1ed2413e007d7adbcd7291158647cfd4908739b034d021c123ca3d11513c31a *node-v37.2.5-headers.tar.gz

View File

@@ -26,7 +26,6 @@ if [[ "${VSCODE_ARCH}" == "arm64" || "${VSCODE_ARCH}" == "armhf" ]]; then
elif [[ "${VSCODE_ARCH}" == "ppc64le" ]]; then
export VSCODE_SYSROOT_REPOSITORY='VSCodium/vscode-linux-build-agent'
export VSCODE_SYSROOT_VERSION='20240129-253798'
export USE_GNUPP2A=1
export ELECTRON_SKIP_BINARY_DOWNLOAD=1
export PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1
export VSCODE_SKIP_SETUPENV=1
@@ -102,7 +101,7 @@ fi
for i in {1..5}; do # try 5 times
npm ci --prefix build && break
if [[ $i == 3 ]]; then
if [[ $i == 5 ]]; then
echo "Npm install failed too many times" >&2
exit 1
fi
@@ -119,7 +118,7 @@ fi
for i in {1..5}; do # try 5 times
npm ci && break
if [[ $i -eq 3 ]]; then
if [[ $i == 5 ]]; then
echo "Npm install failed too many times" >&2
exit 1
fi

View File

@@ -18,7 +18,7 @@ cd vscode || { echo "'vscode' dir not found"; exit 1; }
GLIBC_VERSION="2.28"
GLIBCXX_VERSION="3.4.26"
NODE_VERSION="20.19.0"
NODE_VERSION="22.15.1"
export VSCODE_NODEJS_URLROOT='/download/release'
export VSCODE_NODEJS_URLSUFFIX=''
@@ -53,7 +53,6 @@ elif [[ "${VSCODE_ARCH}" == "ppc64le" ]]; then
export VSCODE_SYSROOT_REPOSITORY='VSCodium/vscode-linux-build-agent'
export VSCODE_SYSROOT_VERSION='20240129-253798'
export USE_GNUPP2A=1
elif [[ "${VSCODE_ARCH}" == "riscv64" ]]; then
NODE_VERSION="20.16.0"
VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME="vscodium/vscodium-linux-build-agent:focal-devtoolset-riscv64"
@@ -91,7 +90,7 @@ VSCODE_HOST_MOUNT="$( pwd )"
export VSCODE_HOST_MOUNT
export VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME
sed -i "/target/s/\"20.*\"/\"${NODE_VERSION}\"/" remote/.npmrc
sed -i "/target/s/\"22.*\"/\"${NODE_VERSION}\"/" remote/.npmrc
if [[ -d "../patches/linux/reh/" ]]; then
for file in "../patches/linux/reh/"*.patch; do
@@ -136,7 +135,7 @@ cp ../npmrc .npmrc
for i in {1..5}; do # try 5 times
npm ci --prefix build && break
if [[ $i == 3 ]]; then
if [[ $i == 5 ]]; then
echo "Npm install failed too many times" >&2
exit 1
fi
@@ -149,11 +148,19 @@ if [[ -z "${VSCODE_SKIP_SETUPENV}" ]]; then
else
source ./build/azure-pipelines/linux/setup-env.sh
fi
export VSCODE_SYSROOT_DIR="${VSCODE_REMOTE_SYSROOT_DIR}"
else
mkdir -p .build/x86_64-linux-gnu/x86_64-linux-gnu/bin
ln -s $( which objdump ) .build/x86_64-linux-gnu/x86_64-linux-gnu/bin/objdump
export VSCODE_SYSROOT_DIR=".build"
fi
for i in {1..5}; do # try 5 times
npm ci && break
if [[ $i == 3 ]]; then
if [[ $i == 5 ]]; then
echo "Npm install failed too many times" >&2
exit 1
fi
@@ -163,6 +170,23 @@ for i in {1..5}; do # try 5 times
rm -rf node_modules/@vscode node_modules/node-pty
done
if [[ "${VSCODE_ARCH}" == "x64" ]]; then
pushd "remote"
for LIB in @parcel/watcher @vscode/spdlog kerberos node-pty
do
pushd "node_modules/${LIB}"
CXXFLAGS="-D_GLIBCXX_USE_CXX11_ABI=0" npx node-gyp rebuild
popd
done
popd
VERIFY_CXX11=1
fi
mv .npmrc.bak .npmrc
node build/azure-pipelines/distro/mixin-npm
@@ -176,6 +200,10 @@ if [[ "${SHOULD_BUILD_REH}" != "no" ]]; then
EXPECTED_GLIBC_VERSION="${EXPECTED_GLIBC_VERSION}" EXPECTED_GLIBCXX_VERSION="${GLIBCXX_VERSION}" SEARCH_PATH="../vscode-reh-${VSCODE_PLATFORM}-${VSCODE_ARCH}" ./build/azure-pipelines/linux/verify-glibc-requirements.sh
if [[ -n "${VERIFY_CXX11}" ]]; then
SEARCH_PATH="../vscode-reh-${VSCODE_PLATFORM}-${VSCODE_ARCH}" ../build/linux/verify_cxx11_requirements.sh
fi
pushd "../vscode-reh-${VSCODE_PLATFORM}-${VSCODE_ARCH}"
if [[ -f "../build/linux/${VSCODE_ARCH}/ripgrep.sh" ]]; then
@@ -195,6 +223,10 @@ if [[ "${SHOULD_BUILD_REH_WEB}" != "no" ]]; then
EXPECTED_GLIBC_VERSION="${EXPECTED_GLIBC_VERSION}" EXPECTED_GLIBCXX_VERSION="${GLIBCXX_VERSION}" SEARCH_PATH="../vscode-reh-web-${VSCODE_PLATFORM}-${VSCODE_ARCH}" ./build/azure-pipelines/linux/verify-glibc-requirements.sh
if [[ -n "${VERIFY_CXX11}" ]]; then
SEARCH_PATH="../vscode-reh-${VSCODE_PLATFORM}-${VSCODE_ARCH}" ../build/linux/verify_cxx11_requirements.sh
fi
pushd "../vscode-reh-web-${VSCODE_PLATFORM}-${VSCODE_ARCH}"
if [[ -f "../build/linux/${VSCODE_ARCH}/ripgrep.sh" ]]; then

View File

@@ -2,5 +2,5 @@
set -ex
export ELECTRON_VERSION="34.5.4"
export ELECTRON_VERSION="37.2.3"
export VSCODE_ELECTRON_TAG="v${ELECTRON_VERSION}"

View File

@@ -1,11 +1,10 @@
2d72c038fc9480f4cb4cbda7bd777bede1a17ef5630dbbc249454e241ce49816 *chromedriver-v34.5.4-linux-ppc64le.zip
bd9e1e1fd6c0d1064fe7d430818bf792e86cd9eb938c099e3d026d88173c0523 *electron-v34.5.4-linux-ppc64le-debug.zip
50ad3382f101aab711e7b25d5a5fa1fec87634c25693c58b583ff745e7ed7631 *electron-v34.5.4-linux-ppc64le-symbols.zip
56fd4eee79448501b00490d6db85656ca76cf7a9878e5d10a77d9835ab5df8d3 *electron-v34.5.4-linux-ppc64le.zip
9a321b11432efca3d64439b1a398911de27c33fab0d6c3458924f5c71088b046 *electron.d.ts
c1bac0958d0a55ed72799a69908006c4982c963d911d095b2da7f8d15500c079 *ffmpeg-v34.5.4-linux-ppc64le.zip
9a5a43f33d8f39eb7f20ceca639cf2051aada59d25784dbc352359588ba2406e *hunspell_dictionaries.zip
43eadf79799f57a6c05c0cdac341ac8a4b2cbe09e3f35fca68130cd4c56f12a4 *libcxx-objects-v34.5.4-linux-ppc64le.zip
2d079f1fffbc87e0c6c75509f45793964fa4b7dab6b083c3b2f7e60efc11f9bd *libcxx_headers.zip
6d36957614559705c882105fbeeb5cd8073d88f450696f993216c71f6f0b694b *libcxxabi_headers.zip
e400bcdf220d028b2e0398da9af0fe2e2635e2c932733295458a4f5cb836bc90 *mksnapshot-v34.5.4-linux-ppc64le.zip
877785ae2383a8a222fa37bda98c148b145931ff8714614aaf330d15d6f92710 *chromedriver-v37.2.3-linux-ppc64le.zip
5ce746efac98a0d83699ef0e03497867ed34d936a268551f26eb2e2972c4d5f5 *electron-v37.2.3-linux-ppc64le-debug.zip
f0ac8a9a9b6c1e330edd53fedaee29699c540691993ace4bb938cdd369895b89 *electron-v37.2.3-linux-ppc64le-symbols.zip
6dc2ac4a8fd4565948ac330be371436d2534aaea633d17ac7743fce8aac42ef0 *electron-v37.2.3-linux-ppc64le.zip
6358a83a03a801d6a85559179e4f12307dee693043ffb26fd40585f369f7db76 *electron.d.ts
25a5ec559f683df305faa9eb082514a9e6dff9f983b7724ddbd82a34bef4890b *hunspell_dictionaries.zip
9da591f8eabbdeba1a51f1b2ec7f2627eaa07d77d0263b6b16abc87a00e2f287 *libcxx-objects-v37.2.3-linux-ppc64le.zip
519a41987f56c133b91affbb13f8fa5331eda9da8750325fae84444532177e02 *libcxx_headers.zip
8607d01b3c828602b3f359458587d5ffa883695756edebf4547aadb0847fdaa9 *libcxxabi_headers.zip
1d40ebef530616b35031333e569247dd265704b496f35ec256220ae081c340c1 *mksnapshot-v37.2.3-linux-ppc64le.zip

View File

@@ -2,5 +2,5 @@
set -ex
export ELECTRON_VERSION="34.5.4"
export ELECTRON_VERSION="37.2.3"
export VSCODE_ELECTRON_TAG="v${ELECTRON_VERSION}.riscv1"

View File

@@ -1,11 +1,11 @@
b4df0c94e2c9472e78b58610882b356c2d44621d6b9de208317f14641337ff7f *chromedriver-v34.5.4-linux-riscv64.zip
aca8846305cb2a89d308b6529feb169d17e2a8a22a7f5cbbb42a884752ef3a83 *electron-v34.5.4-linux-riscv64-debug.tar.zst
69df7d143196fbac6d111648d827a92172f059e268309de7202c0d2122975396 *electron-v34.5.4-linux-riscv64-symbols.tar.zst
792dfffa0985b478d79264a48a855ba9bbe00d1406d82b0e74013186cbb6b84b *electron-v34.5.4-linux-riscv64.zip
898df4e8bc7d96f2e9baf2935f4cc8ecc00acb75aa5efcfac3113ed61bd0415e *ffmpeg-v34.5.4-linux-riscv64.zip
20c9f293ce544af2c0a30f8cecf5428a8001a0b54a874dee37dddcecc4c7c607 *hunspell-dictionaries.zip
2005156efe24662203f83a9e99459bb9f85b9215678b90cdc275b1d47ce72b50 *libcxx-headers.zip
c2b7941916618b9538a72417a2231ec3f4c315e07208e9958f51f7518a786be0 *libcxx-objects-v34.5.4-linux-riscv64.zip
2078a7264654ddf4675a5bade34dee26ad0971480b17899d610e784411968424 *libcxxabi-headers.zip
4255e0bf4b63857f8be2beb4e226240a20e38810190e0c6be6afb2e293f2bd27 *mksnapshot-v34.5.4-linux-riscv64.zip
66e001fec2e77ed97099bcd76d1af40e14b3cbadafea7cb1ef52530610061f96 *node-v34.5.4-headers.tar.gz
bec3076d684af4ab7700f13861c3257dc17198970eb498ff2e388db71f61898e *chromedriver-v37.2.3-linux-riscv64.zip
c670aba1b907ef9cbcdb2dccd742604f897eef4719f7ad46f34925197f7ae208 *electron-v37.2.3-linux-riscv64-debug.tar.zst
3ee5a9d29c611a6c685caa291698c3b5f1041bd11b3726137d41931457d6a113 *electron-v37.2.3-linux-riscv64-symbols.tar.zst
33f16380975b2087308f096e4329639f839c58aa1b9cccbee0a915bf3ed7b976 *electron-v37.2.3-linux-riscv64.zip
0ef484d10dd15bb4b44e5862ff8070ec09d94ca0b7c6b062e88c64fa343e2408 *ffmpeg-v37.2.3-linux-riscv64.zip
218a633300feb50ed57ab751374bac8693615ff192c2437067a4bceef84c9cf8 *hunspell-dictionaries.zip
abe24654e394d057dc2bdea9533fcd1790becb822b53d543165c74470694e818 *libcxx-headers.zip
1e6972b9125d1864f32d0f5d1084cf4ea56f7dd2227505271dde15439942c0e4 *libcxx-objects-v37.2.3-linux-riscv64.zip
55fdbc0fc65e176e50c3492dd50a18c9d23e2bd0e45a00a34118d46ed583a8d0 *libcxxabi-headers.zip
b017a16c8f0d8c8076ec71fba5a043951dd88e4fc7d8e8720906a0b9b4a141aa *mksnapshot-v37.2.3-linux-riscv64.zip
0259b1abf0bc8aedb114bac75aadcbb1860fd13ae32a876702ca8e722581f8b2 *node-v37.2.3-headers.tar.gz

View File

@@ -9,7 +9,7 @@ if [ "$#" -ne 1 ]; then
fi
RG_PATH="$1/@vscode/ripgrep/bin/rg"
RG_VERSION="14.1.1-3"
RG_VERSION="14.1.1-4"
echo "Replacing ripgrep binary with riscv64 one"

View File

@@ -0,0 +1,29 @@
#!/usr/bin/env bash
set -e
FILES=$(
find "${SEARCH_PATH}" -type f -executable -name "node"
find "${SEARCH_PATH}" -name "*.node" -not -path "*prebuilds*" -not -path "*extensions/node_modules/@parcel/watcher*"
)
echo "Verifying requirements for files: ${FILES}"
for FILE in ${FILES}; do
CXXABI_VERSION="0.0.0"
while IFS= read -r LINE; do
VERSION=${LINE#*_}
if [[ $( printf "%s\n%s" "${VERSION}" "${CXXABI_VERSION}" | sort -V | tail -n1 ) == "${VERSION}" ]]; then
CXXABI_VERSION="${VERSION}"
fi
done < <( strings "${FILE}" | grep -i ^CXXABI )
if [[ $( printf "%s\n%s" "${EXPECTED_CXXABI_VERSION}" "${CXXABI_VERSION}" | sort -V | tail -n1 ) == "${EXPECTED_CXXABI_VERSION}" ]]; then
echo "File ${FILE} has dependency on ABI ${CXXABI_VERSION} <= ${EXPECTED_CXXABI_VERSION}"
else
echo "Error: File ${FILE} has dependency on ABI ${CXXABI_VERSION} > ${EXPECTED_CXXABI_VERSION}"
exit 1
fi
done

View File

@@ -0,0 +1,14 @@
#!/usr/bin/env bash
set -e
FILES=$( find "${SEARCH_PATH}" -name "*.node" -not -path "*prebuilds*" -not -path "*extensions/node_modules/@parcel/watcher*" )
echo "Verifying requirements for files: ${FILES}"
for FILE in ${FILES}; do
if [[ -n "$( strings "${FILE}" | grep cxx11 | tail -n1 )" ]]; then
echo "Error: File ${FILE} has dependency on CXX11"
exit 1
fi
done

14
build/windows/appx/build.sh Executable file
View File

@@ -0,0 +1,14 @@
#!/usr/bin/env bash
set -ex
# Add Windows SDK to path
SDK='/C/Program Files (x86)/Windows Kits/10/bin/10.0.26100.0/x64'
export PATH="${SDK}:${PATH}"
APPX_NAME="${BINARY_NAME//-/_}"
makeappx pack /d "../../../VSCode-win32-${VSCODE_ARCH}/appx/manifest" /p "../../../VSCode-win32-${VSCODE_ARCH}/appx/${APPX_NAME}_${VSCODE_ARCH}.appx" /nv
# Remove the raw manifest folder
rm -rf "../../../VSCode-win32-${VSCODE_ARCH}/appx/manifest"

View File

@@ -13,7 +13,7 @@ cd vscode || { echo "'vscode' dir not found"; exit 1; }
for i in {1..5}; do # try 5 times
npm ci && break
if [[ $i -eq 3 ]]; then
if [[ $i == 5 ]]; then
echo "Npm install failed too many times" >&2
exit 1
fi

View File

@@ -288,7 +288,7 @@ elif [[ "${ASSETS}" != "null" ]]; then
export SHOULD_BUILD_APPIMAGE="no"
if [[ -z $( contains "${APP_NAME_LC}-cli-linux-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
if [[ -z $( contains "${APP_NAME_LC}-cli-linux-arm64-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Linux arm64 because we have no CLI archive"
export SHOULD_BUILD="yes"
else
@@ -340,7 +340,7 @@ elif [[ "${ASSETS}" != "null" ]]; then
export SHOULD_BUILD_APPIMAGE="no"
if [[ -z $( contains "${APP_NAME_LC}-cli-linux-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
if [[ -z $( contains "${APP_NAME_LC}-cli-linux-armhf-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Linux arm because we have no CLI archive"
export SHOULD_BUILD="yes"
else
@@ -537,7 +537,7 @@ elif [[ "${ASSETS}" != "null" ]]; then
export SHOULD_BUILD_REH_WEB="no"
fi
if [[ -z $( contains "${APP_NAME_LC}-cli-linux-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
if [[ -z $( contains "${APP_NAME_LC}-cli-linux-x64-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Linux x64 because we have no CLI archive"
export SHOULD_BUILD="yes"
else

View File

@@ -24,12 +24,16 @@ check_file() {
fi
if [[ -f "${1}" ]]; then
git apply --reject "../patches/helper/settings.patch"
git add .
git commit --no-verify -q -m "VSCODIUM HELPER"
echo applying patch: "${1}"
if ! git apply --ignore-whitespace "${1}"; then
echo failed to apply patch "${1}"
git apply --reject "${1}"
git apply --reject "../patches/helper/settings.patch"
read -rp "Press any key when the conflict have been resolved..." -n1 -s
@@ -37,8 +41,9 @@ check_file() {
git add .
git diff --staged -U1 > "${1}"
fi
git add .
git reset -q --hard HEAD
git reset -q --hard HEAD~
fi
}

View File

@@ -9,9 +9,8 @@
- [C/C++](#cc)
- [Python](#python)
- [Remote](#remote)
- [Beyond](#beyond)
## Incompatibility
## <a id="incompatibility"></a>Incompatibility
Most MS extensions are limited to run on only MS products by their license and by running additional checks in their proprietary code.
@@ -25,24 +24,22 @@ Most MS extensions are limited to run on only MS products by their license and b
- [Remote - SSH: Editing Configuration Files](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-ssh-edit)
- [Remote - WSL](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-wsl)
## Replacements
## <a id="replacements"></a>Replacements
The following extensions are functional replacements for incompatible extensions:
### C/C++
### <a id="cc"></a>C/C++
- [clangd](https://open-vsx.org/extension/llvm-vs-code-extensions/vscode-clangd)
- [clangd](https://open-vsx.org/extension/llvm-vs-code-extensions/vscode-clangd) for full featured editing (including IntelliSense)
- [Native Debug](https://open-vsx.org/extension/webfreak/debug) for Debugging with GDB + LLDB
Note that there are many working debugging extensions and specialized ones including for microcontrollers.
### Python
### <a id="python"></a>Python
- [BasedPyright](https://open-vsx.org/extension/detachhead/basedpyright)
### Remote
### <a id="remote"></a>Remote Development
- [Open Remote - SSH](https://open-vsx.org/extension/jeanp413/open-remote-ssh)
> SSH server must be configured with the setting `AllowTcpForwarding yes`.
- [Open Remote - WSL](https://open-vsx.org/extension/jeanp413/open-remote-wsl)
## Beyond
[VSIX Manager](https://github.com/zokugun/vscode-vsix-manager) allows you to be able install extensions from multiple sources.

View File

@@ -11,9 +11,9 @@
- [Visual Studio Marketplace](#visual-studio-marketplace)
- [Proprietary Debugging Tools](#proprietary-debugging-tools)
- [Proprietary Extensions](#proprietary-extensions)
- [Using the "VSIX Manager" Extension](#vsix-manager)
- [Extensions compatibility](https://github.com/VSCodium/vscodium/blob/master/docs/extensions-compatibility.md)
## <a id="marketplace"></a>Marketplace
Being a vscode based editor, VSCodium gets additional features by installing Visual Studio Code extensions.
@@ -106,3 +106,31 @@ Like the debuggers mentioned above, some extensions you may find in the marketpl
```
In some cases, the above change won't help because the extension is hard-coded to only work with the official Visual Studio Code product.
## <a id="vsix-manager"></a>Using the "VSIX Manager" Extension
The [**VSIX Manager**](https://github.com/zokugun/vscode-vsix-manager) extension provides a powerful and user-friendly interface for managing `.vsix` files directly within VSCodium. Its author is the main maintainer of VSCodium ;)
It is particularly beneficial for:
- **Support for Multiple Marketplaces**: Seamlessly install and manage extensions from several marketplaces at the same time, allowing access to a broader range of extensions.
- **Local Files**: Manage a collection of `.vsix` files stored locally.
- **GitHub/Forgejo Release**: Install the extension directly from its GitHub/Forgejo release pages.
- **Fallback Options**
### <a id="use-cases"></a>Use Cases
- Developers working offline can easily manage `.vsix` files.
- Teams can distribute specific versions of extensions across systems.
- Enterprises with restricted environments can maintain control over installed extensions.
- Users can connect to multiple marketplaces and access a wider range of extensions or switch seamlessly between them.
### <a id="marketplace-support"></a>Marketplace Support
The **VSIX Manager** extension supports managing extensions from several marketplaces simultaneously. This feature enables:
- **Access to Diverse Extensions**: Install extensions from different sources like Open VSX or private repositories.
- **Fallback Options**: Ensure extension availability even if one marketplace is temporarily inaccessible.
- **Enterprise Flexibility**: Use private or self-hosted marketplaces alongside public ones to meet security and compliance requirements.
- **Custom Configurations**: Prioritize specific marketplaces for particular needs while keeping access to others.
## [Extensions compatibility](https://github.com/VSCodium/vscodium/blob/master/docs/extensions-compatibility.md)

View File

@@ -23,9 +23,11 @@
- [Visual Studio Marketplace](https://github.com/VSCodium/vscodium/blob/master/docs/extensions.md#visual-studio-marketplace)
- [Proprietary Debugging Tools](https://github.com/VSCodium/vscodium/blob/master/docs/extensions.md#proprietary-debugging-tools)
- [Proprietary Extensions](https://github.com/VSCodium/vscodium/blob/master/docs/extensions.md#proprietary-extensions)
- [Using the "VSIX Manager" Extension](https://github.com/VSCodium/vscodium/blob/master/docs/extensions.md#vsix-manager)
- [Extensions compatibility](https://github.com/VSCodium/vscodium/blob/master/docs/extensions-compatibility.md)
- [Migration](https://github.com/VSCodium/vscodium/blob/master/docs/migration.md)
- [Migrating from Visual Studio Code to VSCodium](https://github.com/VSCodium/vscodium/blob/master/docs/migration.md#migrating)
- [Manual Migration from Visual Studio Code to VSCodium](https://github.com/VSCodium/vscodium/blob/master/docs/migration.md#manual-migration)
- [Semi-Automatic Migration with "Sync Settings" Extension](https://github.com/VSCodium/vscodium/blob/master/docs/migration.md#semi-automatic-migration)
- [Usage](https://github.com/VSCodium/vscodium/blob/master/docs/usage.md)
- [Sign in with GitHub](https://github.com/VSCodium/vscodium/blob/master/docs/usage.md#signin-github)
- [Accounts authentication](https://github.com/VSCodium/vscodium/blob/master/docs/accounts-authentication.md)

View File

@@ -4,11 +4,12 @@
## Table of Contents
- [Migrating from Visual Studio Code to VSCodium](#migrating)
- [Manual Migration from Visual Studio Code to VSCodium](#manual-migration)
- [Semi-Automatic Migration with "Sync Settings" Extension](#semi-automatic-migration)
## <a id="migrating"></a>Migrating from Visual Studio Code to VSCodium
## <a id="manual-migration"></a>Manual Migration from Visual Studio Code to VSCodium
VSCodium (and a freshly cloned copy of vscode built from source) stores its extension files in `~/.vscode-oss`. So if you currently have Visual Studio Code installed, your extensions won't automatically populate. You can reinstall your extensions from the Marketplace in VSCodium, or copy the `extensions` from `~/.vscode/extensions` to `~/.vscode-oss/extensions`.
VSCodium (and a freshly cloned copy of vscode built from source) stores its extension files in `~/.vscode-oss`. So if you currently have Visual Studio Code installed, your extensions won't automatically populate. You can copy the `extensions` from `~/.vscode/extensions` to `~/.vscode-oss/extensions`.
Visual Studio Code stores its `keybindings.json` and `settings.json` file in these locations:
@@ -24,6 +25,30 @@ You can copy these files to the VSCodium user settings folder:
To copy your settings manually:
- In Visual Studio Code, go to Settings (Command+, if on a Mac)
- In Visual Studio Code, go to Settings (`Meta+,`)
- Click the three dots `...` and choose 'Open settings.json'
- Copy the contents of settings.json into the same place in VSCodium
## <a id="semi-automatic-migration"></a>Semi-Automatic Migration with "Sync Settings" Extension
The [**Sync Settings**](https://github.com/zokugun/vscode-sync-settings) extension can simplify the migration process by enabling synchronization of settings, keybindings, extensions, and more between Visual Studio Code and VSCodium. Its author is the main maintainer of VSCodium ;)
The extension is available in the Visual Studio Marketplace, OpenVSX or directly in its GitHub repository.
### Steps:
1. Install the **Sync Settings** extension in both Visual Studio Code and VSCodium.
2. Configure the extension on both Visual Studio Code and VSCodium:
- Open Command Palette (`Meta+Shift+P`).
- Search for `Sync Settings: Open the repository settings` and execute the command.
- Configure the repository
3. Export your current settings from Visual Studio Code:
- Open Command Palette (`Meta+Shift+P`).
- Search for `Sync Settings: Upload (user -> repository)` and execute the command.
4. Import the settings into VSCodium:
- I recommend the setting `"syncSettings.openOutputOnActivity": true,`.
- Open Command Palette (`Meta+Shift+P`).
- Search for `Sync Settings: Download (repository -> user)` and execute the command.
- Wait for all the extensions to be downloaded and installed (follow logs in the `Output` panel) before restarting VSCodium.
This method ensures that all supported configurations are seamlessly transferred.

View File

@@ -1,41 +1,54 @@
<!-- order: 10 -->
# Getting all the Telemetry Out
# Getiing all telemetry out
This page explains how VSCodium handles telemetry and how to ensure your privacy.
This page explains how VSCodium handles telemetry and how it enhances your privacy.
## Table of Contents
## Table of contents
- [Telemetry in VSCodium](#telemetry)
- [Replacements to Microsoft Online Services](#replacements)
- [Checking for Telemetry](#checking)
- [Additional Privacy Settings](#additional-settings)
- [VSCodium Announcements](#announcements)
- [Malicious & Deprecated Extensions](#malicious-extensions)
- [Checking for telemetry](#checking)
- [VSCodium announcements](#announcements)
- [Malicious & deprecated extensions](#malicious-extensions)
## <a id="telemetry"></a>Telemetry in VSCodium
Even though we do not pass the telemetry build flags (and go out of our way to cripple the baked-in telemetry), Microsoft will still track usage by default.
Even though we do not pass the telemetry build flags and go out of our way to cripple the baked-in telemetry, Microsoft still can track usage by default depending on your settings.
We do however set the default `telemetry.enableTelemetry` and `telemetry.enableCrashReporter` values to `false`. You can see those by viewing your VSCodium `settings.json` and searching for `telemetry`.
We disable all the following telemetry-related settings by default to enhance your privacy:
```
telemetry.telemetryLevel
telemetry.enableCrashReporter
telemetry.enableTelemetry
telemetry.editStats.enabled
workbench.enableExperiments
workbench.settings.enableNaturalLanguageSearch
workbench.commandPalette.experimental.enableNaturalLanguageSearch
```
It is also recommended that you review all the settings that "use online services" by following [these instructions](https://code.visualstudio.com/docs/getstarted/telemetry#_managing-online-services). You can use the search filter `@tag:usesOnlineServices` to show such settings and review what to change.
It is also highly recommended that you review all the settings that "use online services" by following [these instructions](https://code.visualstudio.com/docs/getstarted/telemetry#_managing-online-services). The `@tag:usesOnlineServices` filter on the settings page will show that by default:
*Note: on Linux, the app update service (extensions are not affected) is disabled completely even if the `update.mode` preference is configured.*
- Extensions auto check for updates and auto install updates
- Searches within the app are sent to an online service for "natural language processing"
- Updates to the app are fetched in the background
__Please note that some extensions send telemetry data to Microsoft as well. We have no control over this and can only recommend removing the extension.__ _(For example, the C# extension `ms-vscode.csharp` sends tracking data to Microsoft.)_ Be sure to check each extension's settings page to disable its telemetry if applicable.
These can all be disabled.
### Update services
The app periodically fetches connections to check for the latest version and download it to install.
__Please note that some extensions send telemetry data to Microsoft as well. We have no control over this and can only recommend removing the extension.__ _(For example, the C# extension `ms-vscode.csharp` sends tracking data to Microsoft.)_
If you want to prevent such behavior, modify the following preferences:
- `update.mode` -> `manual` (or `none`)
- `update.enableWindowsBackgroundUpdates` -> `false` (only applicable for Microsoft Windows)
### Feedback telemetry
By default, we keep the preference `telemetry.feedback.enabled` enabled. It's used to allow the button `Report Issue...` to be used on the app depending on the context. It does not send any data by having it enabled (other options already cover it). If you want, you can disable this behavior by toggling the preference value.
## <a id="replacements"></a>Replacements to Microsoft Online Services
When searching the `@tag:usesOnlineServices` filter, note that while the "Update: Mode" setting description still says "The updates are fetched from a Microsoft online service", VSCodium's build script [sets the `updateUrl` field](https://github.com/VSCodium/vscodium/blob/master/prepare_vscode.sh#L135) in `product.json` directly to the GitHub page, so enabling that setting won't actually result in any calls to Microsoft online service.
When searching the `@tag:usesOnlineServices` filter, note that while the "Update: Mode" setting description still says "The updates are fetched from a Microsoft online service", VSCodium's build script [sets the `updateUrl` field](https://github.com/VSCodium/vscodium/blob/8cc366bb76d6c0ddb64374f9530b42094646a660/prepare_vscode.sh#L132-L133) in `product.json` directly to the GitHub page, so enabling that setting won't actually result in any calls to the Microsoft online service.
Likewise, while the descriptions for "Extensions: Auto Check Updates" and "Extensions: Auto Update" include the same phrase, VSCodium [replaces](https://github.com/VSCodium/vscodium/blob/master/prepare_vscode.sh#L121) the Visual Studio Marketplace with Open VSX, so these settings won't call Microsoft, either.
Likewise, while the descriptions for "Extensions: Auto Check Updates" and "Extensions: Auto Update" include the same phrase, VSCodium [replaces](https://github.com/VSCodium/vscodium/blob/8cc366bb76d6c0ddb64374f9530b42094646a660/prepare_vscode.sh#L119) the Visual Studio Marketplace with Open VSX, so these settings won't call Microsoft either.
## <a id="checking"></a>Checking for Telemetry
## <a id="checking"></a>Checking for telemetry
If you want to verify that no telemetry is being sent, you can use network monitoring tools like:
@@ -45,28 +58,16 @@ If you want to verify that no telemetry is being sent, you can use network monit
Look for connections to Microsoft domains and telemetry endpoints.
## <a id="additional-settings"></a>Additional Privacy Settings
## <a id="announcements"></a>VSCodium anouncements
For maximum privacy, you can add these settings to your `settings.json`:
The welcome page in VSCodium displays announcements that are fetched via the internet from the project's GitHub repository.
```json
{
"telemetry.enableTelemetry": false,
"telemetry.enableCrashReporter": false,
"update.enableWindowsBackgroundUpdates": false,
"update.mode": "manual",
"workbench.enableExperiments": false,
"workbench.settings.enableNaturalLanguageSearch": false
}
```
If you prefer to disable this feature, you can disable the preference `workbench.welcomePage.extraAnnouncements`.
These settings will disable various telemetry and tracking features.
## <a id="malicious-extensions"></a>Malicious & deprecated extensions
## <a id="announcements"></a>VSCodium Announcements
The definitions for malicious and deprecated extensions are dynamically loaded from the following URL:
https://raw.githubusercontent.com/EclipseFdn/publish-extensions/refs/heads/master/extension-control/extensions.json
On the Welcome page, we do load some announcements from out GitHub repository. You can disable it with the `workbench.welcomePage.extraAnnouncements` setting to `false`.
## <a id="malicious-extensions"></a>Malicious & Deprecated Extensions
The definition for the malicious and deprecated extensions is dynamically load https://raw.githubusercontent.com/EclipseFdn/publish-extensions/refs/heads/master/extension-control/extensions.json.
In the case you don't want any connection, you must set the `extensions.excludeUnsafes` setting to `false`. But it's not recommended.
If you prefer to avoid any external connections, you can disable the preference `extensions.excludeUnsafes`.
However, this is not recommended as it may reduce the safety of your environment.

View File

@@ -6,20 +6,22 @@ set -e
# DEBUG
# set -o xtrace
QUALITY="stable"
COLOR="blue1"
while getopts ":i" opt; do
case "$opt" in
i)
export QUALITY="insider"
export COLOR="orange1"
QUALITY="insider"
[[ -z "${COLOR}" ]] && COLOR="orange1"
;;
*)
;;
esac
done
[[ -z "${COLOR}" ]] && COLOR="blue1"
[[ -z "${QUALITY}" ]] && QUALITY="stable"
[[ -z "${SRC_PREFIX}" ]] && SRC_PREFIX=""
[[ -z "${VSCODE_PREFIX}" ]] && VSCODE_PREFIX=""
check_programs() { # {{{
for arg in "$@"; do
if ! command -v "${arg}" &> /dev/null; then
@@ -31,27 +33,47 @@ check_programs() { # {{{
check_programs "icns2png" "composite" "convert" "png2icns" "icotool" "rsvg-convert" "sed"
. ./utils.sh
. "./${VSCODE_PREFIX}utils.sh"
SRC_PREFIX=""
VSCODE_PREFIX=""
if ! declare -F load_linux_png &>/dev/null; then
load_linux_png() {
wget "https://raw.githubusercontent.com/VSCodium/icons/main/icons/linux/circle1/${COLOR}/paulo22s.png" -O "$1"
}
fi
if ! declare -F load_windows_ico &>/dev/null; then
load_windows_ico() {
wget "https://raw.githubusercontent.com/VSCodium/icons/main/icons/win32/nobg/${COLOR}/paulo22s.ico" -O "$1"
}
fi
build_darwin_main() { # {{{
if [[ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/darwin/code.icns" ]]; then
rsvg-convert -w 655 -h 655 "icons/${QUALITY}/codium_cnl.svg" -o "code_logo.png"
composite "code_logo.png" -gravity center "icons/template_macos.png" "code_1024.png"
mkdir -p "${SRC_PREFIX}src/${QUALITY}/resources/darwin"
if [[ "$1" == "no-template" ]]; then
rsvg-convert -w 1024 -h 1024 "icons/${QUALITY}/codium_cnl.svg" -o "code_1024.png"
else
rsvg-convert -w 655 -h 655 "icons/${QUALITY}/codium_cnl.svg" -o "code_logo.png"
composite "code_logo.png" -gravity center "${VSCODE_PREFIX}icons/template_macos.png" "code_1024.png"
fi
convert "code_1024.png" -resize 512x512 code_512.png
convert "code_1024.png" -resize 256x256 code_256.png
convert "code_1024.png" -resize 128x128 code_128.png
png2icns "${SRC_PREFIX}src/${QUALITY}/resources/darwin/code.icns" code_512.png code_256.png code_128.png
rm code_1024.png code_512.png code_256.png code_128.png code_logo.png
rm -f code_1024.png code_512.png code_256.png code_128.png code_logo.png
fi
} # }}}
build_darwin_types() { # {{{
rsvg-convert -w 128 -h 128 "icons/${QUALITY}/codium_cnl_w80_b8.svg" -o "code_logo.png"
if [[ "$1" == "no-border" ]]; then
rsvg-convert -w 128 -h 128 "icons/${QUALITY}/codium_cnl.svg" -o "code_logo.png"
else
rsvg-convert -w 128 -h 128 "icons/${QUALITY}/codium_cnl_w80_b8.svg" -o "code_logo.png"
fi
for file in "${VSCODE_PREFIX}"vscode/resources/darwin/*; do
if [[ -f "${file}" ]]; then
@@ -60,7 +82,7 @@ build_darwin_types() { # {{{
if [[ "${name}" != 'code' ]] && [[ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/darwin/${name}.icns" ]]; then
icns2png -x -s 512x512 "${file}" -o .
composite -blend 100% -geometry +323+365 "icons/corner_512.png" "${name}_512x512x32.png" "${name}.png"
composite -blend 100% -geometry +323+365 "${VSCODE_PREFIX}icons/corner_512.png" "${name}_512x512x32.png" "${name}.png"
composite -geometry +359+374 "code_logo.png" "${name}.png" "${name}.png"
convert "${name}.png" -resize 256x256 "${name}_256.png"
@@ -77,26 +99,32 @@ build_darwin_types() { # {{{
build_linux_main() { # {{{
if [[ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/linux/code.png" ]]; then
wget "https://raw.githubusercontent.com/VSCodium/icons/main/icons/linux/circle1/${COLOR}/paulo22s.png" -O "${SRC_PREFIX}src/${QUALITY}/resources/linux/code.png"
mkdir -p "${SRC_PREFIX}src/${QUALITY}/resources/linux"
load_linux_png "${SRC_PREFIX}src/${QUALITY}/resources/linux/code.png"
fi
mkdir -p "${SRC_PREFIX}src/${QUALITY}/resources/linux/rpm"
if [[ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/linux/rpm/code.xpm" ]]; then
mkdir -p "${SRC_PREFIX}src/${QUALITY}/resources/linux/rpm"
convert "${SRC_PREFIX}src/${QUALITY}/resources/linux/code.png" "${SRC_PREFIX}src/${QUALITY}/resources/linux/rpm/code.xpm"
fi
} # }}}
build_media() { # {{{
if [[ ! -f "${SRC_PREFIX}src/${QUALITY}/src/vs/workbench/browser/media/code-icon.svg" ]]; then
mkdir -p "${SRC_PREFIX}src/${QUALITY}/src/vs/workbench/browser/media"
cp "icons/${QUALITY}/codium_clt.svg" "${SRC_PREFIX}src/${QUALITY}/src/vs/workbench/browser/media/code-icon.svg"
gsed -i 's|width="100" height="100"|width="1024" height="1024"|' "${SRC_PREFIX}src/${QUALITY}/src/vs/workbench/browser/media/code-icon.svg"
fi
} # }}}
build_server() { # {{{
mkdir -p "${SRC_PREFIX}src/${QUALITY}/resources/server"
if [[ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/server/favicon.ico" ]]; then
wget "https://raw.githubusercontent.com/VSCodium/icons/main/icons/win32/nobg/${COLOR}/paulo22s.ico" -O "${SRC_PREFIX}src/${QUALITY}/resources/server/favicon.ico"
load_windows_ico "${SRC_PREFIX}src/${QUALITY}/resources/server/favicon.ico"
fi
if [[ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/server/code-192.png" ]]; then
@@ -110,7 +138,9 @@ build_server() { # {{{
build_windows_main() { # {{{
if [[ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/win32/code.ico" ]]; then
wget "https://raw.githubusercontent.com/VSCodium/icons/main/icons/win32/nobg/${COLOR}/paulo22s.ico" -O "${SRC_PREFIX}src/${QUALITY}/resources/win32/code.ico"
mkdir -p "${SRC_PREFIX}src/${QUALITY}/resources/win32"
load_windows_ico "${SRC_PREFIX}src/${QUALITY}/resources/win32/code.ico"
fi
} # }}}
@@ -132,12 +162,16 @@ build_windows_type() { # {{{
rsvg-convert -w "${LOGO_SIZE}" -h "${LOGO_SIZE}" "icons/${QUALITY}/codium_cnl.svg" -o "code_logo.png"
composite -gravity "${GRAVITY}" "code_logo.png" "${FILE_PATH}" "${FILE_PATH}"
if [[ "${GRAVITY}" == "center" ]]; then
composite -gravity "${GRAVITY}" "code_logo.png" "${FILE_PATH}" "${FILE_PATH}"
else
composite -gravity NorthWest -geometry "${GRAVITY}" "code_logo.png" "${FILE_PATH}" "${FILE_PATH}"
fi
fi
} # }}}
build_windows_types() { # {{{
mkdir -p "${SRC_PREFIX}src/${QUALITY}/resources/win32"
mkdir -p "${SRC_PREFIX}src/${QUALITY}/resources/win32" "${SRC_PREFIX}build/windows/msi/resources/${QUALITY}"
rsvg-convert -b "#F5F6F7" -w 64 -h 64 "icons/${QUALITY}/codium_cnl.svg" -o "code_logo.png"
@@ -148,11 +182,11 @@ build_windows_types() { # {{{
if [[ "${name}" != 'code' ]] && [[ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/win32/${name}.ico" ]]; then
icotool -x -w 256 "${file}"
composite -geometry +150+185 "code_logo.png" "${name}_9_256x256x32.png" "${name}.png"
composite -geometry +150+185 "code_logo.png" "${name}_1_256x256x32.png" "${name}.png"
convert "${name}.png" -define icon:auto-resize=256,128,96,64,48,32,24,20,16 "${SRC_PREFIX}src/${QUALITY}/resources/win32/${name}.ico"
rm "${name}_9_256x256x32.png" "${name}.png"
rm "${name}_1_256x256x32.png" "${name}.png"
fi
fi
done

View File

@@ -1,16 +0,0 @@
#!/usr/bin/env bash
set -ex
GH_ARCH="amd64"
TAG=$( curl --retry 12 --retry-delay 30 "https://api.github.com/repos/cli/cli/releases/latest" | jq --raw-output '.tag_name' )
VERSION=${TAG#v}
curl --retry 12 --retry-delay 120 -sSL "https://github.com/cli/cli/releases/download/${TAG}/gh_${VERSION}_linux_${GH_ARCH}.tar.gz" -o "gh_${VERSION}_linux_${GH_ARCH}.tar.gz"
tar xf "gh_${VERSION}_linux_${GH_ARCH}.tar.gz"
cp "gh_${VERSION}_linux_${GH_ARCH}/bin/gh" /usr/local/bin/
gh --version

View File

@@ -19,5 +19,5 @@ index e12a33e..9300d62 100644
+
log(`Downloading node.js ${nodeVersion} ${platform} ${arch} from docker image ${imageName}`);
- const contents = cp.execSync(`docker run --rm ${imageName}:${nodeVersion}-alpine /bin/sh -c 'cat \`which node\`'`, { maxBuffer: 100 * 1024 * 1024, encoding: 'buffer' });
+ const contents = cp.execSync(`docker run --rm ${dockerPlatform} ${imageName}:${nodeVersion}-alpine /bin/sh -c 'cat \`which node\`'`, { maxBuffer: 100 * 1024 * 1024, encoding: 'buffer' });
+ const contents = cp.execSync(`docker run --rm ${dockerPlatform} ${imageName}:${nodeVersion}-alpine /bin/sh -c 'cat \`which node\`'`, { maxBuffer: 200 * 1024 * 1024, encoding: 'buffer' });
return es.readArray([new File({ path: 'node', contents, stat: { mode: parseInt('755', 8) } })]);

View File

@@ -73,37 +73,37 @@ index be7eea1..0737bab 100644
+const bumpEngineForImplicitActivationEvents = l10n.t("This activation event can be removed for extensions targeting engine version ^1.75 as !!APP_NAME!! will generate these automatically from your package.json contribution declarations.");
const starActivation = l10n.t("Using '*' activation is usually a bad idea as it impacts performance.");
diff --git a/extensions/git/package.nls.json b/extensions/git/package.nls.json
index 403f704..2f838cd 100644
index 8e2d58e..01218da 100644
--- a/extensions/git/package.nls.json
+++ b/extensions/git/package.nls.json
@@ -228,3 +228,3 @@
@@ -236,3 +236,3 @@
"{Locked='](command:git.showOutput'}",
- "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
+ "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -256,4 +256,4 @@
@@ -264,4 +264,4 @@
"config.showCommitInput": "Controls whether to show the commit input in the Git source control panel.",
- "config.terminalAuthentication": "Controls whether to enable VS Code to be the authentication handler for Git processes spawned in the Integrated Terminal. Note: Terminals need to be restarted to pick up a change in this setting.",
- "config.terminalGitEditor": "Controls whether to enable VS Code to be the Git editor for Git processes spawned in the integrated terminal. Note: Terminals need to be restarted to pick up a change in this setting.",
+ "config.terminalAuthentication": "Controls whether to enable !!APP_NAME!! to be the authentication handler for Git processes spawned in the Integrated Terminal. Note: Terminals need to be restarted to pick up a change in this setting.",
+ "config.terminalGitEditor": "Controls whether to enable !!APP_NAME!! to be the Git editor for Git processes spawned in the integrated terminal. Note: Terminals need to be restarted to pick up a change in this setting.",
"config.timeline.showAuthor": "Controls whether to show the commit author in the Timeline view.",
@@ -324,3 +324,3 @@
@@ -333,3 +333,3 @@
"{Locked='](command:workbench.extensions.search?%22%40category%3A%5C%22scm%20providers%5C%22%22'}",
- "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
+ "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -334,3 +334,3 @@
@@ -343,3 +343,3 @@
"{Locked='](command:workbench.extensions.search?%22%40category%3A%5C%22scm%20providers%5C%22%22'}",
- "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
+ "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -344,3 +344,3 @@
@@ -353,3 +353,3 @@
"{Locked='](command:workbench.extensions.search?%22%40category%3A%5C%22scm%20providers%5C%22%22'}",
- "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
+ "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -356,6 +356,6 @@
@@ -365,6 +365,6 @@
"view.workbench.scm.disabled": {
- "message": "If you would like to use Git features, please enable Git in your [settings](command:workbench.action.openSettings?%5B%22git.enabled%22%5D).\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).",
+ "message": "If you would like to use Git features, please enable Git in your [settings](command:workbench.action.openSettings?%5B%22git.enabled%22%5D).\nTo learn more about how to use Git and source control in !!APP_NAME!! [read our docs](https://aka.ms/vscode-scm).",
@@ -112,7 +112,7 @@ index 403f704..2f838cd 100644
- "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
+ "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -364,6 +364,6 @@
@@ -373,6 +373,6 @@
"view.workbench.scm.empty": {
- "message": "In order to use Git features, you can open a folder containing a Git repository or clone from a URL.\n[Open Folder](command:vscode.openFolder)\n[Clone Repository](command:git.cloneRecursive)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).",
+ "message": "In order to use Git features, you can open a folder containing a Git repository or clone from a URL.\n[Open Folder](command:vscode.openFolder)\n[Clone Repository](command:git.cloneRecursive)\nTo learn more about how to use Git and source control in !!APP_NAME!! [read our docs](https://aka.ms/vscode-scm).",
@@ -121,7 +121,7 @@ index 403f704..2f838cd 100644
- "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
+ "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -372,6 +372,6 @@
@@ -381,6 +381,6 @@
"view.workbench.scm.folder": {
- "message": "The folder currently open doesn't have a Git repository. You can initialize a repository which will enable source control features powered by Git.\n[Initialize Repository](command:git.init?%5Btrue%5D)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).",
+ "message": "The folder currently open doesn't have a Git repository. You can initialize a repository which will enable source control features powered by Git.\n[Initialize Repository](command:git.init?%5Btrue%5D)\nTo learn more about how to use Git and source control in !!APP_NAME!! [read our docs](https://aka.ms/vscode-scm).",
@@ -130,7 +130,7 @@ index 403f704..2f838cd 100644
- "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
+ "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -380,6 +380,6 @@
@@ -389,6 +389,6 @@
"view.workbench.scm.workspace": {
- "message": "The workspace currently open doesn't have any folders containing Git repositories. You can initialize a repository on a folder which will enable source control features powered by Git.\n[Initialize Repository](command:git.init)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).",
+ "message": "The workspace currently open doesn't have any folders containing Git repositories. You can initialize a repository on a folder which will enable source control features powered by Git.\n[Initialize Repository](command:git.init)\nTo learn more about how to use Git and source control in !!APP_NAME!! [read our docs](https://aka.ms/vscode-scm).",
@@ -139,18 +139,13 @@ index 403f704..2f838cd 100644
- "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
+ "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -388,6 +388,6 @@
@@ -397,6 +397,6 @@
"view.workbench.scm.emptyWorkspace": {
- "message": "The workspace currently open doesn't have any folders containing Git repositories.\n[Add Folder to Workspace](command:workbench.action.addRootFolder)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).",
+ "message": "The workspace currently open doesn't have any folders containing Git repositories.\n[Add Folder to Workspace](command:workbench.action.addRootFolder)\nTo learn more about how to use Git and source control in !!APP_NAME!! [read our docs](https://aka.ms/vscode-scm).",
"comment": [
"{Locked='](command:workbench.action.addRootFolder'}",
- "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
+ "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -406,3 +406,3 @@
"{Locked='](command:workbench.action.openSettings?%5B%22git.openRepositoryInParentFolders%22%5D'}",
- "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
+ "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -415,3 +415,3 @@
@@ -158,17 +153,22 @@ index 403f704..2f838cd 100644
- "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
+ "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -423,3 +423,3 @@
@@ -424,3 +424,3 @@
"{Locked='](command:workbench.action.openSettings?%5B%22git.openRepositoryInParentFolders%22%5D'}",
- "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
+ "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -432,3 +432,3 @@
"{Locked='](command:git.manageUnsafeRepositories'}",
- "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
+ "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -431,3 +431,3 @@
@@ -440,3 +440,3 @@
"{Locked='](command:git.manageUnsafeRepositories'}",
- "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
+ "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -436,6 +436,6 @@
@@ -445,6 +445,6 @@
"view.workbench.scm.closedRepository": {
- "message": "A Git repository was found that was previously closed.\n[Reopen Closed Repository](command:git.reopenClosedRepositories)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).",
+ "message": "A Git repository was found that was previously closed.\n[Reopen Closed Repository](command:git.reopenClosedRepositories)\nTo learn more about how to use Git and source control in !!APP_NAME!! [read our docs](https://aka.ms/vscode-scm).",
@@ -177,7 +177,7 @@ index 403f704..2f838cd 100644
- "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
+ "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -444,6 +444,6 @@
@@ -453,6 +453,6 @@
"view.workbench.scm.closedRepositories": {
- "message": "Git repositories were found that were previously closed.\n[Reopen Closed Repositories](command:git.reopenClosedRepositories)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).",
+ "message": "Git repositories were found that were previously closed.\n[Reopen Closed Repositories](command:git.reopenClosedRepositories)\nTo learn more about how to use Git and source control in !!APP_NAME!! [read our docs](https://aka.ms/vscode-scm).",
@@ -186,12 +186,12 @@ index 403f704..2f838cd 100644
- "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
+ "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -455,3 +455,3 @@
@@ -464,3 +464,3 @@
"{Locked='](command:git.clone'}",
- "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
+ "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -459,3 +459,3 @@
@@ -468,3 +468,3 @@
},
- "view.workbench.learnMore": "To learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm)."
+ "view.workbench.learnMore": "To learn more about how to use Git and source control in !!APP_NAME!! [read our docs](https://aka.ms/vscode-scm)."
@@ -232,10 +232,10 @@ index 789a579..12e230e 100644
+ "displayName": "Grunt support for !!APP_NAME!!",
"config.grunt.autoDetect": "Controls enablement of Grunt task detection. Grunt task detection can cause files in any open workspace to be executed.",
diff --git a/extensions/html-language-features/client/src/htmlClient.ts b/extensions/html-language-features/client/src/htmlClient.ts
index 6e66f8d..7c86a69 100644
index 2b0f961..a316a44 100644
--- a/extensions/html-language-features/client/src/htmlClient.ts
+++ b/extensions/html-language-features/client/src/htmlClient.ts
@@ -108,3 +108,3 @@ export async function startClient(context: ExtensionContext, newLanguageClient:
@@ -109,3 +109,3 @@ export async function startClient(context: ExtensionContext, newLanguageClient:
const configure = l10n.t('Configure');
- const res = await window.showInformationMessage(l10n.t('VS Code now has built-in support for auto-renaming tags. Do you want to enable it?'), configure);
+ const res = await window.showInformationMessage(l10n.t('!!APP_NAME!! now has built-in support for auto-renaming tags. Do you want to enable it?'), configure);
@@ -284,7 +284,7 @@ index af6c9d8..36e64cf 100644
+ "json.tracing.desc": "Traces the communication between !!APP_NAME!! and the JSON language server.",
"json.colorDecorators.enable.desc": "Enables or disables color decorators",
diff --git a/extensions/markdown-language-features/package.nls.json b/extensions/markdown-language-features/package.nls.json
index fe98103..ca36e86 100644
index 45df470..0957c55 100644
--- a/extensions/markdown-language-features/package.nls.json
+++ b/extensions/markdown-language-features/package.nls.json
@@ -22,3 +22,3 @@
@@ -334,7 +334,7 @@ index 6701212..c9f9fb2 100644
+ <a href="#" class="open-file-link">${vscode.l10n.t("Open file using !!APP_NAME!!'s standard text/binary editor?")}</a>
</div>
diff --git a/extensions/notebook-renderers/package.json b/extensions/notebook-renderers/package.json
index d6ece35..547202f 100644
index b4a5236..d7e85fc 100644
--- a/extensions/notebook-renderers/package.json
+++ b/extensions/notebook-renderers/package.json
@@ -22,3 +22,3 @@
@@ -352,7 +352,7 @@ index 56a77ff..e9f32d1 100644
+ "displayName": "NPM support for !!APP_NAME!!",
"workspaceTrust": "This extension executes tasks, which require trust to run.",
diff --git a/extensions/swift/syntaxes/swift.tmLanguage.json b/extensions/swift/syntaxes/swift.tmLanguage.json
index 7d6694c..83b2599 100644
index 1d6b18c..20ac362 100644
--- a/extensions/swift/syntaxes/swift.tmLanguage.json
+++ b/extensions/swift/syntaxes/swift.tmLanguage.json
@@ -260,3 +260,3 @@
@@ -361,31 +361,30 @@ index 7d6694c..83b2599 100644
+ "comment": "The simpler (?<=\\bProcess\\.|\\bCommandLine\\.) breaks !!APP_NAME!! / Atom, see https://github.com/textmate/swift.tmbundle/issues/29",
"name": "support.variable.swift",
diff --git a/extensions/typescript-language-features/package.nls.json b/extensions/typescript-language-features/package.nls.json
index 44fa54e..e349c6e 100644
index ceb221b..09fb65f 100644
--- a/extensions/typescript-language-features/package.nls.json
+++ b/extensions/typescript-language-features/package.nls.json
@@ -81,4 +81,4 @@
@@ -80,4 +80,4 @@
"configuration.tsserver.experimental.enableProjectDiagnostics": "Enables project wide error reporting.",
- "typescript.locale": "Sets the locale used to report JavaScript and TypeScript errors. Defaults to use VS Code's locale.",
- "typescript.locale.auto": "Use VS Code's configured display language.",
+ "typescript.locale": "Sets the locale used to report JavaScript and TypeScript errors. Defaults to use !!APP_NAME!!'s locale.",
+ "typescript.locale.auto": "Use !!APP_NAME!!'s configured display language.",
"configuration.implicitProjectConfig.module": "Sets the module system for the program. See more: https://www.typescriptlang.org/tsconfig#module.",
@@ -166,3 +166,3 @@
@@ -164,3 +164,3 @@
"typescript.workspaceSymbols.excludeLibrarySymbols": "Exclude symbols that come from library files in `Go to Symbol in Workspace` results. Requires using TypeScript 5.3+ in the workspace.",
- "typescript.updateImportsOnFileMove.enabled": "Enable/disable automatic updating of import paths when you rename or move a file in VS Code.",
+ "typescript.updateImportsOnFileMove.enabled": "Enable/disable automatic updating of import paths when you rename or move a file in !!APP_NAME!!.",
"typescript.updateImportsOnFileMove.enabled.prompt": "Prompt on each rename.",
@@ -173,6 +173,6 @@
@@ -171,5 +171,5 @@
"configuration.suggest.completeJSDocs": "Enable/disable suggestion to complete JSDoc comments.",
- "configuration.tsserver.useVsCodeWatcher": "Use VS Code's file watchers instead of TypeScript's. Requires using TypeScript 5.4+ in the workspace.",
+ "configuration.tsserver.useVsCodeWatcher": "Use !!APP_NAME!!'s file watchers instead of TypeScript's. Requires using TypeScript 5.4+ in the workspace.",
"configuration.tsserver.useVsCodeWatcher.deprecation": "Please use the `#typescript.tsserver.watchOptions#` setting instead.",
"configuration.tsserver.watchOptions": "Configure which watching strategies should be used to keep track of files and directories.",
- "configuration.tsserver.watchOptions.vscode": "Use VS Code's file watchers instead of TypeScript's. Requires using TypeScript 5.4+ in the workspace.",
+ "configuration.tsserver.watchOptions.vscode": "Use !!APP_NAME!!'s file watchers instead of TypeScript's. Requires using TypeScript 5.4+ in the workspace.",
"configuration.tsserver.watchOptions.watchFile": "Strategy for how individual files are watched.",
@@ -227,6 +227,6 @@
@@ -223,6 +223,6 @@
"configuration.suggest.objectLiteralMethodSnippets.enabled": "Enable/disable snippet completions for methods in object literals.",
- "configuration.tsserver.web.projectWideIntellisense.enabled": "Enable/disable project-wide IntelliSense on web. Requires that VS Code is running in a trusted context.",
+ "configuration.tsserver.web.projectWideIntellisense.enabled": "Enable/disable project-wide IntelliSense on web. Requires that !!APP_NAME!! is running in a trusted context.",
@@ -394,7 +393,7 @@ index 44fa54e..e349c6e 100644
- "configuration.tsserver.nodePath": "Run TS Server on a custom Node installation. This can be a path to a Node executable, or 'node' if you want VS Code to detect a Node installation.",
+ "configuration.tsserver.nodePath": "Run TS Server on a custom Node installation. This can be a path to a Node executable, or 'node' if you want !!APP_NAME!! to detect a Node installation.",
"configuration.updateImportsOnPaste": "Automatically update imports when pasting code. Requires TypeScript 5.6+.",
@@ -242,7 +242,7 @@
@@ -238,7 +238,7 @@
"walkthroughs.nodejsWelcome.debugJsFile.title": "Run and Debug your JavaScript",
- "walkthroughs.nodejsWelcome.debugJsFile.description": "Once you've installed Node.js, you can run JavaScript programs at a terminal by entering ``node your-file-name.js``\nAnother easy way to run Node.js programs is by using VS Code's debugger which lets you run your code, pause at different points, and help you understand what's going on step-by-step.\n[Start Debugging](command:javascript-walkthrough.commands.debugJsFile)",
- "walkthroughs.nodejsWelcome.debugJsFile.altText": "Debug and run your JavaScript code in Node.js with Visual Studio Code.",
@@ -425,10 +424,10 @@ index 239519e..5e58d4d 100644
+ vscode.window.showErrorMessage(vscode.l10n.t("!!APP_NAME!!\'s tsserver was deleted by another application such as a misbehaving virus detection tool. Please reinstall !!APP_NAME!!."));
throw new Error('Could not find bundled tsserver.js');
diff --git a/extensions/typescript-language-features/src/tsconfig.ts b/extensions/typescript-language-features/src/tsconfig.ts
index 01a88a4..1fdc86e 100644
index 9905fd5..62c2e3c 100644
--- a/extensions/typescript-language-features/src/tsconfig.ts
+++ b/extensions/typescript-language-features/src/tsconfig.ts
@@ -155,3 +155,3 @@ export async function openProjectConfigForFile(
@@ -159,3 +159,3 @@ export async function openProjectConfigForFile(
vscode.window.showInformationMessage(
- vscode.l10n.t("Please open a folder in VS Code to use a TypeScript or JavaScript project"));
+ vscode.l10n.t("Please open a folder in !!APP_NAME!! to use a TypeScript or JavaScript project"));
@@ -453,7 +452,7 @@ index 4201d6d..ded6803 100644
+ vscode.l10n.t("The JS/TS language service crashed.\nThis may be caused by a plugin contributed by one of these extensions: {0}.\nPlease try disabling these extensions before filing an issue against !!APP_NAME!!.", pluginExtensionList));
} else {
diff --git a/extensions/vscode-api-tests/package.json b/extensions/vscode-api-tests/package.json
index 0d7f87a..6b72fec 100644
index 28005be..306c04a 100644
--- a/extensions/vscode-api-tests/package.json
+++ b/extensions/vscode-api-tests/package.json
@@ -2,3 +2,3 @@
@@ -462,7 +461,7 @@ index 0d7f87a..6b72fec 100644
+ "description": "API tests for !!APP_NAME!!",
"version": "0.0.1",
diff --git a/extensions/vscode-colorize-tests/package.json b/extensions/vscode-colorize-tests/package.json
index b416aee..3f60c26 100644
index 4959276..41d5ae7 100644
--- a/extensions/vscode-colorize-tests/package.json
+++ b/extensions/vscode-colorize-tests/package.json
@@ -2,3 +2,3 @@
@@ -488,7 +487,7 @@ index 6680753..da1795a 100644
+ "c": "broken highlighting in !!APP_NAME!!",
"t": "source.css.less meta.selector.less meta.group.less meta.property-value.less string.quoted.double.less",
diff --git a/extensions/vscode-test-resolver/package.json b/extensions/vscode-test-resolver/package.json
index 8ab2171..0cd1cfb 100644
index c96c1d5..3288347 100644
--- a/extensions/vscode-test-resolver/package.json
+++ b/extensions/vscode-test-resolver/package.json
@@ -2,3 +2,3 @@
@@ -531,7 +530,7 @@ index a351aa7..c32e3ef 100644
+ throw Error(`Failed to download and unzip !!APP_NAME!! ${quality} - ${commit}`);
}
diff --git a/extensions/vscode-test-resolver/src/extension.ts b/extensions/vscode-test-resolver/src/extension.ts
index 2fab3ec..1195e3d 100644
index 74d25c6..878e228 100644
--- a/extensions/vscode-test-resolver/src/extension.ts
+++ b/extensions/vscode-test-resolver/src/extension.ts
@@ -178,3 +178,3 @@ export function activate(context: vscode.ExtensionContext) {
@@ -540,15 +539,15 @@ index 2fab3ec..1195e3d 100644
+ progress.report({ message: 'Installing !!APP_NAME!! Server' });
serverLocation = await downloadAndUnzipVSCodeServer(updateUrl, commit, quality, serverBin, m => outputChannel.appendLine(m));
diff --git a/src/main.ts b/src/main.ts
index 1af3c94..d1a8ea6 100644
index deba4c4..d661a63 100644
--- a/src/main.ts
+++ b/src/main.ts
@@ -397,3 +397,3 @@ function createDefaultArgvConfigSync(argvConfigPath: string): void {
@@ -408,3 +408,3 @@ function createDefaultArgvConfigSync(argvConfigPath: string): void {
const defaultArgvConfigContent = [
- '// This configuration file allows you to pass permanent command line arguments to VS Code.',
+ '// This configuration file allows you to pass permanent command line arguments to !!APP_NAME!!.',
'// Only a subset of arguments is currently supported to reduce the likelihood of breaking',
@@ -403,6 +403,6 @@ function createDefaultArgvConfigSync(argvConfigPath: string): void {
@@ -414,6 +414,6 @@ function createDefaultArgvConfigSync(argvConfigPath: string): void {
'//',
- '// NOTE: Changing this file requires a restart of VS Code.',
+ '// NOTE: Changing this file requires a restart of !!APP_NAME!!.',
@@ -558,7 +557,7 @@ index 1af3c94..d1a8ea6 100644
+ ' // This can help in cases where you see rendering issues in !!APP_NAME!!.',
' // "disable-hardware-acceleration": true',
diff --git a/src/vs/code/electron-main/app.ts b/src/vs/code/electron-main/app.ts
index 588e1cb..a18f74f 100644
index 9643512..3b5d855 100644
--- a/src/vs/code/electron-main/app.ts
+++ b/src/vs/code/electron-main/app.ts
@@ -526,3 +526,3 @@ export class CodeApplication extends Disposable {
@@ -585,7 +584,7 @@ index c256dba..10a79c8 100644
+export const ProductQualityContext = new RawContextKey<string>('productQualityType', '', localize('productQualityType', "Quality type of !!APP_NAME!!"));
diff --git a/src/vs/platform/extensionManagement/node/extensionManagementService.ts b/src/vs/platform/extensionManagement/node/extensionManagementService.ts
index 0a50a2e..0dacd44 100644
index 0b2e320..a6a37d1 100644
--- a/src/vs/platform/extensionManagement/node/extensionManagementService.ts
+++ b/src/vs/platform/extensionManagement/node/extensionManagementService.ts
@@ -153,3 +153,3 @@ export class ExtensionManagementService extends AbstractExtensionManagementServi
@@ -593,12 +592,12 @@ index 0a50a2e..0dacd44 100644
- throw new Error(nls.localize('incompatible', "Unable to install extension '{0}' as it is not compatible with VS Code '{1}'.", extensionId, this.productService.version));
+ throw new Error(nls.localize('incompatible', "Unable to install extension '{0}' as it is not compatible with !!APP_NAME!! '{1}'.", extensionId, this.productService.version));
}
@@ -1028,3 +1028,3 @@ class InstallExtensionInProfileTask extends AbstractExtensionTask<ILocalExtensio
@@ -1065,3 +1065,3 @@ class InstallExtensionInProfileTask extends AbstractExtensionTask<ILocalExtensio
} catch (e) {
- throw new Error(nls.localize('restartCode', "Please restart VS Code before reinstalling {0}.", this.manifest.displayName || this.manifest.name));
+ throw new Error(nls.localize('restartCode', "Please restart !!APP_NAME!! before reinstalling {0}.", this.manifest.displayName || this.manifest.name));
}
@@ -1039,3 +1039,3 @@ class InstallExtensionInProfileTask extends AbstractExtensionTask<ILocalExtensio
@@ -1076,3 +1076,3 @@ class InstallExtensionInProfileTask extends AbstractExtensionTask<ILocalExtensio
} catch (e) {
- throw new Error(nls.localize('restartCode', "Please restart VS Code before reinstalling {0}.", this.manifest.displayName || this.manifest.name));
+ throw new Error(nls.localize('restartCode', "Please restart !!APP_NAME!! before reinstalling {0}.", this.manifest.displayName || this.manifest.name));
@@ -672,16 +671,16 @@ index 0535ddd..2478997 100644
+ console.error('Unable to connect to !!APP_NAME!! server: ' + message);
console.error(err);
diff --git a/src/vs/workbench/api/browser/mainThreadAuthentication.ts b/src/vs/workbench/api/browser/mainThreadAuthentication.ts
index 6441394..69955cd 100644
index 902230b..8fa914c 100644
--- a/src/vs/workbench/api/browser/mainThreadAuthentication.ts
+++ b/src/vs/workbench/api/browser/mainThreadAuthentication.ts
@@ -334,3 +334,3 @@ export class MainThreadAuthentication extends Disposable implements MainThreadAu
@@ -490,3 +490,3 @@ export class MainThreadAuthentication extends Disposable implements MainThreadAu
owner: 'TylerLeonhardt';
- comment: 'Used to see which extensions are using the VSCode client id override';
+ comment: 'Used to see which extensions are using the !!APP_NAME!! client id override';
extensionId: { classification: 'SystemMetaData'; purpose: 'FeatureInsight'; comment: 'The extension id.' };
diff --git a/src/vs/workbench/api/browser/viewsExtensionPoint.ts b/src/vs/workbench/api/browser/viewsExtensionPoint.ts
index fdf354d..b196297 100644
index 7695758..735d45f 100644
--- a/src/vs/workbench/api/browser/viewsExtensionPoint.ts
+++ b/src/vs/workbench/api/browser/viewsExtensionPoint.ts
@@ -43,3 +43,3 @@ const viewsContainerSchema: IJSONSchema = {
@@ -690,7 +689,7 @@ index fdf354d..b196297 100644
+ description: localize({ key: 'vscode.extension.contributes.views.containers.id', comment: ['Contribution refers to those that an extension contributes to !!APP_NAME!! through an extension/contribution point. '] }, "Unique id used to identify the container in which views can be contributed using 'views' contribution point"),
type: 'string',
diff --git a/src/vs/workbench/api/common/extHostApiCommands.ts b/src/vs/workbench/api/common/extHostApiCommands.ts
index 0dc4986..efbe644 100644
index 436e350..f426464 100644
--- a/src/vs/workbench/api/common/extHostApiCommands.ts
+++ b/src/vs/workbench/api/common/extHostApiCommands.ts
@@ -443,3 +443,3 @@ const newCommands: ApiCommand[] = [
@@ -699,10 +698,10 @@ index 0dc4986..efbe644 100644
+ ApiCommandArgument.String.with('viewId', 'Custom editor view id. This should be the viewType string for custom editors or the notebookType string for notebooks. Use \'default\' to use !!APP_NAME!!\'s default text editor'),
new ApiCommandArgument<vscode.ViewColumn | typeConverters.TextEditorOpenOptions | undefined, [vscode.ViewColumn?, ITextEditorOptions?] | undefined>('columnOrOptions', 'Either the column in which to open or editor options, see vscode.TextDocumentShowOptions',
diff --git a/src/vs/workbench/api/common/extHostCommands.ts b/src/vs/workbench/api/common/extHostCommands.ts
index 0bda2e8..5179ac6 100644
index d914f21..9bca633 100644
--- a/src/vs/workbench/api/common/extHostCommands.ts
+++ b/src/vs/workbench/api/common/extHostCommands.ts
@@ -462,4 +462,4 @@ export class ApiCommandArgument<V, O = V> {
@@ -466,4 +466,4 @@ export class ApiCommandArgument<V, O = V> {
static readonly TypeHierarchyItem = new ApiCommandArgument('item', 'A type hierarchy item', v => v instanceof extHostTypes.TypeHierarchyItem, extHostTypeConverter.TypeHierarchyItem.from);
- static readonly TestItem = new ApiCommandArgument('testItem', 'A VS Code TestItem', v => v instanceof TestItemImpl, extHostTypeConverter.TestItem.from);
- static readonly TestProfile = new ApiCommandArgument('testProfile', 'A VS Code test profile', v => v instanceof extHostTypes.TestRunProfileBase, extHostTypeConverter.TestRunProfile.from);
@@ -737,24 +736,24 @@ index 0ebe271..20974b2 100644
+ throw new Error('Unable to create the !!APP_NAME!! workbench more than once.');
} else {
diff --git a/src/vs/workbench/browser/workbench.contribution.ts b/src/vs/workbench/browser/workbench.contribution.ts
index 735e721..0356d59 100644
index 06911cb..9498377 100644
--- a/src/vs/workbench/browser/workbench.contribution.ts
+++ b/src/vs/workbench/browser/workbench.contribution.ts
@@ -696,3 +696,3 @@ const registry = Registry.as<IConfigurationRegistry>(ConfigurationExtensions.Con
@@ -712,3 +712,3 @@ const registry = Registry.as<IConfigurationRegistry>(ConfigurationExtensions.Con
localize('profileName', "`${profileName}`: name of the profile in which the workspace is opened (e.g. Data Science (Profile)). Ignored if default profile is used."),
- localize('appName', "`${appName}`: e.g. VS Code."),
+ localize('appName', "`${appName}`: e.g. !!APP_NAME!!."),
localize('remoteName', "`${remoteName}`: e.g. SSH"),
diff --git a/src/vs/workbench/contrib/chat/browser/chatSetup.ts b/src/vs/workbench/contrib/chat/browser/chatSetup.ts
index 043193f..9311afb 100644
index a19380c..1b08415 100644
--- a/src/vs/workbench/contrib/chat/browser/chatSetup.ts
+++ b/src/vs/workbench/contrib/chat/browser/chatSetup.ts
@@ -143,3 +143,3 @@ class SetupAgent extends Disposable implements IChatAgentImplementation {
- const { agent, disposable } = SetupAgent.doRegisterAgent(instantiationService, chatAgentService, 'setup.vscode', 'vscode', false, localize2('vscodeAgentDescription', "Ask questions about VS Code").value, ChatAgentLocation.Panel, undefined, context, controller);
+ const { agent, disposable } = SetupAgent.doRegisterAgent(instantiationService, chatAgentService, 'setup.vscode', 'vscode', false, localize2('vscodeAgentDescription', "Ask questions about !!APP_NAME!!").value, ChatAgentLocation.Panel, undefined, context, controller);
disposables.add(disposable);
@@ -153,4 +153,4 @@ class SetupAgent extends Disposable implements IChatAgentImplementation {
@@ -147,3 +147,3 @@ class SetupAgent extends Disposable implements IChatAgentImplementation {
// Register VSCode agent
- const { disposable: vscodeDisposable } = SetupAgent.doRegisterAgent(instantiationService, chatAgentService, 'setup.vscode', 'vscode', false, localize2('vscodeAgentDescription', "Ask questions about VS Code").value, ChatAgentLocation.Panel, undefined, context, controller);
+ const { disposable: vscodeDisposable } = SetupAgent.doRegisterAgent(instantiationService, chatAgentService, 'setup.vscode', 'vscode', false, localize2('vscodeAgentDescription', "Ask questions about !!APP_NAME!!").value, ChatAgentLocation.Panel, undefined, context, controller);
disposables.add(vscodeDisposable);
@@ -164,4 +164,4 @@ class SetupAgent extends Disposable implements IChatAgentImplementation {
displayName: localize('setupToolDisplayName', "New Workspace"),
- modelDescription: localize('setupToolsDescription', "Scaffold a new workspace in VS Code"),
- userDescription: localize('setupToolsDescription', "Scaffold a new workspace in VS Code"),
@@ -771,7 +770,7 @@ index 0a13063..5a342c0 100644
+ description: nls.localize('debugServer', "For debug extension development only: if a port is specified !!APP_NAME!! tries to connect to a debug adapter running in server mode"),
default: 4711
diff --git a/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts b/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts
index 39859b4..5e03ec2 100644
index 1bc0b4b..89330c0 100644
--- a/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts
+++ b/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts
@@ -338,3 +338,3 @@ CommandsRegistry.registerCommand({
@@ -794,7 +793,7 @@ index 39859b4..5e03ec2 100644
- 'description': localize('workbench.extensions.installExtension.option.donotSync', "When enabled, VS Code do not sync this extension when Settings Sync is on."),
+ 'description': localize('workbench.extensions.installExtension.option.donotSync', "When enabled, !!APP_NAME!! do not sync this extension when Settings Sync is on."),
default: false
@@ -879,4 +879,4 @@ class ExtensionsContributions extends Disposable implements IWorkbenchContributi
@@ -880,4 +880,4 @@ class ExtensionsContributions extends Disposable implements IWorkbenchContributi
Severity.Info,
- vsixs.length > 1 ? localize('InstallVSIXs.successReload', "Completed installing extensions. Please reload Visual Studio Code to enable them.")
- : localize('InstallVSIXAction.successReload', "Completed installing extension. Please reload Visual Studio Code to enable it."),
@@ -802,39 +801,39 @@ index 39859b4..5e03ec2 100644
+ : localize('InstallVSIXAction.successReload', "Completed installing extension. Please reload VSCodium to enable it."),
[{
diff --git a/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts b/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts
index 862d00b..714f0fa 100644
index 27b428a..ab75e58 100644
--- a/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts
+++ b/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts
@@ -108,3 +108,3 @@ export class PromptExtensionInstallFailureAction extends Action {
@@ -109,3 +109,3 @@ export class PromptExtensionInstallFailureAction extends Action {
if (this.error.name === ExtensionManagementErrorCode.Unsupported) {
- const productName = isWeb ? localize('VS Code for Web', "{0} for the Web", this.productService.nameLong) : this.productService.nameLong;
+ const productName = isWeb ? localize('!!APP_NAME!! for Web', "{0} for the Web", this.productService.nameLong) : this.productService.nameLong;
const message = localize('cannot be installed', "The '{0}' extension is not available in {1}. Click 'More Information' to learn more.", this.extension.displayName || this.extension.identifier.id, productName);
@@ -553,3 +553,3 @@ export class InstallAction extends ExtensionAction {
@@ -554,3 +554,3 @@ export class InstallAction extends ExtensionAction {
} else if (this.extension.deprecationInfo.settings) {
- detail = localize('deprecated with alternate settings message', "This extension is deprecated as this functionality is now built-in to VS Code.");
+ detail = localize('deprecated with alternate settings message', "This extension is deprecated as this functionality is now built-in to !!APP_NAME!!.");
@@ -941,3 +941,3 @@ export class UninstallAction extends ExtensionAction {
@@ -943,3 +943,3 @@ export class UninstallAction extends ExtensionAction {
await this.extensionsWorkbenchService.uninstall(this.extension);
- alert(localize('uninstallExtensionComplete', "Please reload Visual Studio Code to complete the uninstallation of the extension {0}.", this.extension.displayName));
+ alert(localize('uninstallExtensionComplete', "Please reload !!APP_NAME!! to complete the uninstallation of the extension {0}.", this.extension.displayName));
} catch (error) {
@@ -2597,3 +2597,3 @@ export class ExtensionStatusAction extends ExtensionAction {
@@ -2599,3 +2599,3 @@ export class ExtensionStatusAction extends ExtensionAction {
const link = `[${localize('settings', "settings")}](${URI.parse(`command:workbench.action.openSettings?${encodeURIComponent(JSON.stringify([this.extension.deprecationInfo.settings.map(setting => `@id:${setting}`).join(' ')]))}`)})`;
- this.updateStatus({ icon: warningIcon, message: new MarkdownString(localize('deprecated with alternate settings tooltip', "This extension is deprecated as this functionality is now built-in to VS Code. Configure these {0} to use this functionality.", link)) }, true);
+ this.updateStatus({ icon: warningIcon, message: new MarkdownString(localize('deprecated with alternate settings tooltip', "This extension is deprecated as this functionality is now built-in to !!APP_NAME!!. Configure these {0} to use this functionality.", link)) }, true);
} else {
diff --git a/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.ts b/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.ts
index 8ee497e..41de54a 100644
index 700c8ca..4daed93 100644
--- a/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.ts
+++ b/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.ts
@@ -468,3 +468,3 @@ export class Extension implements IExtension {
@@ -477,3 +477,3 @@ export class Extension implements IExtension {
return Promise.resolve(`# ${this.displayName || this.name}
-**Notice:** This extension is bundled with Visual Studio Code. It can be disabled but not uninstalled.
+**Notice:** This extension is bundled with !!APP_NAME!!. It can be disabled but not uninstalled.
## Features
@@ -506,3 +506,3 @@ ${this.description}
@@ -515,3 +515,3 @@ ${this.description}
if (this.type === ExtensionType.System) {
- return Promise.resolve(`Please check the [VS Code Release Notes](command:${ShowCurrentReleaseNotesActionId}) for changes to the built-in extensions.`);
+ return Promise.resolve(`Please check the [!!APP_NAME!! Release Notes](command:${ShowCurrentReleaseNotesActionId}) for changes to the built-in extensions.`);
@@ -875,10 +874,10 @@ index b89d74b..2a06ffb 100644
+ patternErrorMessage: localize('vscode.extension.contributes.localizations.translations.id.pattern', "Id should be `vscode` or in format `publisherId.extensionName` for translating !!APP_NAME!! or an extension respectively.")
},
diff --git a/src/vs/workbench/contrib/localization/common/localizationsActions.ts b/src/vs/workbench/contrib/localization/common/localizationsActions.ts
index 8619144..5815a70 100644
index 050dde4..a8a61bd 100644
--- a/src/vs/workbench/contrib/localization/common/localizationsActions.ts
+++ b/src/vs/workbench/contrib/localization/common/localizationsActions.ts
@@ -26,3 +26,3 @@ export class ConfigureDisplayLanguageAction extends Action2 {
@@ -25,3 +25,3 @@ export class ConfigureDisplayLanguageAction extends Action2 {
metadata: {
- description: localize2('configureLocaleDescription', "Changes the locale of VS Code based on installed language packs. Common languages include French, Chinese, Spanish, Japanese, German, Korean, and more.")
+ description: localize2('configureLocaleDescription', "Changes the locale of !!APP_NAME!! based on installed language packs. Common languages include French, Chinese, Spanish, Japanese, German, Korean, and more.")
@@ -894,20 +893,11 @@ index b533feb..112d695 100644
+ `// ${nls.localize('displayLanguage', 'Defines the keyboard layout used in !!APP_NAME!! in the browser environment.')}`,
+ `// ${nls.localize('doc', 'Open !!APP_NAME!! and run "Developer: Inspect Key Mappings (JSON)" from Command Palette.')}`,
``,
diff --git a/src/vs/workbench/contrib/remoteTunnel/electron-sandbox/remoteTunnel.contribution.ts b/src/vs/workbench/contrib/remoteTunnel/electron-sandbox/remoteTunnel.contribution.ts
index 5de0485..177e215 100644
--- a/src/vs/workbench/contrib/remoteTunnel/electron-sandbox/remoteTunnel.contribution.ts
+++ b/src/vs/workbench/contrib/remoteTunnel/electron-sandbox/remoteTunnel.contribution.ts
@@ -561,3 +561,3 @@ export class RemoteTunnelWorkbenchContribution extends Disposable implements IWo
},
- "You can now access this machine anywhere via the secure tunnel [{0}](command:{4}). To connect via a different machine, use the generated [{1}]({2}) link or use the [{6}]({7}) extension in the desktop or web. You can [configure](command:{3}) or [turn off](command:{5}) this access via the VS Code Accounts menu.",
+ "You can now access this machine anywhere via the secure tunnel [{0}](command:{4}). To connect via a different machine, use the generated [{1}]({2}) link or use the [{6}]({7}) extension in the desktop or web. You can [configure](command:{3}) or [turn off](command:{5}) this access via the !!APP_NAME!! Accounts menu.",
connectionInfo.tunnelName, connectionInfo.domain, linkToOpenForMarkdown, RemoteTunnelCommandIds.manage, RemoteTunnelCommandIds.configure, RemoteTunnelCommandIds.turnOff, remoteExtension.friendlyName, 'https://code.visualstudio.com/docs/remote/tunnels'
diff --git a/src/vs/workbench/contrib/tasks/browser/abstractTaskService.ts b/src/vs/workbench/contrib/tasks/browser/abstractTaskService.ts
index 78c67ee..b78fbdc 100644
index 631d969..22432b6 100644
--- a/src/vs/workbench/contrib/tasks/browser/abstractTaskService.ts
+++ b/src/vs/workbench/contrib/tasks/browser/abstractTaskService.ts
@@ -3199,3 +3199,3 @@ export abstract class AbstractTaskService extends Disposable implements ITaskSer
@@ -3341,3 +3341,3 @@ export abstract class AbstractTaskService extends Disposable implements ITaskSer
if (response.code && response.code === TerminateResponseCode.ProcessNotFound) {
- this._notificationService.error(nls.localize('TerminateAction.noProcess', 'The launched process doesn\'t exist anymore. If the task spawned background tasks exiting VS Code might result in orphaned processes.'));
+ this._notificationService.error(nls.localize('TerminateAction.noProcess', 'The launched process doesn\'t exist anymore. If the task spawned background tasks exiting !!APP_NAME!! might result in orphaned processes.'));
@@ -927,81 +917,72 @@ index 9db6b8a..cecac9f 100644
+ description: nls.localize('JsonSchema.promptOnClose', 'Whether the user is prompted when !!APP_NAME!! closes with a running background task.'),
default: false
diff --git a/src/vs/workbench/contrib/tasks/common/jsonSchema_v2.ts b/src/vs/workbench/contrib/tasks/common/jsonSchema_v2.ts
index 42df6db..99e0383 100644
index e698eb9..b2a6e63 100644
--- a/src/vs/workbench/contrib/tasks/common/jsonSchema_v2.ts
+++ b/src/vs/workbench/contrib/tasks/common/jsonSchema_v2.ts
@@ -411,3 +411,3 @@ const taskConfiguration: IJSONSchema = {
@@ -424,3 +424,3 @@ const taskConfiguration: IJSONSchema = {
type: 'boolean',
- description: nls.localize('JsonSchema.tasks.promptOnClose', 'Whether the user is prompted when VS Code closes with a running task.'),
+ description: nls.localize('JsonSchema.tasks.promptOnClose', 'Whether the user is prompted when !!APP_NAME!! closes with a running task.'),
default: false
diff --git a/src/vs/workbench/contrib/tasks/electron-sandbox/taskService.ts b/src/vs/workbench/contrib/tasks/electron-sandbox/taskService.ts
index 6a5728c..df166de 100644
--- a/src/vs/workbench/contrib/tasks/electron-sandbox/taskService.ts
+++ b/src/vs/workbench/contrib/tasks/electron-sandbox/taskService.ts
@@ -213,3 +213,3 @@ export class TaskService extends AbstractTaskService {
return this._dialogService.confirm({
- message: nls.localize('TaskSystem.noProcess', 'The launched task doesn\'t exist anymore. If the task spawned background processes exiting VS Code might result in orphaned processes. To avoid this start the last background process with a wait flag.'),
+ message: nls.localize('TaskSystem.noProcess', 'The launched task doesn\'t exist anymore. If the task spawned background processes exiting !!APP_NAME!! might result in orphaned processes. To avoid this start the last background process with a wait flag.'),
primaryButton: nls.localize({ key: 'TaskSystem.exitAnyways', comment: ['&& denotes a mnemonic'] }, "&&Exit Anyways"),
diff --git a/src/vs/workbench/contrib/terminal/browser/terminalView.ts b/src/vs/workbench/contrib/terminal/browser/terminalView.ts
index 42ff0ac..8f2f57c 100644
index 50bfba8..a2a82bc 100644
--- a/src/vs/workbench/contrib/terminal/browser/terminalView.ts
+++ b/src/vs/workbench/contrib/terminal/browser/terminalView.ts
@@ -213,3 +213,3 @@ export class TerminalViewPane extends ViewPane {
@@ -212,3 +212,3 @@ export class TerminalViewPane extends ViewPane {
}];
- this._notificationService.prompt(Severity.Warning, nls.localize('terminal.monospaceOnly', "The terminal only supports monospace fonts. Be sure to restart VS Code if this is a newly installed font."), choices);
+ this._notificationService.prompt(Severity.Warning, nls.localize('terminal.monospaceOnly', "The terminal only supports monospace fonts. Be sure to restart !!APP_NAME!! if this is a newly installed font."), choices);
}
diff --git a/src/vs/workbench/contrib/terminal/common/terminalConfiguration.ts b/src/vs/workbench/contrib/terminal/common/terminalConfiguration.ts
index 28aa98c..a3331fc 100644
index aa2355b..ce4ca9e 100644
--- a/src/vs/workbench/contrib/terminal/common/terminalConfiguration.ts
+++ b/src/vs/workbench/contrib/terminal/common/terminalConfiguration.ts
@@ -314,3 +314,3 @@ const terminalConfiguration: IConfigurationNode = {
[TerminalSettingId.DetectLocale]: {
- markdownDescription: localize('terminal.integrated.detectLocale', "Controls whether to detect and set the `$LANG` environment variable to a UTF-8 compliant option since VS Code's terminal only supports UTF-8 encoded data coming from the shell."),
+ markdownDescription: localize('terminal.integrated.detectLocale', "Controls whether to detect and set the `$LANG` environment variable to a UTF-8 compliant option since !!APP_NAME!!'s terminal only supports UTF-8 encoded data coming from the shell."),
type: 'string',
@@ -328,3 +328,3 @@ const terminalConfiguration: IConfigurationNode = {
markdownEnumDescriptions: [
- localize('terminal.integrated.gpuAcceleration.auto', "Let VS Code detect which renderer will give the best experience."),
+ localize('terminal.integrated.gpuAcceleration.auto', "Let !!APP_NAME!! detect which renderer will give the best experience."),
localize('terminal.integrated.gpuAcceleration.on', "Enable GPU acceleration within the terminal."),
@@ -416,3 +416,3 @@ const terminalConfiguration: IConfigurationNode = {
'terminal.integrated.commandsToSkipShell',
- "A set of command IDs whose keybindings will not be sent to the shell but instead always be handled by VS Code. This allows keybindings that would normally be consumed by the shell to act instead the same as when the terminal is not focused, for example `Ctrl+P` to launch Quick Open.\n\n&nbsp;\n\nMany commands are skipped by default. To override a default and pass that command's keybinding to the shell instead, add the command prefixed with the `-` character. For example add `-workbench.action.quickOpen` to allow `Ctrl+P` to reach the shell.\n\n&nbsp;\n\nThe following list of default skipped commands is truncated when viewed in Settings Editor. To see the full list, {1} and search for the first command from the list below.\n\n&nbsp;\n\nDefault Skipped Commands:\n\n{0}",
+ "A set of command IDs whose keybindings will not be sent to the shell but instead always be handled by !!APP_NAME!!. This allows keybindings that would normally be consumed by the shell to act instead the same as when the terminal is not focused, for example `Ctrl+P` to launch Quick Open.\n\n&nbsp;\n\nMany commands are skipped by default. To override a default and pass that command's keybinding to the shell instead, add the command prefixed with the `-` character. For example add `-workbench.action.quickOpen` to allow `Ctrl+P` to reach the shell.\n\n&nbsp;\n\nThe following list of default skipped commands is truncated when viewed in Settings Editor. To see the full list, {1} and search for the first command from the list below.\n\n&nbsp;\n\nDefault Skipped Commands:\n\n{0}",
DEFAULT_COMMANDS_TO_SKIP_SHELL.sort().map(command => `- ${command}`).join('\n'),
@@ -428,3 +428,3 @@ const terminalConfiguration: IConfigurationNode = {
[TerminalSettingId.AllowChords]: {
- markdownDescription: localize('terminal.integrated.allowChords', "Whether or not to allow chord keybindings in the terminal. Note that when this is true and the keystroke results in a chord it will bypass {0}, setting this to false is particularly useful when you want ctrl+k to go to your shell (not VS Code).", '`#terminal.integrated.commandsToSkipShell#`'),
+ markdownDescription: localize('terminal.integrated.allowChords', "Whether or not to allow chord keybindings in the terminal. Note that when this is true and the keystroke results in a chord it will bypass {0}, setting this to false is particularly useful when you want ctrl+k to go to your shell (not !!APP_NAME!!).", '`#terminal.integrated.commandsToSkipShell#`'),
type: 'boolean',
@@ -439,3 +439,3 @@ const terminalConfiguration: IConfigurationNode = {
restricted: true,
- markdownDescription: localize('terminal.integrated.env.osx', "Object with environment variables that will be added to the VS Code process to be used by the terminal on macOS. Set to `null` to delete the environment variable."),
+ markdownDescription: localize('terminal.integrated.env.osx', "Object with environment variables that will be added to the !!APP_NAME!! process to be used by the terminal on macOS. Set to `null` to delete the environment variable."),
type: 'object',
@@ -448,3 +448,3 @@ const terminalConfiguration: IConfigurationNode = {
restricted: true,
- markdownDescription: localize('terminal.integrated.env.linux', "Object with environment variables that will be added to the VS Code process to be used by the terminal on Linux. Set to `null` to delete the environment variable."),
+ markdownDescription: localize('terminal.integrated.env.linux', "Object with environment variables that will be added to the !!APP_NAME!! process to be used by the terminal on Linux. Set to `null` to delete the environment variable."),
type: 'object',
@@ -457,3 +457,3 @@ const terminalConfiguration: IConfigurationNode = {
restricted: true,
- markdownDescription: localize('terminal.integrated.env.windows', "Object with environment variables that will be added to the VS Code process to be used by the terminal on Windows. Set to `null` to delete the environment variable."),
+ markdownDescription: localize('terminal.integrated.env.windows', "Object with environment variables that will be added to the !!APP_NAME!! process to be used by the terminal on Windows. Set to `null` to delete the environment variable."),
type: 'object',
@@ -486,3 +486,3 @@ const terminalConfiguration: IConfigurationNode = {
[TerminalSettingId.WindowsUseConptyDll]: {
- markdownDescription: localize('terminal.integrated.windowsUseConptyDll', "Whether to use the experimental conpty.dll (v1.22.250204002) shipped with VS Code, instead of the one bundled with Windows."),
+ markdownDescription: localize('terminal.integrated.windowsUseConptyDll', "Whether to use the experimental conpty.dll (v1.22.250204002) shipped with !!APP_NAME!!, instead of the one bundled with Windows."),
type: 'boolean',
@@ -593,3 +593,3 @@ const terminalConfiguration: IConfigurationNode = {
restricted: true,
- markdownDescription: localize('terminal.integrated.shellIntegration.enabled', "Determines whether or not shell integration is auto-injected to support features like enhanced command tracking and current working directory detection. \n\nShell integration works by injecting the shell with a startup script. The script gives VS Code insight into what is happening within the terminal.\n\nSupported shells:\n\n- Linux/macOS: bash, fish, pwsh, zsh\n - Windows: pwsh, git bash\n\nThis setting applies only when terminals are created, so you will need to restart your terminals for it to take effect.\n\n Note that the script injection may not work if you have custom arguments defined in the terminal profile, have enabled {1}, have a [complex bash `PROMPT_COMMAND`](https://code.visualstudio.com/docs/editor/integrated-terminal#_complex-bash-promptcommand), or other unsupported setup. To disable decorations, see {0}", '`#terminal.integrated.shellIntegration.decorationsEnabled#`', '`#editor.accessibilitySupport#`'),
+ markdownDescription: localize('terminal.integrated.shellIntegration.enabled', "Determines whether or not shell integration is auto-injected to support features like enhanced command tracking and current working directory detection. \n\nShell integration works by injecting the shell with a startup script. The script gives !!APP_NAME!! insight into what is happening within the terminal.\n\nSupported shells:\n\n- Linux/macOS: bash, fish, pwsh, zsh\n - Windows: pwsh, git bash\n\nThis setting applies only when terminals are created, so you will need to restart your terminals for it to take effect.\n\n Note that the script injection may not work if you have custom arguments defined in the terminal profile, have enabled {1}, have a [complex bash `PROMPT_COMMAND`](https://code.visualstudio.com/docs/editor/integrated-terminal#_complex-bash-promptcommand), or other unsupported setup. To disable decorations, see {0}", '`#terminal.integrated.shellIntegration.decorationsEnabled#`', '`#editor.accessibilitySupport#`'),
type: 'boolean',
@@ -310,3 +310,3 @@ const terminalConfiguration: IStringDictionary<IConfigurationPropertySchema> = {
[TerminalSettingId.DetectLocale]: {
- markdownDescription: localize('terminal.integrated.detectLocale', "Controls whether to detect and set the `$LANG` environment variable to a UTF-8 compliant option since VS Code's terminal only supports UTF-8 encoded data coming from the shell."),
+ markdownDescription: localize('terminal.integrated.detectLocale', "Controls whether to detect and set the `$LANG` environment variable to a UTF-8 compliant option since !!APP_NAME!!'s terminal only supports UTF-8 encoded data coming from the shell."),
type: 'string',
@@ -324,3 +324,3 @@ const terminalConfiguration: IStringDictionary<IConfigurationPropertySchema> = {
markdownEnumDescriptions: [
- localize('terminal.integrated.gpuAcceleration.auto', "Let VS Code detect which renderer will give the best experience."),
+ localize('terminal.integrated.gpuAcceleration.auto', "Let !!APP_NAME!! detect which renderer will give the best experience."),
localize('terminal.integrated.gpuAcceleration.on', "Enable GPU acceleration within the terminal."),
@@ -412,3 +412,3 @@ const terminalConfiguration: IStringDictionary<IConfigurationPropertySchema> = {
'terminal.integrated.commandsToSkipShell',
- "A set of command IDs whose keybindings will not be sent to the shell but instead always be handled by VS Code. This allows keybindings that would normally be consumed by the shell to act instead the same as when the terminal is not focused, for example `Ctrl+P` to launch Quick Open.\n\n&nbsp;\n\nMany commands are skipped by default. To override a default and pass that command's keybinding to the shell instead, add the command prefixed with the `-` character. For example add `-workbench.action.quickOpen` to allow `Ctrl+P` to reach the shell.\n\n&nbsp;\n\nThe following list of default skipped commands is truncated when viewed in Settings Editor. To see the full list, {1} and search for the first command from the list below.\n\n&nbsp;\n\nDefault Skipped Commands:\n\n{0}",
+ "A set of command IDs whose keybindings will not be sent to the shell but instead always be handled by !!APP_NAME!!. This allows keybindings that would normally be consumed by the shell to act instead the same as when the terminal is not focused, for example `Ctrl+P` to launch Quick Open.\n\n&nbsp;\n\nMany commands are skipped by default. To override a default and pass that command's keybinding to the shell instead, add the command prefixed with the `-` character. For example add `-workbench.action.quickOpen` to allow `Ctrl+P` to reach the shell.\n\n&nbsp;\n\nThe following list of default skipped commands is truncated when viewed in Settings Editor. To see the full list, {1} and search for the first command from the list below.\n\n&nbsp;\n\nDefault Skipped Commands:\n\n{0}",
DEFAULT_COMMANDS_TO_SKIP_SHELL.sort().map(command => `- ${command}`).join('\n'),
@@ -424,3 +424,3 @@ const terminalConfiguration: IStringDictionary<IConfigurationPropertySchema> = {
[TerminalSettingId.AllowChords]: {
- markdownDescription: localize('terminal.integrated.allowChords', "Whether or not to allow chord keybindings in the terminal. Note that when this is true and the keystroke results in a chord it will bypass {0}, setting this to false is particularly useful when you want ctrl+k to go to your shell (not VS Code).", '`#terminal.integrated.commandsToSkipShell#`'),
+ markdownDescription: localize('terminal.integrated.allowChords', "Whether or not to allow chord keybindings in the terminal. Note that when this is true and the keystroke results in a chord it will bypass {0}, setting this to false is particularly useful when you want ctrl+k to go to your shell (not !!APP_NAME!!).", '`#terminal.integrated.commandsToSkipShell#`'),
type: 'boolean',
@@ -435,3 +435,3 @@ const terminalConfiguration: IStringDictionary<IConfigurationPropertySchema> = {
restricted: true,
- markdownDescription: localize('terminal.integrated.env.osx', "Object with environment variables that will be added to the VS Code process to be used by the terminal on macOS. Set to `null` to delete the environment variable."),
+ markdownDescription: localize('terminal.integrated.env.osx', "Object with environment variables that will be added to the !!APP_NAME!! process to be used by the terminal on macOS. Set to `null` to delete the environment variable."),
type: 'object',
@@ -444,3 +444,3 @@ const terminalConfiguration: IStringDictionary<IConfigurationPropertySchema> = {
restricted: true,
- markdownDescription: localize('terminal.integrated.env.linux', "Object with environment variables that will be added to the VS Code process to be used by the terminal on Linux. Set to `null` to delete the environment variable."),
+ markdownDescription: localize('terminal.integrated.env.linux', "Object with environment variables that will be added to the !!APP_NAME!! process to be used by the terminal on Linux. Set to `null` to delete the environment variable."),
type: 'object',
@@ -453,3 +453,3 @@ const terminalConfiguration: IStringDictionary<IConfigurationPropertySchema> = {
restricted: true,
- markdownDescription: localize('terminal.integrated.env.windows', "Object with environment variables that will be added to the VS Code process to be used by the terminal on Windows. Set to `null` to delete the environment variable."),
+ markdownDescription: localize('terminal.integrated.env.windows', "Object with environment variables that will be added to the !!APP_NAME!! process to be used by the terminal on Windows. Set to `null` to delete the environment variable."),
type: 'object',
@@ -482,3 +482,3 @@ const terminalConfiguration: IStringDictionary<IConfigurationPropertySchema> = {
[TerminalSettingId.WindowsUseConptyDll]: {
- markdownDescription: localize('terminal.integrated.windowsUseConptyDll', "Whether to use the experimental conpty.dll (v1.22.250204002) shipped with VS Code, instead of the one bundled with Windows."),
+ markdownDescription: localize('terminal.integrated.windowsUseConptyDll', "Whether to use the experimental conpty.dll (v1.22.250204002) shipped with !!APP_NAME!!, instead of the one bundled with Windows."),
type: 'boolean',
@@ -589,3 +589,3 @@ const terminalConfiguration: IStringDictionary<IConfigurationPropertySchema> = {
restricted: true,
- markdownDescription: localize('terminal.integrated.shellIntegration.enabled', "Determines whether or not shell integration is auto-injected to support features like enhanced command tracking and current working directory detection. \n\nShell integration works by injecting the shell with a startup script. The script gives VS Code insight into what is happening within the terminal.\n\nSupported shells:\n\n- Linux/macOS: bash, fish, pwsh, zsh\n - Windows: pwsh, git bash\n\nThis setting applies only when terminals are created, so you will need to restart your terminals for it to take effect.\n\n Note that the script injection may not work if you have custom arguments defined in the terminal profile, have enabled {1}, have a [complex bash `PROMPT_COMMAND`](https://code.visualstudio.com/docs/editor/integrated-terminal#_complex-bash-promptcommand), or other unsupported setup. To disable decorations, see {0}", '`#terminal.integrated.shellIntegration.decorationsEnabled#`', '`#editor.accessibilitySupport#`'),
+ markdownDescription: localize('terminal.integrated.shellIntegration.enabled', "Determines whether or not shell integration is auto-injected to support features like enhanced command tracking and current working directory detection. \n\nShell integration works by injecting the shell with a startup script. The script gives !!APP_NAME!! insight into what is happening within the terminal.\n\nSupported shells:\n\n- Linux/macOS: bash, fish, pwsh, zsh\n - Windows: pwsh, git bash\n\nThis setting applies only when terminals are created, so you will need to restart your terminals for it to take effect.\n\n Note that the script injection may not work if you have custom arguments defined in the terminal profile, have enabled {1}, have a [complex bash `PROMPT_COMMAND`](https://code.visualstudio.com/docs/editor/integrated-terminal#_complex-bash-promptcommand), or other unsupported setup. To disable decorations, see {0}", '`#terminal.integrated.shellIntegration.decorationsEnabled#`', '`#editor.accessibilitySupport#`'),
type: 'boolean',
diff --git a/src/vs/workbench/contrib/terminalContrib/autoReplies/common/terminalAutoRepliesConfiguration.ts b/src/vs/workbench/contrib/terminalContrib/autoReplies/common/terminalAutoRepliesConfiguration.ts
index 4979520..30ae11b 100644
--- a/src/vs/workbench/contrib/terminalContrib/autoReplies/common/terminalAutoRepliesConfiguration.ts
@@ -1028,7 +1009,7 @@ index a20d7ae..6861b35 100644
+ detail: nls.localize('selectSyncService.detail', "The Insiders version of !!APP_NAME!! will synchronize your settings, keybindings, extensions, snippets and UI State using separate insiders settings sync service by default."),
buttons: [
diff --git a/src/vs/workbench/contrib/url/browser/trustedDomainsFileSystemProvider.ts b/src/vs/workbench/contrib/url/browser/trustedDomainsFileSystemProvider.ts
index d508a0d..a8f9899 100644
index 393c8c3..9268a6c 100644
--- a/src/vs/workbench/contrib/url/browser/trustedDomainsFileSystemProvider.ts
+++ b/src/vs/workbench/contrib/url/browser/trustedDomainsFileSystemProvider.ts
@@ -55,3 +55,3 @@ function computeTrustedDomainContent(defaultTrustedDomains: string[], trustedDom
@@ -1042,15 +1023,15 @@ index d508a0d..a8f9899 100644
+ content += `// By default, !!APP_NAME!! trusts "localhost".\n`;
}
diff --git a/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.ts b/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.ts
index 6aa706f..ddbd93e 100644
index 57b91bd..89c2b68 100644
--- a/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.ts
+++ b/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.ts
@@ -51,3 +51,3 @@ registerAction2(class extends Action2 {
@@ -49,3 +49,3 @@ registerAction2(class extends Action2 {
metadata: {
- description: localize2('minWelcomeDescription', 'Opens a Walkthrough to help you get started in VS Code.')
+ description: localize2('minWelcomeDescription', 'Opens a Walkthrough to help you get started in !!APP_NAME!!.')
}
@@ -379,3 +379,3 @@ configurationRegistry.registerConfiguration({
@@ -311,3 +311,3 @@ configurationRegistry.registerConfiguration({
localize({ comment: ['This is the description for a setting. Values surrounded by single quotes are not to be translated.'], key: 'workbench.startupEditor.none' }, "Start without an editor."),
- localize({ comment: ['This is the description for a setting. Values surrounded by single quotes are not to be translated.'], key: 'workbench.startupEditor.welcomePage' }, "Open the Welcome page, with content to aid in getting started with VS Code and extensions."),
+ localize({ comment: ['This is the description for a setting. Values surrounded by single quotes are not to be translated.'], key: 'workbench.startupEditor.welcomePage' }, "Open the Welcome page, with content to aid in getting started with !!APP_NAME!! and extensions."),
@@ -1065,20 +1046,16 @@ index 3f1c098..26bf670 100644
+ description: localize('walkthroughs.steps.completionEvents.onCommand', 'Check off step when a given command is executed anywhere in !!APP_NAME!!.'),
body: 'onCommand:${1:commandId}'
diff --git a/src/vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent.ts b/src/vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent.ts
index 949cea7..ccd635d 100644
index 3826aa8..b2803d8 100644
--- a/src/vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent.ts
+++ b/src/vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent.ts
@@ -15,3 +15,2 @@ import { CONTEXT_ACCESSIBILITY_MODE_ENABLED } from '../../../../platform/accessi
import { URI } from '../../../../base/common/uri.js';
-import product from '../../../../platform/product/common/product.js';
@@ -201,13 +200,2 @@ export const startEntries: GettingStartedStartEntryContent = [
@@ -209,13 +209,2 @@ export const startEntries: GettingStartedStartEntryContent = [
},
- {
- id: 'topLevelNewWorkspaceChat',
- title: localize('gettingStarted.newWorkspaceChat.title', "New Workspace with Copilot..."),
- description: localize('gettingStarted.newWorkspaceChat.description', "Create a new workspace with Copilot"),
- icon: Codicon.copilot,
- title: localize('gettingStarted.newWorkspaceChat.title', "Generate New Workspace..."),
- description: localize('gettingStarted.newWorkspaceChat.description', "Chat to create a new workspace"),
- icon: Codicon.chatSparkle,
- when: '!isWeb && !chatSetupHidden',
- content: {
- type: 'startEntry',
@@ -1086,10 +1063,10 @@ index 949cea7..ccd635d 100644
- }
- },
];
@@ -216,24 +204,2 @@ const Button = (title: string, href: string) => `[${title}](${href})`;
@@ -224,24 +213,2 @@ const Button = (title: string, href: string) => `[${title}](${href})`;
-const CopilotStepTitle = localize('gettingStarted.copilotSetup.title', "Use AI features with Copilot for free");
-const CopilotDescription = localize({ key: 'gettingStarted.copilotSetup.description', comment: ['{Locked="["}', '{Locked="]({0})"}'] }, "You can use [Copilot]({0}) to generate code across multiple files, fix errors, ask questions about your code and much more using natural language.", product.defaultChatAgent?.documentationUrl ?? '');
-const CopilotDescription = localize({ key: 'gettingStarted.copilotSetup.description', comment: ['{Locked="["}', '{Locked="]({0})"}'] }, "You can use [Copilot]({0}) to generate code across multiple files, fix errors, ask questions about your code and much more using natural language.", defaultChat.documentationUrl ?? '');
-const CopilotSignedOutButton = Button(localize('setupCopilotButton.signIn', "Set up Copilot"), `command:workbench.action.chat.triggerSetup`);
-const CopilotSignedInButton = Button(localize('setupCopilotButton.setup', "Set up Copilot"), `command:workbench.action.chat.triggerSetup`);
-const CopilotCompleteButton = Button(localize('setupCopilotButton.chatWithCopilot', "Chat with Copilot"), 'command:workbench.action.chat.open');
@@ -1111,107 +1088,40 @@ index 949cea7..ccd635d 100644
-}
-
export const walkthroughs: GettingStartedWalkthroughContent = [
@@ -241,3 +207,3 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
@@ -249,3 +216,3 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
id: 'Setup',
- title: localize('gettingStarted.setup.title', "Get started with VS Code"),
+ title: localize('gettingStarted.setup.title', "Get started with !!APP_NAME!!"),
description: localize('gettingStarted.setup.description', "Customize your editor, learn the basics, and start coding"),
@@ -246,3 +212,3 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
@@ -254,3 +221,3 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
when: '!isWeb',
- walkthroughPageTitle: localize('gettingStarted.setup.walkthroughPageTitle', 'Setup VS Code'),
+ walkthroughPageTitle: localize('gettingStarted.setup.walkthroughPageTitle', 'Setup !!APP_NAME!!'),
next: 'Beginner',
@@ -251,5 +217,2 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
@@ -259,5 +226,2 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
steps: [
- createCopilotSetupStep('CopilotSetupSignedOut', CopilotSignedOutButton, 'chatSetupSignedOut', true),
- createCopilotSetupStep('CopilotSetupComplete', CopilotCompleteButton, 'chatSetupInstalled && (chatPlanPro || chatPlanProPlus || chatPlanBusiness || chatPlanEnterprise || chatPlanLimited)', false),
- createCopilotSetupStep('CopilotSetupSignedIn', CopilotSignedInButton, '!chatSetupSignedOut && (!chatSetupInstalled || chatPlanCanSignUp)', true),
- createCopilotSetupStep('CopilotSetupSignedOut', CopilotSignedOutButton, 'chatEntitlementSignedOut', true),
- createCopilotSetupStep('CopilotSetupComplete', CopilotCompleteButton, 'chatSetupInstalled && !chatSetupDisabled && (chatPlanPro || chatPlanProPlus || chatPlanBusiness || chatPlanEnterprise || chatPlanFree)', false),
- createCopilotSetupStep('CopilotSetupSignedIn', CopilotSignedInButton, '!chatEntitlementSignedOut && (!chatSetupInstalled || chatSetupDisabled || chatPlanCanSignUp)', true),
{
@@ -267,6 +230,6 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
title: localize('gettingStarted.extensions.title', "Code with extensions"),
- description: localize('gettingStarted.extensionsWeb.description.interpolated', "Extensions are VS Code's power-ups. A growing number are becoming available in the web.\n{0}", Button(localize('browsePopularWeb', "Browse Popular Web Extensions"), 'command:workbench.extensions.action.showPopularExtensions')),
+ description: localize('gettingStarted.extensionsWeb.description.interpolated', "Extensions are !!APP_NAME!!'s power-ups. A growing number are becoming available in the web.\n{0}", Button(localize('browsePopularWeb', "Browse Popular Web Extensions"), 'command:workbench.extensions.action.showPopularExtensions')),
when: 'workspacePlatform == \'webworker\'',
media: {
- type: 'svg', altText: 'VS Code extension marketplace with featured language extensions', path: 'extensions-web.svg'
+ type: 'svg', altText: '!!APP_NAME!! extension marketplace with featured language extensions', path: 'extensions-web.svg'
},
@@ -282,21 +245,2 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
},
- // Hidden in favor of copilot entry (to be revisited when copilot entry moves, if at all)
- // {
- // id: 'settings',
- // title: localize('gettingStarted.settings.title', "Tune your settings"),
- // description: localize('gettingStarted.settings.description.interpolated', "Customize every aspect of VS Code and your extensions to your liking. Commonly used settings are listed first to get you started.\n{0}", Button(localize('tweakSettings', "Open Settings"), 'command:toSide:workbench.action.openSettings')),
- // media: {
- // type: 'svg', altText: 'VS Code Settings', path: 'settings.svg'
- // },
- // },
- // {
- // id: 'settingsSync',
- // title: localize('gettingStarted.settingsSync.title', "Sync settings across devices"),
- // description: localize('gettingStarted.settingsSync.description.interpolated', "Keep your essential customizations backed up and updated across all your devices.\n{0}", Button(localize('enableSync', "Backup and Sync Settings"), 'command:workbench.userDataSync.actions.turnOn')),
- // when: 'syncStatus != uninitialized',
- // completionEvents: ['onEvent:sync-enabled'],
- // media: {
- // type: 'svg', altText: 'The "Turn on Sync" entry in the settings gear menu.', path: 'settingsSync.svg'
- // },
- // },
{
@@ -304,3 +248,3 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
title: localize('gettingStarted.settings.title', "Tune your settings"),
- description: localize('gettingStarted.settingsAndSync.description.interpolated', "Customize every aspect of VS Code and your extensions to your liking. [Back up and sync](command:workbench.userDataSync.actions.turnOn) your essential customizations across all your devices.\n{0}", Button(localize('tweakSettings', "Open Settings"), 'command:toSide:workbench.action.openSettings')),
+ description: localize('gettingStarted.settingsAndSync.description.interpolated', "Customize every aspect of !!APP_NAME!! and your extensions to your liking. [Back up and sync](command:workbench.userDataSync.actions.turnOn) your essential customizations across all your devices.\n{0}", Button(localize('tweakSettings', "Open Settings"), 'command:toSide:workbench.action.openSettings')),
when: 'syncStatus != uninitialized',
@@ -308,3 +252,3 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
media: {
- type: 'svg', altText: 'VS Code Settings', path: 'settings.svg'
+ type: 'svg', altText: '!!APP_NAME!! Settings', path: 'settings.svg'
},
@@ -314,24 +258,5 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
title: localize('gettingStarted.commandPalette.title', "Unlock productivity with the Command Palette "),
- description: localize('gettingStarted.commandPalette.description.interpolated', "Run commands without reaching for your mouse to accomplish any task in VS Code.\n{0}", Button(localize('commandPalette', "Open Command Palette"), 'command:workbench.action.showCommands')),
+ description: localize('gettingStarted.commandPalette.description.interpolated', "Run commands without reaching for your mouse to accomplish any task in !!APP_NAME!!.\n{0}", Button(localize('commandPalette', "Open Command Palette"), 'command:workbench.action.showCommands')),
media: { type: 'svg', altText: 'Command Palette overlay for searching and executing commands.', path: 'commandPalette.svg' },
},
- // Hidden in favor of copilot entry (to be revisited when copilot entry moves, if at all)
- // {
- // id: 'pickAFolderTask-Mac',
- // title: localize('gettingStarted.setup.OpenFolder.title', "Open up your code"),
- // description: localize('gettingStarted.setup.OpenFolder.description.interpolated', "You're all set to start coding. Open a project folder to get your files into VS Code.\n{0}", Button(localize('pickFolder', "Pick a Folder"), 'command:workbench.action.files.openFileFolder')),
- // when: 'isMac && workspaceFolderCount == 0',
- // media: {
- // type: 'svg', altText: 'Explorer view showing buttons for opening folder and cloning repository.', path: 'openFolder.svg'
- // }
- // },
- // {
- // id: 'pickAFolderTask-Other',
- // title: localize('gettingStarted.setup.OpenFolder.title', "Open up your code"),
- // description: localize('gettingStarted.setup.OpenFolder.description.interpolated', "You're all set to start coding. Open a project folder to get your files into VS Code.\n{0}", Button(localize('pickFolder', "Pick a Folder"), 'command:workbench.action.files.openFolder')),
- // when: '!isMac && workspaceFolderCount == 0',
- // media: {
- // type: 'svg', altText: 'Explorer view showing buttons for opening folder and cloning repository.', path: 'openFolder.svg'
- // }
- // },
{
@@ -348,4 +273,4 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
@@ -275,4 +239,4 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
title: localize('gettingStarted.videoTutorial.title', "Watch video tutorials"),
- description: localize('gettingStarted.videoTutorial.description.interpolated', "Watch the first in a series of short & practical video tutorials for VS Code's key features.\n{0}", Button(localize('watch', "Watch Tutorial"), 'https://aka.ms/vscode-getting-started-video')),
- media: { type: 'svg', altText: 'VS Code Settings', path: 'learn.svg' },
+ description: localize('gettingStarted.videoTutorial.description.interpolated', "Watch the first in a series of short & practical video tutorials for !!APP_NAME!!'s key features.\n{0}", Button(localize('watch', "Watch Tutorial"), 'https://aka.ms/vscode-getting-started-video')),
+ media: { type: 'svg', altText: '!!APP_NAME!! Settings', path: 'learn.svg' },
}
@@ -357,3 +282,3 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
@@ -284,3 +248,3 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
id: 'SetupWeb',
- title: localize('gettingStarted.setupWeb.title', "Get Started with VS Code for the Web"),
+ title: localize('gettingStarted.setupWeb.title', "Get Started with !!APP_NAME!! for the Web"),
description: localize('gettingStarted.setupWeb.description', "Customize your editor, learn the basics, and start coding"),
@@ -363,3 +288,3 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
@@ -290,3 +254,3 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
next: 'Beginner',
- walkthroughPageTitle: localize('gettingStarted.setupWeb.walkthroughPageTitle', 'Setup VS Code Web'),
+ walkthroughPageTitle: localize('gettingStarted.setupWeb.walkthroughPageTitle', 'Setup !!APP_NAME!! Web'),
content: {
@@ -389,6 +314,6 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
@@ -316,6 +280,6 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
title: localize('gettingStarted.extensions.title', "Code with extensions"),
- description: localize('gettingStarted.extensionsWeb.description.interpolated', "Extensions are VS Code's power-ups. A growing number are becoming available in the web.\n{0}", Button(localize('browsePopularWeb', "Browse Popular Web Extensions"), 'command:workbench.extensions.action.showPopularExtensions')),
+ description: localize('gettingStarted.extensionsWeb.description.interpolated', "Extensions are !!APP_NAME!!'s power-ups. A growing number are becoming available in the web.\n{0}", Button(localize('browsePopularWeb', "Browse Popular Web Extensions"), 'command:workbench.extensions.action.showPopularExtensions')),
@@ -1220,7 +1130,7 @@ index 949cea7..ccd635d 100644
- type: 'svg', altText: 'VS Code extension marketplace with featured language extensions', path: 'extensions-web.svg'
+ type: 'svg', altText: '!!APP_NAME!! extension marketplace with featured language extensions', path: 'extensions-web.svg'
},
@@ -404,12 +329,2 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
@@ -331,12 +295,2 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
},
- {
- id: 'settingsSyncWeb',
@@ -1233,32 +1143,37 @@ index 949cea7..ccd635d 100644
- },
- },
{
@@ -417,3 +332,3 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
@@ -344,3 +298,3 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
title: localize('gettingStarted.commandPalette.title', "Unlock productivity with the Command Palette "),
- description: localize('gettingStarted.commandPalette.description.interpolated', "Run commands without reaching for your mouse to accomplish any task in VS Code.\n{0}", Button(localize('commandPalette', "Open Command Palette"), 'command:workbench.action.showCommands')),
+ description: localize('gettingStarted.commandPalette.description.interpolated', "Run commands without reaching for your mouse to accomplish any task in !!APP_NAME!!.\n{0}", Button(localize('commandPalette', "Open Command Palette"), 'command:workbench.action.showCommands')),
media: { type: 'svg', altText: 'Command Palette overlay for searching and executing commands.', path: 'commandPalette.svg' },
@@ -423,3 +338,3 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
@@ -350,3 +304,3 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
title: localize('gettingStarted.setup.OpenFolder.title', "Open up your code"),
- description: localize('gettingStarted.setup.OpenFolderWeb.description.interpolated', "You're all set to start coding. You can open a local project or a remote repository to get your files into VS Code.\n{0}\n{1}", Button(localize('openFolder', "Open Folder"), 'command:workbench.action.addRootFolder'), Button(localize('openRepository', "Open Repository"), 'command:remoteHub.openRepository')),
+ description: localize('gettingStarted.setup.OpenFolderWeb.description.interpolated', "You're all set to start coding. You can open a local project or a remote repository to get your files into !!APP_NAME!!.\n{0}\n{1}", Button(localize('openFolder', "Open Folder"), 'command:workbench.action.addRootFolder'), Button(localize('openRepository', "Open Repository"), 'command:remoteHub.openRepository')),
when: 'workspaceFolderCount == 0',
@@ -444,3 +359,3 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
@@ -371,3 +325,3 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
title: localize('gettingStarted.setupAccessibility.title', "Get Started with Accessibility Features"),
- description: localize('gettingStarted.setupAccessibility.description', "Learn the tools and shortcuts that make VS Code accessible. Note that some actions are not actionable from within the context of the walkthrough."),
+ description: localize('gettingStarted.setupAccessibility.description', "Learn the tools and shortcuts that make !!APP_NAME!! accessible. Note that some actions are not actionable from within the context of the walkthrough."),
isFeatured: true,
@@ -449,3 +364,3 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
@@ -376,3 +330,3 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
next: 'Setup',
- walkthroughPageTitle: localize('gettingStarted.setupAccessibility.walkthroughPageTitle', 'Setup VS Code Accessibility'),
+ walkthroughPageTitle: localize('gettingStarted.setupAccessibility.walkthroughPageTitle', 'Setup !!APP_NAME!! Accessibility'),
content: {
@@ -480,3 +395,3 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
@@ -407,3 +361,3 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
title: localize('gettingStarted.commandPaletteAccessibility.title', "Unlock productivity with the Command Palette "),
- description: localize('gettingStarted.commandPaletteAccessibility.description.interpolated', "Run commands without reaching for your mouse to accomplish any task in VS Code.\n{0}", Button(localize('commandPalette', "Open Command Palette"), 'command:workbench.action.showCommands')),
+ description: localize('gettingStarted.commandPaletteAccessibility.description.interpolated', "Run commands without reaching for your mouse to accomplish any task in !!APP_NAME!!.\n{0}", Button(localize('commandPalette', "Open Command Palette"), 'command:workbench.action.showCommands')),
media: { type: 'markdown', path: 'empty' },
@@ -553,6 +468,6 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
@@ -484,3 +438,3 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
media: {
- type: 'svg', altText: 'VS Code Settings', path: 'settings.svg'
+ type: 'svg', altText: '!!APP_NAME!! Settings', path: 'settings.svg'
},
@@ -490,6 +444,6 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
title: localize('gettingStarted.extensions.title', "Code with extensions"),
- description: localize('gettingStarted.extensions.description.interpolated', "Extensions are VS Code's power-ups. They range from handy productivity hacks, expanding out-of-the-box features, to adding completely new capabilities.\n{0}", Button(localize('browsePopular', "Browse Popular Extensions"), 'command:workbench.extensions.action.showPopularExtensions')),
+ description: localize('gettingStarted.extensions.description.interpolated', "Extensions are !!APP_NAME!!'s power-ups. They range from handy productivity hacks, expanding out-of-the-box features, to adding completely new capabilities.\n{0}", Button(localize('browsePopular', "Browse Popular Extensions"), 'command:workbench.extensions.action.showPopularExtensions')),
@@ -1267,82 +1182,6 @@ index 949cea7..ccd635d 100644
- type: 'svg', altText: 'VS Code extension marketplace with featured language extensions', path: 'extensions.svg'
+ type: 'svg', altText: '!!APP_NAME!! extension marketplace with featured language extensions', path: 'extensions.svg'
},
@@ -670,75 +585,2 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
},
- {
- id: `${NEW_WELCOME_EXPERIENCE}`,
- title: localize('gettingStarted.new.title', "Get started with VS Code"),
- description: localize('gettingStarted.new.description', "Supercharge coding with AI"),
- isFeatured: false,
- icon: setupIcon,
- when: '!isWeb',
- walkthroughPageTitle: localize('gettingStarted.new.walkthroughPageTitle', 'Set up VS Code'),
- content: {
- type: 'steps',
- steps: [
- {
- id: 'copilotSetup.chat',
- title: localize('gettingStarted.agentMode.title', "Agent mode"),
- description: localize('gettingStarted.agentMode.description', "Analyzes the problem, plans next steps, and makes changes for you."),
- media: {
- type: 'svg', altText: 'VS Code Copilot multi file edits', path: 'multi-file-edits.svg'
- },
- },
- {
- id: 'copilotSetup.inline',
- title: localize('gettingStarted.nes.title', "Next Edit Suggestions"),
- description: localize('gettingStarted.nes.description', "Get code suggestions that predict your next edit."),
- media: {
- type: 'svg', altText: 'Next Edit Suggestions', path: 'ai-powered-suggestions.svg'
- },
- },
- {
- id: 'copilotSetup.customize',
- title: localize('gettingStarted.customize.title', "Personalized to how you work"),
- description: localize('gettingStarted.customize.description', "Swap models, add agent mode tools, and create personalized instructions.\n{0}", Button(localize('signUp', "Set up AI"), 'command:workbench.action.chat.triggerSetup')),
- media: {
- type: 'svg', altText: 'Personalize', path: 'multi-file-edits.svg'
- },
- },
- {
- id: 'newCommandPaletteTask',
- title: localize('newgettingStarted.commandPalette.title', "All commands within reach"),
- description: localize('gettingStarted.commandPalette.description.interpolated', "Run commands without reaching for your mouse to accomplish any task in VS Code.\n{0}", Button(localize('commandPalette', "Open Command Palette"), 'command:workbench.action.showCommands')),
- media: { type: 'svg', altText: 'Command Palette overlay for searching and executing commands.', path: 'commandPalette.svg' },
- },
- {
- id: 'newPickColorTheme',
- title: localize('gettingStarted.pickColor.title', "Choose your theme"),
- description: localize('gettingStarted.pickColor.description.interpolated', "The right theme helps you focus on your code, is easy on your eyes, and is simply more fun to use.\n{0}", Button(localize('titleID', "Browse Color Themes"), 'command:workbench.action.selectTheme')),
- completionEvents: [
- 'onSettingChanged:workbench.colorTheme',
- 'onCommand:workbench.action.selectTheme'
- ],
- media: { type: 'markdown', path: 'theme_picker_small', }
- },
- {
- id: 'newFindLanguageExtensions',
- title: localize('newgettingStarted.findLanguageExts.title', "Support for all languages"),
- description: localize('newgettingStarted.findLanguageExts.description.interpolated', "Install the language extensions you need in your toolkit.\n{0}", Button(localize('browseLangExts', "Browse Language Extensions"), 'command:workbench.extensions.action.showLanguageExtensions')),
- when: 'workspacePlatform != \'webworker\'',
- media: {
- type: 'svg', altText: 'Language extensions', path: 'languages.svg'
- },
- },
- {
- id: 'newSettingsAndSync',
- title: localize('newgettingStarted.settings.title', "Customize every aspect of VS Code"),
- description: localize('newgettingStarted.settingsAndSync.description.interpolated', "[Back up and sync](command:workbench.userDataSync.actions.turnOn) settings across all your devices.\n{0}", Button(localize('tweakSettings', "Open Settings"), 'command:toSide:workbench.action.openSettings')),
- when: 'syncStatus != uninitialized',
- completionEvents: ['onEvent:sync-enabled'],
- media: {
- type: 'svg', altText: 'VS Code Settings', path: 'settings.svg'
- },
- },
- ]
- }
- }
];
diff --git a/src/vs/workbench/contrib/welcomeWalkthrough/browser/editor/vs_code_editor_walkthrough.ts b/src/vs/workbench/contrib/welcomeWalkthrough/browser/editor/vs_code_editor_walkthrough.ts
index bdd30bf..317d11c 100644
--- a/src/vs/workbench/contrib/welcomeWalkthrough/browser/editor/vs_code_editor_walkthrough.ts
@@ -1381,36 +1220,17 @@ index c512b64..dfa2150 100644
- markdownDescription: localize('workspace.trust.emptyWindow.description', "Controls whether or not the empty window is trusted by default within VS Code. When used with `#{0}#`, you can enable the full functionality of VS Code without prompting in an empty window.", WORKSPACE_TRUST_UNTRUSTED_FILES),
+ markdownDescription: localize('workspace.trust.emptyWindow.description', "Controls whether or not the empty window is trusted by default within !!APP_NAME!!. When used with `#{0}#`, you can enable the full functionality of !!APP_NAME!! without prompting in an empty window.", WORKSPACE_TRUST_UNTRUSTED_FILES),
tags: [WORKSPACE_TRUST_SETTING_TAG],
diff --git a/src/vs/workbench/electron-sandbox/desktop.contribution.ts b/src/vs/workbench/electron-sandbox/desktop.contribution.ts
index 88e0091..ec657a1 100644
--- a/src/vs/workbench/electron-sandbox/desktop.contribution.ts
+++ b/src/vs/workbench/electron-sandbox/desktop.contribution.ts
@@ -364,3 +364,3 @@ import { registerWorkbenchContribution2, WorkbenchPhase } from '../common/contri
allowTrailingCommas: true,
- description: 'VSCode static command line definition file',
+ description: '!!APP_NAME!! static command line definition file',
type: 'object',
@@ -409,3 +409,3 @@ import { registerWorkbenchContribution2, WorkbenchPhase } from '../common/contri
type: 'boolean',
- description: localize('argv.disableChromiumSandbox', "Disables the Chromium sandbox. This is useful when running VS Code as elevated on Linux and running under Applocker on Windows.")
+ description: localize('argv.disableChromiumSandbox', "Disables the Chromium sandbox. This is useful when running !!APP_NAME!! as elevated on Linux and running under Applocker on Windows.")
},
@@ -413,3 +413,3 @@ import { registerWorkbenchContribution2, WorkbenchPhase } from '../common/contri
type: 'boolean',
- description: localize('argv.useInMemorySecretStorage', "Ensures that an in-memory store will be used for secret storage instead of using the OS's credential store. This is often used when running VS Code extension tests or when you're experiencing difficulties with the credential store.")
+ description: localize('argv.useInMemorySecretStorage', "Ensures that an in-memory store will be used for secret storage instead of using the OS's credential store. This is often used when running !!APP_NAME!! extension tests or when you're experiencing difficulties with the credential store.")
}
diff --git a/src/vs/workbench/services/extensionManagement/common/extensionManagementService.ts b/src/vs/workbench/services/extensionManagement/common/extensionManagementService.ts
index edfe3a2..71a206f 100644
index e6805ca..f61cecc 100644
--- a/src/vs/workbench/services/extensionManagement/common/extensionManagementService.ts
+++ b/src/vs/workbench/services/extensionManagement/common/extensionManagementService.ts
@@ -1045,3 +1045,3 @@ export class ExtensionManagementService extends CommontExtensionManagementServic
@@ -1044,3 +1044,3 @@ export class ExtensionManagementService extends CommontExtensionManagementServic
- const productName = localize('VS Code for Web', "{0} for the Web", this.productService.nameLong);
+ const productName = localize('!!APP_NAME!! for Web', "{0} for the Web", this.productService.nameLong);
const virtualWorkspaceSupport = this.extensionManifestPropertiesService.getExtensionVirtualWorkspaceSupportType(manifest);
diff --git a/src/vs/workbench/services/extensions/common/extensionsRegistry.ts b/src/vs/workbench/services/extensions/common/extensionsRegistry.ts
index 859b976..06386e0 100644
index e1d3d68..3bdf93a 100644
--- a/src/vs/workbench/services/extensions/common/extensionsRegistry.ts
+++ b/src/vs/workbench/services/extensions/common/extensionsRegistry.ts
@@ -181,3 +181,3 @@ export const schema: IJSONSchema = {
@@ -1452,30 +1272,21 @@ index 859b976..06386e0 100644
- description: nls.localize('vscode.extension.activationEvents', 'Activation events for the VS Code extension.'),
+ description: nls.localize('vscode.extension.activationEvents', 'Activation events for the !!APP_NAME!! extension.'),
type: 'array',
@@ -412,3 +412,3 @@ export const schema: IJSONSchema = {
@@ -427,3 +427,3 @@ export const schema: IJSONSchema = {
label: '*',
- description: nls.localize('vscode.extension.activationEvents.star', 'An activation event emitted on VS Code startup. To ensure a great end user experience, please use this activation event in your extension only when no other activation events combination works in your use-case.'),
+ description: nls.localize('vscode.extension.activationEvents.star', 'An activation event emitted on !!APP_NAME!! startup. To ensure a great end user experience, please use this activation event in your extension only when no other activation events combination works in your use-case.'),
body: '*'
@@ -584,3 +584,3 @@ export const schema: IJSONSchema = {
@@ -599,3 +599,3 @@ export const schema: IJSONSchema = {
'vscode:prepublish': {
- description: nls.localize('vscode.extension.scripts.prepublish', 'Script executed before the package is published as a VS Code extension.'),
+ description: nls.localize('vscode.extension.scripts.prepublish', 'Script executed before the package is published as a !!APP_NAME!! extension.'),
type: 'string'
@@ -588,3 +588,3 @@ export const schema: IJSONSchema = {
@@ -603,3 +603,3 @@ export const schema: IJSONSchema = {
'vscode:uninstall': {
- description: nls.localize('vscode.extension.scripts.uninstall', 'Uninstall hook for VS Code extension. Script that gets executed when the extension is completely uninstalled from VS Code which is when VS Code is restarted (shutdown and start) after the extension is uninstalled. Only Node scripts are supported.'),
+ description: nls.localize('vscode.extension.scripts.uninstall', 'Uninstall hook for !!APP_NAME!! extension. Script that gets executed when the extension is completely uninstalled from !!APP_NAME!! which is when !!APP_NAME!! is restarted (shutdown and start) after the extension is uninstalled. Only Node scripts are supported.'),
type: 'string'
diff --git a/src/vs/workbench/services/extensions/electron-sandbox/nativeExtensionService.ts b/src/vs/workbench/services/extensions/electron-sandbox/nativeExtensionService.ts
index d38ab6b..2469194 100644
--- a/src/vs/workbench/services/extensions/electron-sandbox/nativeExtensionService.ts
+++ b/src/vs/workbench/services/extensions/electron-sandbox/nativeExtensionService.ts
@@ -167,3 +167,3 @@ export class NativeExtensionService extends AbstractExtensionService implements
[{
- label: nls.localize('relaunch', "Relaunch VS Code"),
+ label: nls.localize('relaunch', "Relaunch !!APP_NAME!!"),
run: () => {
diff --git a/src/vs/workbench/services/userDataProfile/browser/userDataProfileManagement.ts b/src/vs/workbench/services/userDataProfile/browser/userDataProfileManagement.ts
index cc56d9a..f446b8e 100644
--- a/src/vs/workbench/services/userDataProfile/browser/userDataProfileManagement.ts

View File

@@ -1,9 +1,9 @@
diff --git a/src/vs/workbench/contrib/chat/browser/chat.contribution.ts b/src/vs/workbench/contrib/chat/browser/chat.contribution.ts
index 56220de..68d708f 100644
index 549cfc6..9632509 100644
--- a/src/vs/workbench/contrib/chat/browser/chat.contribution.ts
+++ b/src/vs/workbench/contrib/chat/browser/chat.contribution.ts
@@ -142,3 +142,3 @@ configurationRegistry.registerConfiguration({
markdownDescription: nls.localize('chat.commandCenter.enabled', "Controls whether the command center shows a menu for actions to control Copilot (requires {0}).", '`#window.commandCenter#`'),
@@ -171,3 +171,3 @@ configurationRegistry.registerConfiguration({
markdownDescription: nls.localize('chat.commandCenter.enabled', "Controls whether the command center shows a menu for actions to control chat (requires {0}).", '`#window.commandCenter#`'),
- default: true
+ default: false
},

View File

@@ -0,0 +1,9 @@
diff --git a/src/vs/platform/update/common/update.config.contribution.ts b/src/vs/platform/update/common/update.config.contribution.ts
index d96926b..43f5d90 100644
--- a/src/vs/platform/update/common/update.config.contribution.ts
+++ b/src/vs/platform/update/common/update.config.contribution.ts
@@ -20,3 +20,3 @@ configurationRegistry.registerConfiguration({
enum: ['none', 'manual', 'start', 'default'],
- default: 'default',
+ default: 'none',
scope: ConfigurationScope.APPLICATION,

View File

@@ -0,0 +1,167 @@
diff --git a/src/vs/workbench/contrib/commands/common/commands.contribution.ts b/src/vs/workbench/contrib/commands/common/commands.contribution.ts
index 3fd6b59..97a0e04 100644
--- a/src/vs/workbench/contrib/commands/common/commands.contribution.ts
+++ b/src/vs/workbench/contrib/commands/common/commands.contribution.ts
@@ -9,2 +9,3 @@ import { Action2, registerAction2 } from '../../../../platform/actions/common/ac
import { ICommandService } from '../../../../platform/commands/common/commands.js';
+import { ConfigurationScope, IConfigurationRegistry } from '../../../../platform/configuration/common/configurationRegistry.js';
import { ServicesAccessor } from '../../../../platform/instantiation/common/instantiation.js';
@@ -12,2 +13,3 @@ import { ILogService } from '../../../../platform/log/common/log.js';
import { INotificationService } from '../../../../platform/notification/common/notification.js';
+import { Registry } from '../../../../platform/registry/common/platform.js';
@@ -156,2 +158,30 @@ class RunCommands extends Action2 {
+Registry.as<IConfigurationRegistry>('base.contributions.configuration')
+ .registerConfiguration({
+ id: 'commands',
+ order: 30,
+ title: nls.localize('commandsConfigurationTitle', "Commands"),
+ type: 'object',
+ properties: {
+ 'commands.filters': {
+ additionalProperties: {
+ type: 'string',
+ enum: ['ask', 'off', 'on'],
+ enumDescriptions: [
+ nls.localize('commands.filters.ask', 'Ask the user before executing the command.'),
+ nls.localize('commands.filters.off', 'The command is never authorized.'),
+ nls.localize('commands.filters.on', 'The command is always authorized.'),
+ ],
+ description: nls.localize('commands.filters.value', "Authorization for the command."),
+ },
+ description: nls.localize('commands.filters', "Controls which commands are authorized to be executed."),
+ default: {
+ 'workbench.action.terminal.newLocal': 'off'
+ },
+ scope: ConfigurationScope.APPLICATION,
+ tags: []
+ },
+ }
+ });
+
registerAction2(RunCommands);
diff --git a/src/vs/workbench/services/commands/common/commandService.ts b/src/vs/workbench/services/commands/common/commandService.ts
index 93d1631..0533cf0 100644
--- a/src/vs/workbench/services/commands/common/commandService.ts
+++ b/src/vs/workbench/services/commands/common/commandService.ts
@@ -8,3 +8,6 @@ import { Emitter, Event } from '../../../../base/common/event.js';
import { Disposable } from '../../../../base/common/lifecycle.js';
+import Severity from '../../../../base/common/severity.js';
import { CommandsRegistry, ICommandEvent, ICommandService } from '../../../../platform/commands/common/commands.js';
+import { IConfigurationService } from '../../../../platform/configuration/common/configuration.js';
+import { IDialogService } from '../../../../platform/dialogs/common/dialogs.js';
import { InstantiationType, registerSingleton } from '../../../../platform/instantiation/common/extensions.js';
@@ -20,2 +23,3 @@ export class CommandService extends Disposable implements ICommandService {
private _starActivation: CancelablePromise<void> | null;
+ private _commandFilters: Record<string, "ask" | "off" | "on">
@@ -30,3 +34,5 @@ export class CommandService extends Disposable implements ICommandService {
@IExtensionService private readonly _extensionService: IExtensionService,
- @ILogService private readonly _logService: ILogService
+ @ILogService private readonly _logService: ILogService,
+ @IConfigurationService private readonly _configurationService: IConfigurationService,
+ @IDialogService private readonly _dialogService: IDialogService
) {
@@ -35,2 +41,9 @@ export class CommandService extends Disposable implements ICommandService {
this._starActivation = null;
+ this._commandFilters = this._configurationService.getValue('commands.filters') ?? { 'workbench.action.terminal.newLocal': 'off' };
+
+ this._configurationService.onDidChangeConfiguration(async (event) => {
+ if (event.affectsConfiguration('commands.filters')) {
+ this._commandFilters = this._configurationService.getValue('commands.filters') ?? { 'workbench.action.terminal.newLocal': 'off' };
+ }
+ })
}
@@ -57,2 +70,27 @@ export class CommandService extends Disposable implements ICommandService {
+ const filter = this._commandFilters[id];
+ if (filter === 'off') {
+ return Promise.reject(new Error(`command '${id}' not authorized`));
+ }
+ else if (filter === 'ask') {
+ const { result } = await this._dialogService.prompt({
+ type: Severity.Error,
+ message: `Are you sure you want to execute the command "${id}"?`,
+ buttons: [
+ {
+ label: 'Yes',
+ run: () => true
+ },
+ {
+ label: 'No',
+ run: () => false
+ }
+ ],
+ });
+
+ if (!result) {
+ return Promise.reject(new Error(`command '${id}' not authorized`));
+ }
+ }
+
if (commandIsRegistered) {
diff --git a/src/vs/workbench/services/commands/test/common/commandService.test.ts b/src/vs/workbench/services/commands/test/common/commandService.test.ts
index ca3be11..fb456a3 100644
--- a/src/vs/workbench/services/commands/test/common/commandService.test.ts
+++ b/src/vs/workbench/services/commands/test/common/commandService.test.ts
@@ -12,2 +12,7 @@ import { NullExtensionService } from '../../../extensions/common/extensions.js';
import { CommandService } from '../../common/commandService.js';
+import { NullPolicyService } from '../../../../../platform/policy/common/policy.js';
+import { FileService } from '../../../../../platform/files/common/fileService.js';
+import { URI } from '../../../../../base/common/uri.js';
+import { ConfigurationService } from '../../../../../platform/configuration/common/configurationService.js';
+import { TestDialogService } from '../../../../../platform/dialogs/test/common/testDialogService.js';
@@ -16,4 +21,16 @@ suite('CommandService', function () {
const store = ensureNoDisposablesAreLeakedInTestSuite();
+ const testDisposables = ensureNoDisposablesAreLeakedInTestSuite();
+ let nullConfigService: ConfigurationService
setup(function () {
+ const nullPolicyService = new NullPolicyService();
+ const nullLogService = testDisposables.add(new NullLogService());
+ const nullFileService = testDisposables.add(new FileService(nullLogService));
+ nullConfigService = testDisposables.add(new ConfigurationService(
+ URI.file('/config.json'),
+ nullFileService,
+ nullPolicyService,
+ nullLogService,
+ ));
+
store.add(CommandsRegistry.registerCommand('foo', function () { }));
@@ -30,3 +47,3 @@ suite('CommandService', function () {
}
- }, new NullLogService()));
+ }, new NullLogService(), nullConfigService, new TestDialogService()));
@@ -50,3 +67,3 @@ suite('CommandService', function () {
- const service = store.add(new CommandService(new InstantiationService(), extensionService, new NullLogService()));
+ const service = store.add(new CommandService(new InstantiationService(), extensionService, new NullLogService(), nullConfigService, new TestDialogService()));
@@ -68,3 +85,3 @@ suite('CommandService', function () {
}
- }, new NullLogService()));
+ }, new NullLogService(), nullConfigService, new TestDialogService()));
@@ -85,3 +102,3 @@ suite('CommandService', function () {
}
- }, new NullLogService()));
+ }, new NullLogService(), nullConfigService, new TestDialogService()));
@@ -125,3 +142,3 @@ suite('CommandService', function () {
- }, new NullLogService()));
+ }, new NullLogService(), nullConfigService, new TestDialogService()));
@@ -166,3 +183,3 @@ suite('CommandService', function () {
- }, new NullLogService()));
+ }, new NullLogService(), nullConfigService, new TestDialogService()));
@@ -187,3 +204,3 @@ suite('CommandService', function () {
};
- const service = store.add(new CommandService(new InstantiationService(), extensionService, new NullLogService()));
+ const service = store.add(new CommandService(new InstantiationService(), extensionService, new NullLogService(), nullConfigService, new TestDialogService()));

View File

@@ -1,16 +1,17 @@
diff --git a/src/main.ts b/src/main.ts
index fdc424e..46b014b 100644
index deba4c4..1b41bde 100644
--- a/src/main.ts
+++ b/src/main.ts
@@ -8,2 +8,3 @@ import * as fs from 'original-fs';
import * as os from 'os';
import * as os from 'node:os';
+import { createRequire } from 'node:module';
import { performance } from 'perf_hooks';
@@ -24,2 +25,3 @@ import { NativeParsedArgs } from './vs/platform/environment/common/argv.js';
const __dirname = path.dirname(fileURLToPath(import.meta.url));
+const require = createRequire(import.meta.url);
import { performance } from 'node:perf_hooks';
@@ -22,2 +23,4 @@ import { NativeParsedArgs } from './vs/platform/environment/common/argv.js';
@@ -112,2 +114,14 @@ registerListeners();
+const require = createRequire(import.meta.url);
+
perf.mark('code/didStartMain');
@@ -109,2 +112,14 @@ registerListeners();
+function resolveUserProduct() {
+ const userProductPath = path.join(userDataPath, 'product.json');
@@ -25,27 +26,16 @@ index fdc424e..46b014b 100644
+}
+
/**
@@ -208,2 +222,3 @@ async function startup(codeCachePath: string | undefined, nlsConfig: INLSConfigu
@@ -205,2 +220,3 @@ async function startup(codeCachePath: string | undefined, nlsConfig: INLSConfigu
process.env['VSCODE_CODE_CACHE_PATH'] = codeCachePath || '';
+ resolveUserProduct();
diff --git a/src/vs/platform/product/common/product.ts b/src/vs/platform/product/common/product.ts
index d27cdce..d758c5e 100644
index 5a6c171..275cbcf 100644
--- a/src/vs/platform/product/common/product.ts
+++ b/src/vs/platform/product/common/product.ts
@@ -31,2 +31,36 @@ else if (globalThis._VSCODE_PRODUCT_JSON && globalThis._VSCODE_PACKAGE_JSON) {
@@ -31,2 +31,25 @@ else if (globalThis._VSCODE_PRODUCT_JSON && globalThis._VSCODE_PACKAGE_JSON) {
+ const { serviceUrl, controlUrl, extensionUrlTemplate, resourceUrlTemplate } = product.extensionsGallery || {};
+
+ Object.assign(product, {
+ extensionsGallery: {
+ serviceUrl: env['VSCODE_GALLERY_SERVICE_URL'] || serviceUrl,
+ controlUrl: env['VSCODE_GALLERY_CONTROL_URL'] || controlUrl,
+ extensionUrlTemplate: env['VSCODE_GALLERY_EXTENSION_URL_TEMPLATE'] || extensionUrlTemplate,
+ resourceUrlTemplate: env['VSCODE_GALLERY_RESOURCE_URL_TEMPLATE'] || resourceUrlTemplate,
+ }
+ });
+
+ // Merge user-customized product.json
+ try {
+ const merge = (...objects: any[]) =>

42
patches/fix-gallery.patch Normal file
View File

@@ -0,0 +1,42 @@
diff --git a/src/vs/base/common/product.ts b/src/vs/base/common/product.ts
index 3954823..f8026cd 100644
--- a/src/vs/base/common/product.ts
+++ b/src/vs/base/common/product.ts
@@ -112,2 +112,4 @@ export interface IProductConfiguration {
readonly accessSKUs?: string[];
+ readonly itemUrl: string;
+ readonly latestUrlTemplate?: string;
};
diff --git a/src/vs/platform/extensionManagement/common/extensionGalleryManifestService.ts b/src/vs/platform/extensionManagement/common/extensionGalleryManifestService.ts
index 658219e..d1bf7a9 100644
--- a/src/vs/platform/extensionManagement/common/extensionGalleryManifestService.ts
+++ b/src/vs/platform/extensionManagement/common/extensionGalleryManifestService.ts
@@ -19,2 +19,3 @@ type ExtensionGalleryConfig = {
readonly nlsBaseUrl: string;
+ readonly latestUrlTemplate?: string;
};
@@ -49,3 +50,3 @@ export class ExtensionGalleryManifestService extends Disposable implements IExte
{
- id: `${extensionsGallery.serviceUrl}/vscode/{publisher}/{name}/latest`,
+ id: extensionsGallery.latestUrlTemplate ?? `${extensionsGallery.serviceUrl}/vscode/{publisher}/{name}/latest`,
type: ExtensionGalleryResourceType.ExtensionLatestVersionUri
diff --git a/src/vs/platform/product/common/product.ts b/src/vs/platform/product/common/product.ts
index 5a6c171..112b31b 100644
--- a/src/vs/platform/product/common/product.ts
+++ b/src/vs/platform/product/common/product.ts
@@ -31,2 +31,15 @@ else if (globalThis._VSCODE_PRODUCT_JSON && globalThis._VSCODE_PACKAGE_JSON) {
+ const { serviceUrl, controlUrl, itemUrl, latestUrlTemplate, extensionUrlTemplate, resourceUrlTemplate } = product.extensionsGallery || {};
+
+ Object.assign(product, {
+ extensionsGallery: {
+ serviceUrl: env['VSCODE_GALLERY_SERVICE_URL'] || serviceUrl,
+ controlUrl: env['VSCODE_GALLERY_CONTROL_URL'] || controlUrl,
+ itemUrl: env['VSCODE_GALLERY_ITEM_URL'] || itemUrl,
+ latestUrlTemplate: env['VSCODE_GALLERY_LATEST_URL_TEMPLATE'] || latestUrlTemplate,
+ extensionUrlTemplate: env['VSCODE_GALLERY_EXTENSION_URL_TEMPLATE'] || extensionUrlTemplate,
+ resourceUrlTemplate: env['VSCODE_GALLERY_RESOURCE_URL_TEMPLATE'] || resourceUrlTemplate,
+ }
+ });
+
// Running out of sources

View File

@@ -1,8 +1,39 @@
diff --git a/.vscode/settings.json b/.vscode/settings.json
index 99e495a..996044a 100644
index 31b1c4a..f808aa6 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -10,5 +10,5 @@
@@ -17,23 +17,23 @@
},
"[typescript]": {
"editor.defaultFormatter": "vscode.typescript-language-features",
- "editor.formatOnSave": true
+ // "editor.formatOnSave": true
},
"[javascript]": {
"editor.defaultFormatter": "vscode.typescript-language-features",
- "editor.formatOnSave": true
+ // "editor.formatOnSave": true
},
"[rust]": {
"editor.defaultFormatter": "rust-lang.rust-analyzer",
- "editor.formatOnSave": true,
+ // "editor.formatOnSave": true,
},
"[github-issues]": {
"editor.wordWrap": "on"
},
// --- Files ---
- "files.trimTrailingWhitespace": true,
- "files.insertFinalNewline": true,
+ // "files.trimTrailingWhitespace": true,
+ // "files.insertFinalNewline": true,
"files.exclude": {
".git": true,
".build": true,
@@ -42,9 +42,9 @@
".vscode-test": true,
"cli/target": true,
"build/**/*.js.map": true,
- "build/**/*.js": {
- "when": "$(basename).ts"
@@ -11,27 +42,22 @@ index 99e495a..996044a 100644
+ // "when": "$(basename).ts"
+ // }
},
@@ -59,2 +59,3 @@
"files.associations": {
"cglicenses.json": "jsonc",
@@ -55,7 +55,7 @@
"**/yarn.lock": true,
"**/package-lock.json": true,
"**/Cargo.lock": true,
- "build/**/*.js": true,
+ // "build/**/*.js": true,
"out/**": true,
"out-build/**": true,
"out-vscode/**": true,
@@ -71,6 +71,7 @@
"build/builtin/*.js": true,
"build/monaco/*.js": true,
"build/npm/*.js": true,
+ "build/**/*.js": true,
"build/*.js": true
@@ -108,3 +109,3 @@
"gulp.autoDetect": "off",
- "files.insertFinalNewline": true,
+ // "files.insertFinalNewline": true,
"[plaintext]": {
@@ -114,3 +115,3 @@
"editor.defaultFormatter": "vscode.typescript-language-features",
- "editor.formatOnSave": true
+ // "editor.formatOnSave": true
},
@@ -118,3 +119,3 @@
"editor.defaultFormatter": "vscode.typescript-language-features",
- "editor.formatOnSave": true
+ // "editor.formatOnSave": true
},
@@ -122,3 +123,3 @@
"editor.defaultFormatter": "rust-lang.rust-analyzer",
- "editor.formatOnSave": true,
+ // "editor.formatOnSave": true,
},

View File

@@ -1,15 +0,0 @@
diff --git a/build/gulpfile.vscode.win32.js b/build/gulpfile.vscode.win32.js
index 5adfdfb..dfdb2af 100644
--- a/build/gulpfile.vscode.win32.js
+++ b/build/gulpfile.vscode.win32.js
@@ -115,6 +115,6 @@ function buildWin32Setup(arch, target) {
- if (quality === 'insider') {
- definitions['AppxPackage'] = `code_insiders_explorer_${arch}.appx`;
- definitions['AppxPackageFullname'] = `Microsoft.${product.win32RegValueName}_1.0.0.0_neutral__8wekyb3d8bbwe`;
- }
+ // if (quality === 'insider') {
+ // definitions['AppxPackage'] = `code_insiders_explorer_${arch}.appx`;
+ // definitions['AppxPackageFullname'] = `Microsoft.${product.win32RegValueName}_1.0.0.0_neutral__8wekyb3d8bbwe`;
+ // }

View File

@@ -1,5 +1,5 @@
diff --git a/build/azure-pipelines/linux/setup-env.sh b/build/azure-pipelines/linux/setup-env.sh
index 9410564..c1736f0 100755
index 6805633..9d4b59f 100755
--- a/build/azure-pipelines/linux/setup-env.sh
+++ b/build/azure-pipelines/linux/setup-env.sh
@@ -2,3 +2,3 @@
@@ -7,11 +7,16 @@ index 9410564..c1736f0 100755
-set -e
+set -ex
@@ -22,3 +22,3 @@ else
echo "Downloading remote sysroot"
- SYSROOT_ARCH="$SYSROOT_ARCH" VSCODE_SYSROOT_DIR="$VSCODE_REMOTE_SYSROOT_DIR" VSCODE_SYSROOT_PREFIX="-glibc-2.28-gcc-8.5.0" node -e '(async () => { const { getVSCodeSysroot } = require("./build/linux/debian/install-sysroot.js"); await getVSCodeSysroot(process.env["SYSROOT_ARCH"]); })()'
+ SYSROOT_ARCH="$SYSROOT_ARCH" VSCODE_SYSROOT_DIR="$VSCODE_REMOTE_SYSROOT_DIR" node -e '(async () => { const { getVSCodeSysroot } = require("./build/linux/debian/install-sysroot.js"); await getVSCodeSysroot(process.env["SYSROOT_ARCH"]); })()'
fi
diff --git a/build/gulpfile.reh.js b/build/gulpfile.reh.js
index c1d64c0..5ac9f95 100644
index 10b7b44..0ad7550 100644
--- a/build/gulpfile.reh.js
+++ b/build/gulpfile.reh.js
@@ -232,9 +232,23 @@ function nodejs(platform, arch) {
@@ -233,9 +233,23 @@ function nodejs(platform, arch) {
case 'linux':
- return (product.nodejsRepository !== 'https://nodejs.org' ?
- fetchGithub(product.nodejsRepository, { version: `${nodeVersion}-${internalNodeVersion}`, name: expectedName, checksumSha256 }) :
@@ -43,10 +48,10 @@ index c1d64c0..5ac9f95 100644
+ }
case 'alpine':
diff --git a/build/gulpfile.vscode.js b/build/gulpfile.vscode.js
index 7046ee0..67cb99a 100644
index 25d8916..250ba7c 100644
--- a/build/gulpfile.vscode.js
+++ b/build/gulpfile.vscode.js
@@ -382,2 +382,12 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op
@@ -366,2 +366,12 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op
+ const electronOverride = {};
+ if (process.env.VSCODE_ELECTRON_REPOSITORY) {
@@ -59,57 +64,57 @@ index 7046ee0..67cb99a 100644
+ }
+
let result = all
@@ -386,3 +396,3 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op
@@ -370,3 +380,3 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op
.pipe(filter(['**', '!**/.github/**'], { dot: true })) // https://github.com/microsoft/vscode/issues/116523
- .pipe(electron({ ...config, platform, arch: arch === 'armhf' ? 'arm' : arch, ffmpegChromium: false }))
+ .pipe(electron({ ...config, ...electronOverride, platform, arch: arch === 'armhf' ? 'arm' : arch, ffmpegChromium: false }))
.pipe(filter(['**', '!LICENSE', '!version'], { dot: true }));
diff --git a/build/linux/debian/dep-lists.js b/build/linux/debian/dep-lists.js
index 8ac57b9..8580d79 100644
index f58d0f8..4edb371 100644
--- a/build/linux/debian/dep-lists.js
+++ b/build/linux/debian/dep-lists.js
@@ -138,3 +138,3 @@ exports.referenceGeneratedDepsByArch = {
@@ -140,3 +140,3 @@ exports.referenceGeneratedDepsByArch = {
'xdg-utils (>= 1.0.2)'
- ]
+ ],
};
diff --git a/build/linux/debian/dep-lists.ts b/build/linux/debian/dep-lists.ts
index df119e8..91b0ebc 100644
index 5b7ccd5..707129f 100644
--- a/build/linux/debian/dep-lists.ts
+++ b/build/linux/debian/dep-lists.ts
@@ -138,3 +138,3 @@ export const referenceGeneratedDepsByArch = {
@@ -140,3 +140,3 @@ export const referenceGeneratedDepsByArch = {
'xdg-utils (>= 1.0.2)'
- ]
+ ],
};
diff --git a/build/linux/debian/install-sysroot.js b/build/linux/debian/install-sysroot.js
index 16d8d01..532e3d5 100644
index d16e13b..18e409a 100644
--- a/build/linux/debian/install-sysroot.js
+++ b/build/linux/debian/install-sysroot.js
@@ -74,3 +74,5 @@ async function fetchUrl(options, retries = 10, retryDelay = 1000) {
@@ -73,3 +73,5 @@ async function fetchUrl(options, retries = 10, retryDelay = 1000) {
try {
- const response = await fetch(`https://api.github.com/repos/Microsoft/vscode-linux-build-agent/releases/tags/v${version}`, {
+ const repository = process.env['VSCODE_SYSROOT_REPOSITORY'] ?? 'Microsoft/vscode-linux-build-agent';
+ const actualVersion = process.env['VSCODE_SYSROOT_VERSION'] ?? version;
+ const response = await fetch(`https://api.github.com/repos/${repository}/releases/tags/v${actualVersion}`, {
headers: ghApiHeaders,
@@ -83,3 +85,3 @@ async function fetchUrl(options, retries = 10, retryDelay = 1000) {
@@ -82,3 +84,3 @@ async function fetchUrl(options, retries = 10, retryDelay = 1000) {
if (!asset) {
- throw new Error(`Could not find asset in release of Microsoft/vscode-linux-build-agent @ ${version}`);
+ throw new Error(`Could not find asset in release of ${repository} @ ${actualVersion}`);
}
diff --git a/build/linux/debian/install-sysroot.ts b/build/linux/debian/install-sysroot.ts
index aa10e39..6543b49 100644
index 670fb68..092fc68 100644
--- a/build/linux/debian/install-sysroot.ts
+++ b/build/linux/debian/install-sysroot.ts
@@ -83,3 +83,5 @@ async function fetchUrl(options: IFetchOptions, retries = 10, retryDelay = 1000)
@@ -82,3 +82,5 @@ async function fetchUrl(options: IFetchOptions, retries = 10, retryDelay = 1000)
try {
- const response = await fetch(`https://api.github.com/repos/Microsoft/vscode-linux-build-agent/releases/tags/v${version}`, {
+ const repository = process.env['VSCODE_SYSROOT_REPOSITORY'] ?? 'Microsoft/vscode-linux-build-agent';
+ const actualVersion = process.env['VSCODE_SYSROOT_VERSION'] ?? version;
+ const response = await fetch(`https://api.github.com/repos/${repository}/releases/tags/v${actualVersion}`, {
headers: ghApiHeaders,
@@ -92,3 +94,3 @@ async function fetchUrl(options: IFetchOptions, retries = 10, retryDelay = 1000)
@@ -91,3 +93,3 @@ async function fetchUrl(options: IFetchOptions, retries = 10, retryDelay = 1000)
if (!asset) {
- throw new Error(`Could not find asset in release of Microsoft/vscode-linux-build-agent @ ${version}`);
+ throw new Error(`Could not find asset in release of ${repository} @ ${actualVersion}`);

View File

@@ -1,24 +1,24 @@
diff --git a/build/azure-pipelines/linux/setup-env.sh b/build/azure-pipelines/linux/setup-env.sh
index c1736f0..2da5cf9 100755
index c27358a..3e33f75 100755
--- a/build/azure-pipelines/linux/setup-env.sh
+++ b/build/azure-pipelines/linux/setup-env.sh
@@ -68,2 +68,14 @@ elif [ "$npm_config_arch" == "arm" ]; then
export VSCODE_REMOTE_LDFLAGS="--sysroot=$VSCODE_SYSROOT_DIR/arm-rpi-linux-gnueabihf/arm-rpi-linux-gnueabihf/sysroot -L$VSCODE_SYSROOT_DIR/arm-rpi-linux-gnueabihf/arm-rpi-linux-gnueabihf/sysroot/usr/lib/arm-linux-gnueabihf -L$VSCODE_SYSROOT_DIR/arm-rpi-linux-gnueabihf/arm-rpi-linux-gnueabihf/sysroot/lib/arm-linux-gnueabihf"
@@ -76,2 +76,14 @@ elif [ "$npm_config_arch" == "arm" ]; then
export VSCODE_REMOTE_LDFLAGS="--sysroot=$VSCODE_REMOTE_SYSROOT_DIR/arm-rpi-linux-gnueabihf/arm-rpi-linux-gnueabihf/sysroot -L$VSCODE_REMOTE_SYSROOT_DIR/arm-rpi-linux-gnueabihf/arm-rpi-linux-gnueabihf/sysroot/usr/lib/arm-linux-gnueabihf -L$VSCODE_REMOTE_SYSROOT_DIR/arm-rpi-linux-gnueabihf/arm-rpi-linux-gnueabihf/sysroot/lib/arm-linux-gnueabihf"
+elif [ "$npm_config_arch" == "ppc64" ]; then
+ # Set compiler toolchain for client native modules
+ export CC=$VSCODE_SYSROOT_DIR/powerpc64le-linux-gnu/bin/powerpc64le-linux-gnu-gcc
+ export CXX=$VSCODE_SYSROOT_DIR/powerpc64le-linux-gnu/bin/powerpc64le-linux-gnu-g++
+ export CXXFLAGS="--sysroot=$VSCODE_SYSROOT_DIR/powerpc64le-linux-gnu/powerpc64le-linux-gnu/sysroot"
+ export LDFLAGS="--sysroot=$VSCODE_SYSROOT_DIR/powerpc64le-linux-gnu/powerpc64le-linux-gnu/sysroot -L$VSCODE_SYSROOT_DIR/powerpc64le-linux-gnu/powerpc64le-linux-gnu/sysroot/usr/lib/powerpc64le-linux-gnu -L$VSCODE_SYSROOT_DIR/powerpc64le-linux-gnu/powerpc64le-linux-gnu/sysroot/lib/powerpc64le-linux-gnu"
+ export CC=$VSCODE_CLIENT_SYSROOT_DIR/powerpc64le-linux-gnu/bin/powerpc64le-linux-gnu-gcc
+ export CXX=$VSCODE_CLIENT_SYSROOT_DIR/powerpc64le-linux-gnu/bin/powerpc64le-linux-gnu-g++
+ export CXXFLAGS="--sysroot=$VSCODE_CLIENT_SYSROOT_DIR/powerpc64le-linux-gnu/powerpc64le-linux-gnu/sysroot"
+ export LDFLAGS="--sysroot=$VSCODE_CLIENT_SYSROOT_DIR/powerpc64le-linux-gnu/powerpc64le-linux-gnu/sysroot -L$VSCODE_CLIENT_SYSROOT_DIR/powerpc64le-linux-gnu/powerpc64le-linux-gnu/sysroot/usr/lib/powerpc64le-linux-gnu -L$VSCODE_CLIENT_SYSROOT_DIR/powerpc64le-linux-gnu/powerpc64le-linux-gnu/sysroot/lib/powerpc64le-linux-gnu"
+
+ # Set compiler toolchain for remote server
+ export VSCODE_REMOTE_CC=$VSCODE_SYSROOT_DIR/powerpc64le-linux-gnu/bin/powerpc64le-linux-gnu-gcc
+ export VSCODE_REMOTE_CXX=$VSCODE_SYSROOT_DIR/powerpc64le-linux-gnu/bin/powerpc64le-linux-gnu-g++
+ export VSCODE_REMOTE_CXXFLAGS="--sysroot=$VSCODE_SYSROOT_DIR/powerpc64le-linux-gnu/powerpc64le-linux-gnu/sysroot"
+ export VSCODE_REMOTE_LDFLAGS="--sysroot=$VSCODE_SYSROOT_DIR/powerpc64le-linux-gnu/powerpc64le-linux-gnu/sysroot -L$VSCODE_SYSROOT_DIR/powerpc64le-linux-gnu/powerpc64le-linux-gnu/sysroot/usr/lib/powerpc64le-linux-gnu -L$VSCODE_SYSROOT_DIR/powerpc64le-linux-gnu/powerpc64le-linux-gnu/sysroot/lib/powerpc64le-linux-gnu"
+ export VSCODE_REMOTE_CC=$VSCODE_REMOTE_SYSROOT_DIR/powerpc64le-linux-gnu/bin/powerpc64le-linux-gnu-gcc
+ export VSCODE_REMOTE_CXX=$VSCODE_REMOTE_SYSROOT_DIR/powerpc64le-linux-gnu/bin/powerpc64le-linux-gnu-g++
+ export VSCODE_REMOTE_CXXFLAGS="--sysroot=$VSCODE_REMOTE_SYSROOT_DIR/powerpc64le-linux-gnu/powerpc64le-linux-gnu/sysroot"
+ export VSCODE_REMOTE_LDFLAGS="--sysroot=$VSCODE_REMOTE_SYSROOT_DIR/powerpc64le-linux-gnu/powerpc64le-linux-gnu/sysroot -L$VSCODE_REMOTE_SYSROOT_DIR/powerpc64le-linux-gnu/powerpc64le-linux-gnu/sysroot/usr/lib/powerpc64le-linux-gnu -L$VSCODE_REMOTE_SYSROOT_DIR/powerpc64le-linux-gnu/powerpc64le-linux-gnu/sysroot/lib/powerpc64le-linux-gnu"
fi
diff --git a/build/azure-pipelines/linux/verify-glibc-requirements.sh b/build/azure-pipelines/linux/verify-glibc-requirements.sh
index c655ce7..c7150f2 100755
index 5294177..1e33aeb 100755
--- a/build/azure-pipelines/linux/verify-glibc-requirements.sh
+++ b/build/azure-pipelines/linux/verify-glibc-requirements.sh
@@ -9,2 +9,4 @@ elif [ "$VSCODE_ARCH" == "armhf" ]; then
@@ -50,10 +50,10 @@ index aafc64e..484d5f4 100644
+ { platform: 'linux', arch: 'ppc64le' },
];
diff --git a/build/gulpfile.vscode.js b/build/gulpfile.vscode.js
index 67cb99a..3ed2182 100644
index 004417f..c38fc1a 100644
--- a/build/gulpfile.vscode.js
+++ b/build/gulpfile.vscode.js
@@ -491,2 +491,3 @@ const BUILD_TARGETS = [
@@ -475,2 +475,3 @@ const BUILD_TARGETS = [
{ platform: 'linux', arch: 'arm64' },
+ { platform: 'linux', arch: 'ppc64le' },
];
@@ -99,10 +99,10 @@ index addc386..423c415 100644
+ break;
}
diff --git a/build/linux/debian/dep-lists.js b/build/linux/debian/dep-lists.js
index 8580d79..a85352e 100644
index 057961c..ed10661 100644
--- a/build/linux/debian/dep-lists.js
+++ b/build/linux/debian/dep-lists.js
@@ -139,2 +139,41 @@ exports.referenceGeneratedDepsByArch = {
@@ -141,2 +141,41 @@ exports.referenceGeneratedDepsByArch = {
],
+ 'ppc64el': [
+ 'ca-certificates',
@@ -145,10 +145,10 @@ index 8580d79..a85352e 100644
+ ],
};
diff --git a/build/linux/debian/dep-lists.ts b/build/linux/debian/dep-lists.ts
index 91b0ebc..0d0f11b 100644
index 707129f..7fe60be 100644
--- a/build/linux/debian/dep-lists.ts
+++ b/build/linux/debian/dep-lists.ts
@@ -139,2 +139,41 @@ export const referenceGeneratedDepsByArch = {
@@ -141,2 +141,41 @@ export const referenceGeneratedDepsByArch = {
],
+ 'ppc64el': [
+ 'ca-certificates',
@@ -191,7 +191,7 @@ index 91b0ebc..0d0f11b 100644
+ ],
};
diff --git a/build/linux/debian/install-sysroot.js b/build/linux/debian/install-sysroot.js
index 783db5c..2b63de5 100644
index 8fbdf3d..011b36f 100644
--- a/build/linux/debian/install-sysroot.js
+++ b/build/linux/debian/install-sysroot.js
@@ -146,2 +146,6 @@ async function getVSCodeSysroot(arch, isMusl = false) {
@@ -202,7 +202,7 @@ index 783db5c..2b63de5 100644
+ break;
}
diff --git a/build/linux/debian/install-sysroot.ts b/build/linux/debian/install-sysroot.ts
index 57cf015..8cfa7f4 100644
index 9f3fd15..756b7fd 100644
--- a/build/linux/debian/install-sysroot.ts
+++ b/build/linux/debian/install-sysroot.ts
@@ -159,2 +159,6 @@ export async function getVSCodeSysroot(arch: DebianArchString, isMusl: boolean =
@@ -235,10 +235,10 @@ index e97485e..43f2434 100644
+ return ['amd64', 'armhf', 'arm64', 'ppc64el'].includes(s);
}
diff --git a/build/linux/rpm/dep-lists.js b/build/linux/rpm/dep-lists.js
index f45b6f3..4f2ae95 100644
index 1f19c85..43ac5a0 100644
--- a/build/linux/rpm/dep-lists.js
+++ b/build/linux/rpm/dep-lists.js
@@ -314,2 +314,102 @@ exports.referenceGeneratedDepsByArch = {
@@ -316,2 +316,102 @@ exports.referenceGeneratedDepsByArch = {
'xdg-utils'
+ ],
+ "ppc64le": [
@@ -342,10 +342,10 @@ index f45b6f3..4f2ae95 100644
+ 'xdg-utils'
]
diff --git a/build/linux/rpm/dep-lists.ts b/build/linux/rpm/dep-lists.ts
index d277ca7..c6d7761 100644
index db52338..4231f09 100644
--- a/build/linux/rpm/dep-lists.ts
+++ b/build/linux/rpm/dep-lists.ts
@@ -313,2 +313,102 @@ export const referenceGeneratedDepsByArch = {
@@ -315,2 +315,102 @@ export const referenceGeneratedDepsByArch = {
'xdg-utils'
+ ],
+ "ppc64le": [
@@ -513,28 +513,28 @@ index 8ea4c0b..b9d3b47 100644
+ ppc64el) LDCONFIG_ARCH="64bit";;
esac
diff --git a/src/vs/platform/extensionManagement/common/extensionManagement.ts b/src/vs/platform/extensionManagement/common/extensionManagement.ts
index f270903..8b028eb 100644
index e91310f..a28beef 100644
--- a/src/vs/platform/extensionManagement/common/extensionManagement.ts
+++ b/src/vs/platform/extensionManagement/common/extensionManagement.ts
@@ -46,2 +46,3 @@ export function TargetPlatformToString(targetPlatform: TargetPlatform) {
@@ -47,2 +47,3 @@ export function TargetPlatformToString(targetPlatform: TargetPlatform) {
case TargetPlatform.LINUX_ARMHF: return 'Linux ARM';
+ case TargetPlatform.LINUX_PPC64LE: return 'Linux PowerPC64';
@@ -69,2 +70,3 @@ export function toTargetPlatform(targetPlatform: string): TargetPlatform {
@@ -70,2 +71,3 @@ export function toTargetPlatform(targetPlatform: string): TargetPlatform {
case TargetPlatform.LINUX_ARMHF: return TargetPlatform.LINUX_ARMHF;
+ case TargetPlatform.LINUX_PPC64LE: return TargetPlatform.LINUX_PPC64LE;
@@ -104,2 +106,5 @@ export function getTargetPlatform(platform: Platform | 'alpine', arch: string |
@@ -105,2 +107,5 @@ export function getTargetPlatform(platform: Platform | 'alpine', arch: string |
}
+ if (arch === 'ppc64le') {
+ return TargetPlatform.LINUX_PPC64LE;
+ }
return TargetPlatform.UNKNOWN;
diff --git a/src/vs/platform/extensions/common/extensions.ts b/src/vs/platform/extensions/common/extensions.ts
index 8e68cbe..23f1bea 100644
index 0b42527..69d6eb3 100644
--- a/src/vs/platform/extensions/common/extensions.ts
+++ b/src/vs/platform/extensions/common/extensions.ts
@@ -319,2 +319,3 @@ export const enum TargetPlatform {
@@ -329,2 +329,3 @@ export const enum TargetPlatform {
LINUX_ARMHF = 'linux-armhf',
+ LINUX_PPC64LE = 'linux-ppc64le',

View File

@@ -1,27 +1,27 @@
diff --git a/build/azure-pipelines/linux/setup-env.sh b/build/azure-pipelines/linux/setup-env.sh
index 2da5cf9..700e199 100755
index 3e33f75..052b38f 100755
--- a/build/azure-pipelines/linux/setup-env.sh
+++ b/build/azure-pipelines/linux/setup-env.sh
@@ -80,2 +80,14 @@ elif [ "$npm_config_arch" == "ppc64" ]; then
export VSCODE_REMOTE_LDFLAGS="--sysroot=$VSCODE_SYSROOT_DIR/powerpc64le-linux-gnu/powerpc64le-linux-gnu/sysroot -L$VSCODE_SYSROOT_DIR/powerpc64le-linux-gnu/powerpc64le-linux-gnu/sysroot/usr/lib/powerpc64le-linux-gnu -L$VSCODE_SYSROOT_DIR/powerpc64le-linux-gnu/powerpc64le-linux-gnu/sysroot/lib/powerpc64le-linux-gnu"
@@ -88,2 +88,14 @@ elif [ "$npm_config_arch" == "ppc64" ]; then
export VSCODE_REMOTE_LDFLAGS="--sysroot=$VSCODE_REMOTE_SYSROOT_DIR/powerpc64le-linux-gnu/powerpc64le-linux-gnu/sysroot -L$VSCODE_REMOTE_SYSROOT_DIR/powerpc64le-linux-gnu/powerpc64le-linux-gnu/sysroot/usr/lib/powerpc64le-linux-gnu -L$VSCODE_REMOTE_SYSROOT_DIR/powerpc64le-linux-gnu/powerpc64le-linux-gnu/sysroot/lib/powerpc64le-linux-gnu"
+elif [ "$npm_config_arch" == "s390x" ]; then
+ # Set compiler toolchain for client native modules
+ export CC=$VSCODE_SYSROOT_DIR/s390x-linux-gnu/bin/s390x-linux-gnu-gcc
+ export CXX=$VSCODE_SYSROOT_DIR/s390x-linux-gnu/bin/s390x-linux-gnu-g++
+ export CXXFLAGS="--sysroot=$VSCODE_SYSROOT_DIR/s390x-linux-gnu/s390x-linux-gnu/sysroot"
+ export LDFLAGS="--sysroot=$VSCODE_SYSROOT_DIR/s390x-linux-gnu/s390x-linux-gnu/sysroot -L$VSCODE_SYSROOT_DIR/s390x-linux-gnu/s390x-linux-gnu/sysroot/usr/lib/s390x-linux-gnu -L$VSCODE_SYSROOT_DIR/s390x-linux-gnu/s390x-linux-gnu/sysroot/lib/s390x-linux-gnu"
+ export CC=$VSCODE_CLIENT_SYSROOT_DIR/s390x-linux-gnu/bin/s390x-linux-gnu-gcc
+ export CXX=$VSCODE_CLIENT_SYSROOT_DIR/s390x-linux-gnu/bin/s390x-linux-gnu-g++
+ export CXXFLAGS="--sysroot=$VSCODE_CLIENT_SYSROOT_DIR/s390x-linux-gnu/s390x-linux-gnu/sysroot"
+ export LDFLAGS="--sysroot=$VSCODE_CLIENT_SYSROOT_DIR/s390x-linux-gnu/s390x-linux-gnu/sysroot -L$VSCODE_CLIENT_SYSROOT_DIR/s390x-linux-gnu/s390x-linux-gnu/sysroot/usr/lib/s390x-linux-gnu -L$VSCODE_CLIENT_SYSROOT_DIR/s390x-linux-gnu/s390x-linux-gnu/sysroot/lib/s390x-linux-gnu"
+
+ # Set compiler toolchain for remote server
+ export VSCODE_REMOTE_CC=$VSCODE_SYSROOT_DIR/s390x-linux-gnu/bin/s390x-linux-gnu-gcc
+ export VSCODE_REMOTE_CXX=$VSCODE_SYSROOT_DIR/s390x-linux-gnu/bin/s390x-linux-gnu-g++
+ export VSCODE_REMOTE_CXXFLAGS="--sysroot=$VSCODE_SYSROOT_DIR/s390x-linux-gnu/s390x-linux-gnu/sysroot"
+ export VSCODE_REMOTE_LDFLAGS="--sysroot=$VSCODE_SYSROOT_DIR/s390x-linux-gnu/s390x-linux-gnu/sysroot -L$VSCODE_SYSROOT_DIR/s390x-linux-gnu/s390x-linux-gnu/sysroot/usr/lib/s390x-linux-gnu -L$VSCODE_SYSROOT_DIR/s390x-linux-gnu/s390x-linux-gnu/sysroot/lib/s390x-linux-gnu"
+ export VSCODE_REMOTE_CC=$VSCODE_REMOTE_SYSROOT_DIR/s390x-linux-gnu/bin/s390x-linux-gnu-gcc
+ export VSCODE_REMOTE_CXX=$VSCODE_REMOTE_SYSROOT_DIR/s390x-linux-gnu/bin/s390x-linux-gnu-g++
+ export VSCODE_REMOTE_CXXFLAGS="--sysroot=$VSCODE_REMOTE_SYSROOT_DIR/s390x-linux-gnu/s390x-linux-gnu/sysroot"
+ export VSCODE_REMOTE_LDFLAGS="--sysroot=$VSCODE_REMOTE_SYSROOT_DIR/s390x-linux-gnu/s390x-linux-gnu/sysroot -L$VSCODE_REMOTE_SYSROOT_DIR/s390x-linux-gnu/s390x-linux-gnu/sysroot/usr/lib/s390x-linux-gnu -L$VSCODE_REMOTE_SYSROOT_DIR/s390x-linux-gnu/s390x-linux-gnu/sysroot/lib/s390x-linux-gnu"
fi
diff --git a/build/checksums/vscode-sysroot.txt b/build/checksums/vscode-sysroot.txt
index db63d02..bbfa533 100644
index 3fedbe9..3c4e291 100644
--- a/build/checksums/vscode-sysroot.txt
+++ b/build/checksums/vscode-sysroot.txt
@@ -4 +4,2 @@ dbb927408393041664a020661f2641c9785741be3d29b050b9dac58980967784 x86_64-linux-g
@@ -8 +8,2 @@ f82c8dacbb9dd85819e4801909eb4e842ac12c899632aa75b4839383a18c7501 arm-rpi-linux-
fa8176d27be18bb0eeb7f55b0fa22255050b430ef68c29136599f02976eb0b1b powerpc64le-linux-gnu-glibc-2.28.tar.gz
+7055f3d40e7195fb1e13f0fbaf5ffadf781bddaca5fd5e0d9972f4157a203fb5 s390x-linux-gnu-glibc-2.28.tar.gz
diff --git a/build/gulpfile.reh.js b/build/gulpfile.reh.js
@@ -41,10 +41,10 @@ index 8a8c1eb..1ef390b 100644
+ { platform: 'linux', arch: 's390x' },
];
diff --git a/build/gulpfile.vscode.js b/build/gulpfile.vscode.js
index 1438867..8593b88 100644
index ee66585..c9f9ceb 100644
--- a/build/gulpfile.vscode.js
+++ b/build/gulpfile.vscode.js
@@ -494,2 +494,3 @@ const BUILD_TARGETS = [
@@ -478,2 +478,3 @@ const BUILD_TARGETS = [
{ platform: 'linux', arch: 'loong64' },
+ { platform: 'linux', arch: 's390x' },
];
@@ -90,10 +90,10 @@ index 88ee2f0..8037cf2 100644
+ break;
}
diff --git a/build/linux/debian/dep-lists.js b/build/linux/debian/dep-lists.js
index 4ccdcd9..ad00020 100644
index 13cf8f0..9ffd805 100644
--- a/build/linux/debian/dep-lists.js
+++ b/build/linux/debian/dep-lists.js
@@ -218,2 +218,42 @@ exports.referenceGeneratedDepsByArch = {
@@ -220,2 +220,42 @@ exports.referenceGeneratedDepsByArch = {
],
+ 's390x': [
+ 'ca-certificates',
@@ -137,10 +137,10 @@ index 4ccdcd9..ad00020 100644
+ ],
};
diff --git a/build/linux/debian/dep-lists.ts b/build/linux/debian/dep-lists.ts
index b765492..f7edfda 100644
index 7e6938a..8a314ec 100644
--- a/build/linux/debian/dep-lists.ts
+++ b/build/linux/debian/dep-lists.ts
@@ -218,2 +218,42 @@ export const referenceGeneratedDepsByArch = {
@@ -220,2 +220,42 @@ export const referenceGeneratedDepsByArch = {
],
+ 's390x': [
+ 'ca-certificates',
@@ -184,10 +184,10 @@ index b765492..f7edfda 100644
+ ],
};
diff --git a/build/linux/debian/install-sysroot.js b/build/linux/debian/install-sysroot.js
index fc2817a..735e42d 100644
index e510426..ce7c75b 100644
--- a/build/linux/debian/install-sysroot.js
+++ b/build/linux/debian/install-sysroot.js
@@ -148,2 +148,6 @@ async function getVSCodeSysroot(arch) {
@@ -154,2 +154,6 @@ async function getVSCodeSysroot(arch, isMusl = false) {
break;
+ case 's390x':
+ expectedName = `s390x-linux-gnu${prefix}.tar.gz`;
@@ -195,10 +195,10 @@ index fc2817a..735e42d 100644
+ break;
}
diff --git a/build/linux/debian/install-sysroot.ts b/build/linux/debian/install-sysroot.ts
index 50c28b2..aa30cee 100644
index 42841f6..cffae59 100644
--- a/build/linux/debian/install-sysroot.ts
+++ b/build/linux/debian/install-sysroot.ts
@@ -162,2 +162,6 @@ export async function getVSCodeSysroot(arch: DebianArchString): Promise<string>
@@ -167,2 +167,6 @@ export async function getVSCodeSysroot(arch: DebianArchString, isMusl: boolean =
break;
+ case 's390x':
+ expectedName = `s390x-linux-gnu${prefix}.tar.gz`;
@@ -228,10 +228,10 @@ index 24fe452..9efba5b 100644
+ return ['amd64', 'armhf', 'arm64', 'ppc64el', 'riscv64', 's390x'].includes(s);
}
diff --git a/build/linux/rpm/dep-lists.ts b/build/linux/rpm/dep-lists.ts
index c6d7761..74c58e0 100644
index 4231f09..fc70433 100644
--- a/build/linux/rpm/dep-lists.ts
+++ b/build/linux/rpm/dep-lists.ts
@@ -413,2 +413,102 @@ export const referenceGeneratedDepsByArch = {
@@ -415,2 +415,102 @@ export const referenceGeneratedDepsByArch = {
'xdg-utils'
+ ],
+ "s390x": [
@@ -365,28 +365,28 @@ index 0b7aa4e..e8b7ce0 100644
+ s390x) LDCONFIG_ARCH="64bit";;
esac
diff --git a/src/vs/platform/extensionManagement/common/extensionManagement.ts b/src/vs/platform/extensionManagement/common/extensionManagement.ts
index 1a0decd..e657203 100644
index dedea4c..1043fe4 100644
--- a/src/vs/platform/extensionManagement/common/extensionManagement.ts
+++ b/src/vs/platform/extensionManagement/common/extensionManagement.ts
@@ -47,2 +47,3 @@ export function TargetPlatformToString(targetPlatform: TargetPlatform) {
@@ -50,2 +50,3 @@ export function TargetPlatformToString(targetPlatform: TargetPlatform) {
case TargetPlatform.LINUX_LOONG64: return 'Linux Loong64';
+ case TargetPlatform.LINUX_S390X: return 'Linux S390X';
@@ -73,2 +74,3 @@ export function toTargetPlatform(targetPlatform: string): TargetPlatform {
@@ -76,2 +77,3 @@ export function toTargetPlatform(targetPlatform: string): TargetPlatform {
case TargetPlatform.LINUX_LOONG64: return TargetPlatform.LINUX_LOONG64;
+ case TargetPlatform.LINUX_S390X: return TargetPlatform.LINUX_S390X;
@@ -117,2 +119,5 @@ export function getTargetPlatform(platform: Platform | 'alpine', arch: string |
@@ -120,2 +122,5 @@ export function getTargetPlatform(platform: Platform | 'alpine', arch: string |
}
+ if (arch === 's390x') {
+ return TargetPlatform.LINUX_S390X;
+ }
return TargetPlatform.UNKNOWN;
diff --git a/src/vs/platform/extensions/common/extensions.ts b/src/vs/platform/extensions/common/extensions.ts
index 3eb0412..4b5b29b 100644
index 6d554ce..51d23fa 100644
--- a/src/vs/platform/extensions/common/extensions.ts
+++ b/src/vs/platform/extensions/common/extensions.ts
@@ -322,2 +322,3 @@ export const enum TargetPlatform {
@@ -332,2 +332,3 @@ export const enum TargetPlatform {
LINUX_LOONG64 = 'linux-loong64',
+ LINUX_S390X = 'linux-s390x',

View File

@@ -1,19 +1,19 @@
diff --git a/build/linux/dependencies-generator.js b/build/linux/dependencies-generator.js
index 448ab38..ffc71f9 100644
index b544223..e9063ec 100644
--- a/build/linux/dependencies-generator.js
+++ b/build/linux/dependencies-generator.js
@@ -27,3 +27,3 @@ const product = require("../../product.json");
// are valid, are in dep-lists.ts
-const FAIL_BUILD_FOR_NEW_DEPENDENCIES = true;
+const FAIL_BUILD_FOR_NEW_DEPENDENCIES = false;
// Based on https://source.chromium.org/chromium/chromium/src/+/refs/tags/132.0.6834.210:chrome/installer/linux/BUILD.gn;l=64-80
// Based on https://source.chromium.org/chromium/chromium/src/+/refs/tags/138.0.7204.235:chrome/installer/linux/BUILD.gn;l=64-80
@@ -60,3 +60,3 @@ async function getDependencies(packageType, buildDir, applicationName, arch) {
// Add the tunnel binary.
- files.push(path_1.default.join(buildDir, 'bin', product.tunnelApplicationName));
+ // files.push(path_1.default.join(buildDir, 'bin', product.tunnelApplicationName));
// Add the main executable.
diff --git a/build/linux/dependencies-generator.ts b/build/linux/dependencies-generator.ts
index 6c1f7b7..31cc2a8 100644
index 00d7bc6..a5e256c 100644
--- a/build/linux/dependencies-generator.ts
+++ b/build/linux/dependencies-generator.ts
@@ -25,3 +25,3 @@ import product = require('../../product.json');

View File

@@ -1,25 +1,18 @@
diff --git a/src/bootstrap-esm.ts b/src/bootstrap-esm.ts
index f2cf101..d974f65 100644
index 54681a2..39f72ad 100644
--- a/src/bootstrap-esm.ts
+++ b/src/bootstrap-esm.ts
@@ -8,3 +8,3 @@ import * as fs from 'fs';
import { fileURLToPath } from 'url';
-import { createRequire, register } from 'node:module';
@@ -6,3 +6,3 @@
import * as fs from 'node:fs';
-import { register } from 'node:module';
+import * as Module from 'node:module';
import { product, pkg } from './bootstrap-meta.js';
@@ -14,3 +14,4 @@ import { INLSConfiguration } from './vs/nls.js';
-const require = createRequire(import.meta.url);
+// @ts-ignore
+const require = Module.createRequire(import.meta.url);
const __dirname = path.dirname(fileURLToPath(import.meta.url));
@@ -18,3 +19,4 @@ const __dirname = path.dirname(fileURLToPath(import.meta.url));
@@ -13,3 +13,3 @@ import { INLSConfiguration } from './vs/nls.js';
// Install a hook to module resolution to map 'fs' to 'original-fs'
-if (process.env['ELECTRON_RUN_AS_NODE'] || process.versions['electron']) {
+// @ts-ignore
+if (Module.register && (process.env['ELECTRON_RUN_AS_NODE'] || process.versions['electron'])) {
const jsCode = `
@@ -33,3 +35,4 @@ if (process.env['ELECTRON_RUN_AS_NODE'] || process.versions['electron']) {
@@ -28,3 +28,4 @@ if (process.env['ELECTRON_RUN_AS_NODE'] || process.versions['electron']) {
}`;
- register(`data:text/javascript;base64,${Buffer.from(jsCode).toString('base64')}`, import.meta.url);
+ // @ts-ignore

View File

@@ -1,8 +1,8 @@
diff --git a/src/vs/workbench/electron-sandbox/window.ts b/src/vs/workbench/electron-sandbox/window.ts
index 90c9654..3ef5d32 100644
--- a/src/vs/workbench/electron-sandbox/window.ts
+++ b/src/vs/workbench/electron-sandbox/window.ts
@@ -257,4 +257,4 @@ export class NativeWindow extends BaseWindow {
diff --git a/src/vs/workbench/electron-browser/window.ts b/src/vs/workbench/electron-browser/window.ts
index d507690..1abeb63 100644
--- a/src/vs/workbench/electron-browser/window.ts
+++ b/src/vs/workbench/electron-browser/window.ts
@@ -251,4 +251,4 @@ export class NativeWindow extends BaseWindow {
const quality = this.productService.quality;
- const stableURL = 'https://code.visualstudio.com/docs/?dv=osx';
- const insidersURL = 'https://code.visualstudio.com/docs/?dv=osx&build=insiders';

View File

@@ -22,7 +22,7 @@ index 3e654cf..d9ee9f5 100644
+!@vscodium/policy-watcher/build/Release/vscodium-policy-watcher.node
diff --git a/build/lib/policies.js b/build/lib/policies.js
index ac69762..db1fd3d 100644
index d2ef760..fa0eea4 100644
--- a/build/lib/policies.js
+++ b/build/lib/policies.js
@@ -81,3 +81,3 @@ class BasePolicy {
@@ -36,7 +36,7 @@ index ac69762..db1fd3d 100644
+ <target prefix="${regKey}" namespace="!!ORG_NAME!!.Policies.${regKey}" />
</policyNamespaces>
diff --git a/build/lib/policies.ts b/build/lib/policies.ts
index 34d20e9..8404cdf 100644
index 381d2f4..9cdec71 100644
--- a/build/lib/policies.ts
+++ b/build/lib/policies.ts
@@ -107,3 +107,3 @@ abstract class BasePolicy implements Policy {
@@ -50,27 +50,27 @@ index 34d20e9..8404cdf 100644
+ <target prefix="${regKey}" namespace="!!ORG_NAME!!.Policies.${regKey}" />
</policyNamespaces>
diff --git a/eslint.config.js b/eslint.config.js
index f1b01d0..7dca1f1 100644
index d7b29f2..1eb07aa 100644
--- a/eslint.config.js
+++ b/eslint.config.js
@@ -797,3 +797,3 @@ export default tseslint.config(
@@ -786,3 +786,3 @@ export default tseslint.config(
'@vscode/iconv-lite-umd',
- '@vscode/policy-watcher',
+ '@vscodium/policy-watcher',
'@vscode/proxy-agent',
diff --git a/package-lock.json b/package-lock.json
index beb023f..623c8ab 100644
index e4466bd..fd77ff8 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -18,3 +18,2 @@
"@vscode/iconv-lite-umd": "0.7.0",
- "@vscode/policy-watcher": "^1.3.2",
"@vscode/proxy-agent": "^0.32.0",
"@vscode/proxy-agent": "^0.34.0",
@@ -29,2 +28,3 @@
"@vscode/windows-registry": "^1.1.0",
+ "@vscodium/policy-watcher": "^1.3.2-252465",
"@xterm/addon-clipboard": "^0.2.0-beta.84",
@@ -2701,22 +2701,2 @@
"@xterm/addon-clipboard": "^0.2.0-beta.101",
@@ -3270,22 +3270,2 @@
},
- "node_modules/@vscode/policy-watcher": {
- "version": "1.3.2",
@@ -93,7 +93,7 @@ index beb023f..623c8ab 100644
- }
- },
"node_modules/@vscode/proxy-agent": {
@@ -3117,2 +3097,22 @@
@@ -3682,2 +3662,22 @@
},
+ "node_modules/@vscodium/policy-watcher": {
+ "version": "1.3.2-252465",
@@ -117,14 +117,14 @@ index beb023f..623c8ab 100644
+ },
"node_modules/@webassemblyjs/ast": {
diff --git a/package.json b/package.json
index 8d3443f..e95927c 100644
index 1120460..f74589f 100644
--- a/package.json
+++ b/package.json
@@ -77,3 +77,3 @@
@@ -78,3 +78,3 @@
"@vscode/iconv-lite-umd": "0.7.0",
- "@vscode/policy-watcher": "^1.3.2",
+ "@vscodium/policy-watcher": "^1.3.2-252465",
"@vscode/proxy-agent": "^0.32.0",
"@vscode/proxy-agent": "^0.34.0",
diff --git a/src/vs/base/test/node/uri.perf.data.txt b/src/vs/base/test/node/uri.perf.data.txt
index ee0a24b..881ce36 100644
--- a/src/vs/base/test/node/uri.perf.data.txt
@@ -225,7 +225,7 @@ index ee0a24b..881ce36 100644
+/Users/example/node_modules/@vscodium/policy-watcher/src/windows/NumberPolicy.hh
/Users/example/node_modules/@vscode/vscode-languagedetection/CODE_OF_CONDUCT.md
diff --git a/src/vs/platform/environment/test/node/nativeModules.integrationTest.ts b/src/vs/platform/environment/test/node/nativeModules.integrationTest.ts
index e0b99f3..f3af586 100644
index 2a6acba..167d759 100644
--- a/src/vs/platform/environment/test/node/nativeModules.integrationTest.ts
+++ b/src/vs/platform/environment/test/node/nativeModules.integrationTest.ts
@@ -62,5 +62,5 @@ flakySuite('Native Modules (all platforms)', () => {

View File

@@ -1,8 +1,8 @@
diff --git a/build/lib/compilation.js b/build/lib/compilation.js
index 841dbe1..7cf692a 100644
index 61a6d28..831b7c2 100644
--- a/build/lib/compilation.js
+++ b/build/lib/compilation.js
@@ -148,24 +148,3 @@ function compileTask(src, out, build, options = {}) {
@@ -145,24 +145,3 @@ function compileTask(src, out, build, options = {}) {
}
- // mangle: TypeScript to TypeScript
- let mangleStream = event_stream_1.default.through();
@@ -28,15 +28,15 @@ index 841dbe1..7cf692a 100644
- .pipe(mangleStream)
.pipe(generator.stream)
diff --git a/build/lib/compilation.ts b/build/lib/compilation.ts
index 6e1fcab..4e45106 100644
index a1de9f1..084fd2f 100644
--- a/build/lib/compilation.ts
+++ b/build/lib/compilation.ts
@@ -18,4 +18,2 @@ import File from 'vinyl';
import * as task from './task';
-import { Mangler } from './mangle/index';
-import { RawSourceMap } from 'source-map';
import { gulpPostcss } from './postcss';
@@ -138,27 +136,3 @@ export function compileTask(src: string, out: string, build: boolean, options: {
import ts = require('typescript');
@@ -133,27 +131,3 @@ export function compileTask(src: string, out: string, build: boolean, options: {
- // mangle: TypeScript to TypeScript
- let mangleStream = es.through();

View File

@@ -1,22 +1,22 @@
diff --git a/src/vs/workbench/contrib/extensions/electron-sandbox/extensionsSlowActions.ts b/src/vs/workbench/contrib/extensions/electron-sandbox/extensionsSlowActions.ts
index 447f4c9..1118f18 100644
--- a/src/vs/workbench/contrib/extensions/electron-sandbox/extensionsSlowActions.ts
+++ b/src/vs/workbench/contrib/extensions/electron-sandbox/extensionsSlowActions.ts
diff --git a/src/vs/workbench/contrib/extensions/electron-browser/extensionsSlowActions.ts b/src/vs/workbench/contrib/extensions/electron-browser/extensionsSlowActions.ts
index 46120a9..6bc88c8 100644
--- a/src/vs/workbench/contrib/extensions/electron-browser/extensionsSlowActions.ts
+++ b/src/vs/workbench/contrib/extensions/electron-browser/extensionsSlowActions.ts
@@ -153,3 +153,3 @@ class ReportExtensionSlowAction extends Action {
- OS Version: \`${osVersion}\`
-- VS Code version: \`${this._productService.version}\`\n\n${message}`);
+- !!APP_NAME!! version: \`${this._productService.version}\`\n\n${message}`);
diff --git a/src/vs/workbench/contrib/issue/browser/baseIssueReporterService.ts b/src/vs/workbench/contrib/issue/browser/baseIssueReporterService.ts
index 3d7653e..7dbd60b 100644
index efe8061..831ce2e 100644
--- a/src/vs/workbench/contrib/issue/browser/baseIssueReporterService.ts
+++ b/src/vs/workbench/contrib/issue/browser/baseIssueReporterService.ts
@@ -665,3 +665,3 @@ export class BaseIssueReporterService extends Disposable {
@@ -591,3 +591,3 @@ export class BaseIssueReporterService extends Disposable {
if (title) {
- this.searchDuplicates(title, issueDescription);
+ this.searchGitHub('!!GH_REPO_PATH!!', title);
} else {
@@ -757,33 +757,2 @@ export class BaseIssueReporterService extends Disposable {
@@ -668,33 +668,2 @@ export class BaseIssueReporterService extends Disposable {
- @debounce(300)
- private searchDuplicates(title: string, body?: string): void {
@@ -50,14 +50,14 @@ index 3d7653e..7dbd60b 100644
- }
-
private displaySearchResults(results: SearchResult[]) {
@@ -879,4 +848,4 @@ export class BaseIssueReporterService extends Disposable {
@@ -786,4 +755,4 @@ export class BaseIssueReporterService extends Disposable {
sourceSelect.append(this.makeOption('', localize('selectSource', "Select source"), true));
- sourceSelect.append(this.makeOption(IssueSource.VSCode, localize('vscode', "Visual Studio Code"), false));
- sourceSelect.append(this.makeOption(IssueSource.Extension, localize('extension', "A VS Code extension"), false));
+ sourceSelect.append(this.makeOption(IssueSource.VSCode, localize('vscode', "!!APP_NAME!!"), false));
+ sourceSelect.append(this.makeOption(IssueSource.Extension, localize('extension', "A !!APP_NAME!! extension"), false));
if (this.product.reportMarketplaceIssueUrl) {
@@ -967,3 +936,3 @@ export class BaseIssueReporterService extends Disposable {
@@ -874,3 +843,3 @@ export class BaseIssueReporterService extends Disposable {
hide(descriptionTextArea);
- reset(descriptionTitle, localize('handlesIssuesElsewhere', "This extension handles issues outside of VS Code"));
+ reset(descriptionTitle, localize('handlesIssuesElsewhere', "This extension handles issues outside of !!APP_NAME!!"));

59
patches/telemetry.patch Normal file
View File

@@ -0,0 +1,59 @@
diff --git a/src/vs/platform/telemetry/common/telemetryService.ts b/src/vs/platform/telemetry/common/telemetryService.ts
index ef676bd..4feb98b 100644
--- a/src/vs/platform/telemetry/common/telemetryService.ts
+++ b/src/vs/platform/telemetry/common/telemetryService.ts
@@ -219,3 +219,3 @@ configurationRegistry.registerConfiguration({
'markdownDescription': getTelemetryLevelSettingDescription(),
- 'default': TelemetryConfiguration.ON,
+ 'default': TelemetryConfiguration.OFF,
'restricted': true,
@@ -245,3 +245,3 @@ configurationRegistry.registerConfiguration({
localize('telemetry.enableTelemetryMd', "Enable diagnostic data to be collected. This helps us to better understand how {0} is performing and where improvements need to be made. [Read more]({1}) about what we collect and our privacy statement.", product.nameLong, product.privacyStatementUrl),
- 'default': true,
+ 'default': false,
'restricted': true,
diff --git a/src/vs/workbench/browser/workbench.contribution.ts b/src/vs/workbench/browser/workbench.contribution.ts
index d09ab3f..f37edd6 100644
--- a/src/vs/workbench/browser/workbench.contribution.ts
+++ b/src/vs/workbench/browser/workbench.contribution.ts
@@ -496,3 +496,3 @@ const registry = Registry.as<IConfigurationRegistry>(ConfigurationExtensions.Con
'description': localize('enableNaturalLanguageSearch', "Controls whether the command palette should include similar commands. You must have an extension installed that provides Natural Language support."),
- 'default': true
+ 'default': false
},
diff --git a/src/vs/workbench/contrib/editTelemetry/browser/editTelemetry.contribution.ts b/src/vs/workbench/contrib/editTelemetry/browser/editTelemetry.contribution.ts
index 16fd396..587e1e3 100644
--- a/src/vs/workbench/contrib/editTelemetry/browser/editTelemetry.contribution.ts
+++ b/src/vs/workbench/contrib/editTelemetry/browser/editTelemetry.contribution.ts
@@ -28,3 +28,3 @@ configurationRegistry.registerConfiguration({
type: 'boolean',
- default: true,
+ default: false,
tags: ['experimental'],
diff --git a/src/vs/workbench/contrib/preferences/common/preferencesContribution.ts b/src/vs/workbench/contrib/preferences/common/preferencesContribution.ts
index e5cec6f..9c9e169 100644
--- a/src/vs/workbench/contrib/preferences/common/preferencesContribution.ts
+++ b/src/vs/workbench/contrib/preferences/common/preferencesContribution.ts
@@ -113,3 +113,3 @@ registry.registerConfiguration({
'description': nls.localize('enableNaturalLanguageSettingsSearch', "Controls whether to enable the natural language search mode for settings. The natural language search is provided by a Microsoft online service."),
- 'default': true,
+ 'default': false,
'scope': ConfigurationScope.WINDOW,
diff --git a/src/vs/workbench/electron-browser/desktop.contribution.ts b/src/vs/workbench/electron-browser/desktop.contribution.ts
index 3517cc1..7b365fa 100644
--- a/src/vs/workbench/electron-browser/desktop.contribution.ts
+++ b/src/vs/workbench/electron-browser/desktop.contribution.ts
@@ -342,3 +342,3 @@ import { registerWorkbenchContribution2, WorkbenchPhase } from '../common/contri
'description': localize('telemetry.enableCrashReporting', "Enable crash reports to be collected. This helps us improve stability. \nThis option requires restart to take effect."),
- 'default': true,
+ 'default': false,
'tags': ['usesOnlineServices', 'telemetry'],
diff --git a/src/vs/workbench/services/assignment/common/assignmentService.ts b/src/vs/workbench/services/assignment/common/assignmentService.ts
index 4a3d96b..e587d5b 100644
--- a/src/vs/workbench/services/assignment/common/assignmentService.ts
+++ b/src/vs/workbench/services/assignment/common/assignmentService.ts
@@ -277,3 +277,3 @@ registry.registerConfiguration({
'description': localize('workbench.enableExperiments', "Fetches experiments to run from a Microsoft online service."),
- 'default': true,
+ 'default': false,
'scope': ConfigurationScope.APPLICATION,

View File

@@ -29,15 +29,15 @@ index 0000000..1daa1fe
+
+export default codiumCompletionSpec;
diff --git a/extensions/terminal-suggest/src/terminalSuggestMain.ts b/extensions/terminal-suggest/src/terminalSuggestMain.ts
index 863cd21..a33e440 100644
index b0f197f..6884365 100644
--- a/extensions/terminal-suggest/src/terminalSuggestMain.ts
+++ b/extensions/terminal-suggest/src/terminalSuggestMain.ts
@@ -30,2 +30,4 @@ import codeTunnelCompletionSpec from './completions/code-tunnel';
import codeTunnelInsidersCompletionSpec from './completions/code-tunnel-insiders';
@@ -10,2 +10,4 @@ import codeCompletionSpec from './completions/code';
import codeInsidersCompletionSpec from './completions/code-insiders';
+import codiumCompletionSpec from './completions/codium';
+import codiumInsidersCompletionSpec from './completions/codium-insiders';
@@ -50,2 +52,4 @@ export const availableSpecs: Fig.Spec[] = [
import codeTunnelCompletionSpec from './completions/code-tunnel';
@@ -64,2 +66,4 @@ export const availableSpecs: Fig.Spec[] = [
npxCompletionSpec,
+ codiumInsidersCompletionSpec,
+ codiumCompletionSpec,

View File

@@ -0,0 +1,56 @@
diff --git a/build/gulpfile.vscode.js b/build/gulpfile.vscode.js
index ed06b6a..f2b4a82 100644
--- a/build/gulpfile.vscode.js
+++ b/build/gulpfile.vscode.js
@@ -406,18 +406,18 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op
- if (quality === 'stable' || quality === 'insider') {
- result = es.merge(result, gulp.src('.build/win32/appx/**', { base: '.build/win32' }));
- const rawVersion = version.replace(/-\w+$/, '').split('.');
- const appxVersion = `${rawVersion[0]}.0.${rawVersion[1]}.${rawVersion[2]}`;
- result = es.merge(result, gulp.src('resources/win32/appx/AppxManifest.xml', { base: '.' })
- .pipe(replace('@@AppxPackageName@@', product.win32AppUserModelId))
- .pipe(replace('@@AppxPackageVersion@@', appxVersion))
- .pipe(replace('@@AppxPackageDisplayName@@', product.nameLong))
- .pipe(replace('@@AppxPackageDescription@@', product.win32NameVersion))
- .pipe(replace('@@ApplicationIdShort@@', product.win32RegValueName))
- .pipe(replace('@@ApplicationExe@@', product.nameShort + '.exe'))
- .pipe(replace('@@FileExplorerContextMenuID@@', quality === 'stable' ? 'OpenWithCode' : 'OpenWithCodeInsiders'))
- .pipe(replace('@@FileExplorerContextMenuCLSID@@', product.win32ContextMenu[arch].clsid))
- .pipe(replace('@@FileExplorerContextMenuDLL@@', `${quality === 'stable' ? 'code' : 'code_insider'}_explorer_command_${arch}.dll`))
- .pipe(rename(f => f.dirname = `appx/manifest`)));
- }
+ // if (quality === 'stable' || quality === 'insider') {
+ // result = es.merge(result, gulp.src('.build/win32/appx/**', { base: '.build/win32' }));
+ // const rawVersion = version.replace(/-\w+$/, '').split('.');
+ // const appxVersion = `${rawVersion[0]}.0.${rawVersion[1]}.${rawVersion[2]}`;
+ // result = es.merge(result, gulp.src('resources/win32/appx/AppxManifest.xml', { base: '.' })
+ // .pipe(replace('@@AppxPackageName@@', product.win32AppUserModelId))
+ // .pipe(replace('@@AppxPackageVersion@@', appxVersion))
+ // .pipe(replace('@@AppxPackageDisplayName@@', product.nameLong))
+ // .pipe(replace('@@AppxPackageDescription@@', product.win32NameVersion))
+ // .pipe(replace('@@ApplicationIdShort@@', product.win32RegValueName))
+ // .pipe(replace('@@ApplicationExe@@', product.nameShort + '.exe'))
+ // .pipe(replace('@@FileExplorerContextMenuID@@', quality === 'stable' ? 'OpenWithCode' : 'OpenWithCodeInsiders'))
+ // .pipe(replace('@@FileExplorerContextMenuCLSID@@', product.win32ContextMenu[arch].clsid))
+ // .pipe(replace('@@FileExplorerContextMenuDLL@@', `${quality === 'stable' ? 'code' : 'code_insider'}_explorer_command_${arch}.dll`))
+ // .pipe(rename(f => f.dirname = `appx/manifest`)));
+ // }
} else if (platform === 'linux') {
diff --git a/build/gulpfile.vscode.win32.js b/build/gulpfile.vscode.win32.js
index 9207df5..ff6c116 100644
--- a/build/gulpfile.vscode.win32.js
+++ b/build/gulpfile.vscode.win32.js
@@ -113,7 +113,7 @@ function buildWin32Setup(arch, target) {
- if (quality !== 'exploration') {
- definitions['AppxPackage'] = `${quality === 'stable' ? 'code' : 'code_insider'}_${arch}.appx`;
- definitions['AppxPackageDll'] = `${quality === 'stable' ? 'code' : 'code_insider'}_explorer_command_${arch}.dll`;
- definitions['AppxPackageName'] = `${product.win32AppUserModelId}`;
- }
+ // if (quality !== 'exploration') {
+ // definitions['AppxPackage'] = `${product.applicationName.replace(/-/g, '_')}_${arch}.appx`;
+ // definitions['AppxPackageDll'] = `${product.applicationName.replace(/-/g, '_')}_explorer_command_${arch}.dll`;
+ // definitions['AppxPackageName'] = `${product.win32AppUserModelId}`;
+ // }

View File

@@ -101,6 +101,8 @@ elif [[ "${OS_NAME}" == "windows" ]]; then
7z.exe a -tzip "../assets/${APP_NAME}-win32-${VSCODE_ARCH}-${RELEASE_VERSION}.zip" -x!CodeSignSummary*.md -x!tools "../VSCode-win32-${VSCODE_ARCH}/*" -r
fi
# . ../build/windows/appx/build.sh
if [[ "${SHOULD_BUILD_EXE_SYS}" != "no" ]]; then
npm run gulp "vscode-win32-${VSCODE_ARCH}-system-setup"
fi

View File

@@ -16,8 +16,6 @@ cp -f LICENSE vscode/LICENSE.txt
cd vscode || { echo "'vscode' dir not found"; exit 1; }
../update_settings.sh
# apply patches
{ set +x; } 2>/dev/null
@@ -27,6 +25,10 @@ echo "BINARY_NAME=\"${BINARY_NAME}\""
echo "GH_REPO_PATH=\"${GH_REPO_PATH}\""
echo "ORG_NAME=\"${ORG_NAME}\""
if [[ "${DISABLE_UPDATE}" == "yes" ]]; then
mv ../patches/disable-update.patch.yet ../patches/disable-update.patch
fi
for file in ../patches/*.patch; do
if [[ -f "${file}" ]]; then
apply_patch "${file}"
@@ -86,7 +88,7 @@ for i in {1..5}; do # try 5 times
npm ci && break
fi
if [[ $i == 3 ]]; then
if [[ $i == 5 ]]; then
echo "Npm install failed too many times" >&2
exit 1
fi
@@ -100,7 +102,7 @@ mv .npmrc.bak .npmrc
setpath() {
local jsonTmp
{ set +x; } 2>/dev/null
jsonTmp=$( jq --arg 'path' "${2}" --arg 'value' "${3}" 'setpath([$path]; $value)' "${1}.json" )
jsonTmp=$( jq --arg 'value' "${3}" "setpath(path(.${2}); \$value)" "${1}.json" )
echo "${jsonTmp}" > "${1}.json"
set -x
}
@@ -108,7 +110,7 @@ setpath() {
setpath_json() {
local jsonTmp
{ set +x; } 2>/dev/null
jsonTmp=$( jq --arg 'path' "${2}" --argjson 'value' "${3}" 'setpath([$path]; $value)' "${1}.json" )
jsonTmp=$( jq --argjson 'value' "${3}" "setpath(path(.${2}); \$value)" "${1}.json" )
echo "${jsonTmp}" > "${1}.json"
set -x
}
@@ -118,7 +120,8 @@ cp product.json{,.bak}
setpath "product" "checksumFailMoreInfoUrl" "https://go.microsoft.com/fwlink/?LinkId=828886"
setpath "product" "documentationUrl" "https://go.microsoft.com/fwlink/?LinkID=533484#vscode"
setpath_json "product" "extensionsGallery" '{"serviceUrl": "https://open-vsx.org/vscode/gallery", "itemUrl": "https://open-vsx.org/vscode/item", "extensionUrlTemplate": "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_json "product" "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 "product" "introductoryVideosUrl" "https://go.microsoft.com/fwlink/?linkid=832146"
setpath "product" "keyboardShortcutsUrlLinux" "https://go.microsoft.com/fwlink/?linkid=832144"
setpath "product" "keyboardShortcutsUrlMac" "https://go.microsoft.com/fwlink/?linkid=832143"
@@ -167,6 +170,8 @@ if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
setpath "product" "tunnelApplicationName" "codium-tunnel-insiders"
setpath "product" "win32TunnelServiceMutex" "vscodiuminsiders-tunnelservice"
setpath "product" "win32TunnelMutex" "vscodiuminsiders-tunnel"
setpath "product" "win32ContextMenu.x64.clsid" "90AAD229-85FD-43A3-B82D-8598A88829CF"
setpath "product" "win32ContextMenu.arm64.clsid" "7544C31C-BDBF-4DDF-B15E-F73A46D6723D"
else
setpath "product" "nameShort" "VSCodium"
setpath "product" "nameLong" "VSCodium"
@@ -192,6 +197,8 @@ else
setpath "product" "tunnelApplicationName" "codium-tunnel"
setpath "product" "win32TunnelServiceMutex" "vscodium-tunnelservice"
setpath "product" "win32TunnelMutex" "vscodium-tunnel"
setpath "product" "win32ContextMenu.x64.clsid" "D910D5E6-B277-4F4A-BDC5-759A34EEE25D"
setpath "product" "win32ContextMenu.arm64.clsid" "4852FC55-4A84-4EA1-9C86-D53BE3DF83C0"
fi
jsonTmp=$( jq -s '.[0] * .[1]' product.json ../product.json )

View File

@@ -47,8 +47,18 @@
"^https:\\/\\/github\\.com\\/[^/]+\\/[^/]+\\/(actions\\/)?workflows\\/.*badge\\.svg"
],
"extensionEnabledApiProposals": {
"ms-azuretools.vscode-containers": [
"authenticationChallenges"
],
"ms-azuretools.vscode-azureresourcegroups": [
"authenticationChallenges"
],
"ms-azuretools.vscode-azure-github-copilot": [
"authenticationChallenges"
],
"ms-azuretools.vscode-dev-azurecloudshell": [
"contribEditSessions"
"contribEditSessions",
"authenticationChallenges"
],
"ms-vscode.vscode-selfhost-test-provider": [
"testObserver",
@@ -65,7 +75,6 @@
"documentFiltersExclusive",
"fileSearchProvider",
"findTextInFiles",
"notebookCellExecutionState",
"notebookLiveShare",
"terminalDimensions",
"terminalDataWriteEvent",
@@ -184,6 +193,9 @@
],
"GitHub.vscode-pull-request-github": [
"activeComment",
"chatParticipantAdditions",
"chatParticipantPrivate",
"chatSessionsProvider",
"codiconDecoration",
"codeActionRanges",
"commentingRangeHint",
@@ -199,7 +211,10 @@
"contribMultiDiffEditorMenus",
"contribShareMenu",
"diffCommand",
"languageModelDataPart",
"languageModelToolResultAudience",
"quickDiffProvider",
"remoteCodingAgents",
"shareProvider",
"tabInputTextMerge",
"tokenInformation",
@@ -246,14 +261,20 @@
"documentFiltersExclusive",
"chatParticipantPrivate",
"contribDebugCreateConfiguration",
"inlineEdit",
"inlineCompletionsAdditions",
"chatReferenceBinaryData",
"languageModelSystem",
"languageModelCapabilities",
"languageModelDataPart",
"languageModelThinkingPart",
"chatStatusItem",
"taskProblemMatcherStatus"
"taskProblemMatcherStatus",
"contribLanguageModelToolSets",
"textDocumentChangeReason",
"resolvers",
"taskExecutionTerminal",
"dataChannels",
"chatSessionsProvider"
],
"GitHub.remotehub": [
"contribRemoteHelp",
@@ -270,11 +291,7 @@
"textSearchProvider",
"timeline"
],
"ms-python.gather": [
"notebookCellExecutionState"
],
"ms-python.vscode-pylance": [
"mcpConfigurationProvider",
"terminalShellEnv"
],
"ms-python.debugpy": [
@@ -350,6 +367,16 @@
"ms-autodev.vscode-autodev": [
"chatParticipantAdditions"
],
"vscjava.vscode-java-upgrade": [
"chatParticipantAdditions",
"chatParticipantPrivate"
],
"FoundryLocal.foundry-local-chat": [
"chatProvider"
],
"Microsoft.foundry-local-chat": [
"chatProvider"
],
"jeanp413.open-remote-ssh": [
"resolvers",
"tunnels",

View File

@@ -2,6 +2,7 @@
Name=@@NAME_LONG@@
Comment=Code Editing. Redefined.
GenericName=Text Editor
GenericName[ar]=محرر نصوص
Exec=@@EXEC@@ %F
Icon=@@ICON@@
Type=Application
@@ -14,6 +15,7 @@ Keywords=vscodium;codium;vscode;
[Desktop Action new-empty-window]
Name=New Empty Window
Name[ar]=نافذة فارغة جديدة
Name[de]=Neues leeres Fenster
Name[es]=Nueva ventana vacía
Name[fr]=Nouvelle fenêtre vide

View File

@@ -0,0 +1,7 @@
#!/usr/bin/env bash
set -eu
wayland_native="$(snapctl get wayland-native)"
if [[ -z "$wayland_native" ]]; then
snapctl set wayland-native=false
fi

View File

@@ -67,6 +67,10 @@ fi
# Set $REALHOME to the users real home directory
REALHOME=$(getent passwd $UID | cut -d ':' -f 6)
# Extra launch arguments
declare -a launch_args
# Set config folder to local path
ensure_dir_exists "$SNAP_USER_DATA/.config"
chmod 700 "$SNAP_USER_DATA/.config"
@@ -105,6 +109,7 @@ copy_env_variable GDK_BACKEND
copy_env_variable GTK_PATH
copy_env_variable GTK_EXE_PREFIX
copy_env_variable GTK_IM_MODULE_FILE
copy_env_variable LIBGL_DRIVERS_PATH
# XDG Config
prepend_dir XDG_CONFIG_DIRS "$SNAP/etc/xdg"
@@ -122,6 +127,11 @@ ensure_dir_exists "$SNAP_USER_DATA/.local/share"
# https://bugzilla.gnome.org/show_bug.cgi?id=741335
prepend_dir XDG_DATA_DIRS "$SNAP_USER_DATA/.local/share"
# Use the snap MESA drivers to launch the snap.
# This is required by wayland, but electron will make better use under X11 too
prepend_dir LIBGL_DRIVERS_PATH "$SNAP/usr/lib/dri"
prepend_dir LIBGL_DRIVERS_PATH "$SNAP/usr/lib/$ARCH/dri"
# Set cache folder to local path
if [[ -d "$SNAP_USER_DATA/.cache" && ! -e "$SNAP_USER_COMMON/.cache" ]]; then
# the .cache directory used to be stored under $SNAP_USER_DATA, migrate it
@@ -138,28 +148,22 @@ append_dir LOCPATH "$SNAP/usr/lib/locale"
# If detect wayland server socket, then set environment so applications prefer
# wayland, and setup compat symlink (until we use user mounts. Remember,
# XDG_RUNTIME_DIR is /run/user/<uid>/snap.$SNAP so look in the parent directory
# for the socket. For details:
# https://forum.snapcraft.io/t/wayland-dconf-and-xdg-runtime-dir/186/10
# XDG_RUNTIME_DIR is /run/user/<uid> for classic snaps.
# Applications that don't support wayland natively may define DISABLE_WAYLAND
# (to any non-empty value) to skip that logic entirely.
wayland_available=false
if [[ -n "$XDG_RUNTIME_DIR" && -z "$DISABLE_WAYLAND" ]]; then
if [[ -n "$XDG_RUNTIME_DIR" && -z "$DISABLE_WAYLAND" ]] && \
[[ "$(snapctl get wayland-native)" == "true" ]]; then
wdisplay="wayland-0"
if [ -n "$WAYLAND_DISPLAY" ]; then
wdisplay="$WAYLAND_DISPLAY"
fi
wayland_sockpath="$XDG_RUNTIME_DIR/../$wdisplay"
wayland_snappath="$XDG_RUNTIME_DIR/$wdisplay"
if [ -S "$wayland_sockpath" ]; then
if [ -S "$wayland_snappath" ]; then
# if running under wayland, use it
#export WAYLAND_DEBUG=1
# shellcheck disable=SC2034
wayland_available=true
# create the compat symlink for now
if [ ! -e "$wayland_snappath" ]; then
ln -s "$wayland_sockpath" "$wayland_snappath"
fi
fi
fi
@@ -234,6 +238,8 @@ fi
# shellcheck disable=SC2154
if [ "$wayland_available" = true ]; then
export GDK_BACKEND="wayland"
launch_args+=(--ozone-platform-hint=auto)
launch_args+=(--enable-features=WaylandWindowDecorations)
fi
append_dir GTK_PATH "$SNAP/usr/lib/$ARCH/gtk-3.0"
@@ -261,4 +267,8 @@ fi
wait_for_async_execs
exec "$@"
binary="$1"
shift
exec "$binary" "${launch_args[@]}" "$@"

View File

@@ -16,7 +16,7 @@ parts:
set -eu
# Get .deb url
wget --quiet https://api.github.com/repos/VSCodium/vscodium-insiders/releases -O latest.json
VERSION=$( jq -r 'sort_by(.tag_name)|last.tag_name' latest.json )
VERSION=$( jq -r 'sort_by(.tag_name|split("-")[0]|split(".")|map(tonumber))|last.tag_name' latest.json )
DEB_URL=$( jq -r 'map(select(.tag_name == "'"${VERSION}"'"))|first.assets[].browser_download_url|select(endswith("'"_${SNAPCRAFT_TARGET_ARCH}.deb"'"))' latest.json )
DEB_NAME=$( basename "${DEB_URL}" )
# Downloading .deb
@@ -59,6 +59,8 @@ parts:
- libnss3
- libpango-1.0-0
- libsecret-1-0
- libvulkan1
- libwayland-egl1
- libxcomposite1
- libxdamage1
- libxfixes3
@@ -68,14 +70,20 @@ parts:
- libxss1
- locales-all
- packagekit-gtk3-module
- gnome-settings-daemon-common
- xdg-utils
prime:
- -lib/udev
- -usr/lib/systemd
- -usr/share/doc
- -usr/share/fonts
- -usr/share/icons
- -usr/share/lintian
- -usr/share/man
- -usr/share/codium/chrome-sandbox
- -usr/share/@@NAME@@/libEGL.so*
- -usr/share/@@NAME@@/libGLESv2.so*
- -usr/share/@@NAME@@/libvulkan.so*
build-attributes:
- enable-patchelf
override-prime: |
@@ -92,33 +100,11 @@ parts:
plugin: dump
source: snap/local/bin
mesa-patchelf:
after:
- electron-launch
plugin: nil
stage-packages:
- libgl1-mesa-dri
stage:
- -usr/lib/${SNAPCRAFT_ARCH_TRIPLET}/dri
mesa-no-patchelf:
after:
- electron-launch
plugin: nil
stage-packages:
- libgl1-mesa-dri
build-attributes:
- no-patchelf
stage:
- usr/lib/${SNAPCRAFT_ARCH_TRIPLET}/dri
apps:
codium:
command: electron-launch $SNAP/usr/share/codium-insiders/bin/codium-insiders --no-sandbox
desktop: usr/share/applications/codium-insiders.desktop
common-id: codium-insiders.desktop
environment:
LIBGL_DRIVERS_PATH: $SNAP/usr/lib/${SNAPCRAFT_ARCH_TRIPLET}/dri
url-handler:
command: electron-launch $SNAP/usr/share/codium-insiders/bin/codium-insiders --open-url --no-sandbox

View File

@@ -0,0 +1,7 @@
#!/usr/bin/env bash
set -eu
wayland_native="$(snapctl get wayland-native)"
if [[ -z "$wayland_native" ]]; then
snapctl set wayland-native=false
fi

View File

@@ -67,6 +67,10 @@ fi
# Set $REALHOME to the users real home directory
REALHOME=$(getent passwd $UID | cut -d ':' -f 6)
# Extra launch arguments
declare -a launch_args
# Set config folder to local path
ensure_dir_exists "$SNAP_USER_DATA/.config"
chmod 700 "$SNAP_USER_DATA/.config"
@@ -105,6 +109,7 @@ copy_env_variable GDK_BACKEND
copy_env_variable GTK_PATH
copy_env_variable GTK_EXE_PREFIX
copy_env_variable GTK_IM_MODULE_FILE
copy_env_variable LIBGL_DRIVERS_PATH
# XDG Config
prepend_dir XDG_CONFIG_DIRS "$SNAP/etc/xdg"
@@ -122,6 +127,11 @@ ensure_dir_exists "$SNAP_USER_DATA/.local/share"
# https://bugzilla.gnome.org/show_bug.cgi?id=741335
prepend_dir XDG_DATA_DIRS "$SNAP_USER_DATA/.local/share"
# Use the snap MESA drivers to launch the snap.
# This is required by wayland, but electron will make better use under X11 too
prepend_dir LIBGL_DRIVERS_PATH "$SNAP/usr/lib/dri"
prepend_dir LIBGL_DRIVERS_PATH "$SNAP/usr/lib/$ARCH/dri"
# Set cache folder to local path
if [[ -d "$SNAP_USER_DATA/.cache" && ! -e "$SNAP_USER_COMMON/.cache" ]]; then
# the .cache directory used to be stored under $SNAP_USER_DATA, migrate it
@@ -138,28 +148,22 @@ append_dir LOCPATH "$SNAP/usr/lib/locale"
# If detect wayland server socket, then set environment so applications prefer
# wayland, and setup compat symlink (until we use user mounts. Remember,
# XDG_RUNTIME_DIR is /run/user/<uid>/snap.$SNAP so look in the parent directory
# for the socket. For details:
# https://forum.snapcraft.io/t/wayland-dconf-and-xdg-runtime-dir/186/10
# XDG_RUNTIME_DIR is /run/user/<uid> for classic snaps.
# Applications that don't support wayland natively may define DISABLE_WAYLAND
# (to any non-empty value) to skip that logic entirely.
wayland_available=false
if [[ -n "$XDG_RUNTIME_DIR" && -z "$DISABLE_WAYLAND" ]]; then
if [[ -n "$XDG_RUNTIME_DIR" && -z "$DISABLE_WAYLAND" ]] && \
[[ "$(snapctl get wayland-native)" == "true" ]]; then
wdisplay="wayland-0"
if [ -n "$WAYLAND_DISPLAY" ]; then
wdisplay="$WAYLAND_DISPLAY"
fi
wayland_sockpath="$XDG_RUNTIME_DIR/../$wdisplay"
wayland_snappath="$XDG_RUNTIME_DIR/$wdisplay"
if [ -S "$wayland_sockpath" ]; then
if [ -S "$wayland_snappath" ]; then
# if running under wayland, use it
#export WAYLAND_DEBUG=1
# shellcheck disable=SC2034
wayland_available=true
# create the compat symlink for now
if [ ! -e "$wayland_snappath" ]; then
ln -s "$wayland_sockpath" "$wayland_snappath"
fi
fi
fi
@@ -234,6 +238,8 @@ fi
# shellcheck disable=SC2154
if [ "$wayland_available" = true ]; then
export GDK_BACKEND="wayland"
launch_args+=(--ozone-platform-hint=auto)
launch_args+=(--enable-features=WaylandWindowDecorations)
fi
append_dir GTK_PATH "$SNAP/usr/lib/$ARCH/gtk-3.0"
@@ -261,4 +267,8 @@ fi
wait_for_async_execs
exec "$@"
binary="$1"
shift
exec "$binary" "${launch_args[@]}" "$@"

View File

@@ -16,7 +16,7 @@ parts:
set -eu
# Get .deb url
wget --quiet https://api.github.com/repos/VSCodium/vscodium/releases -O latest.json
VERSION=$( jq -r 'sort_by(.tag_name)|last.tag_name' latest.json )
VERSION=$( jq -r 'sort_by(.tag_name|split(".")|map(tonumber))|last.tag_name' latest.json )
DEB_URL=$( jq -r 'map(select(.tag_name == "'"${VERSION}"'"))|first.assets[].browser_download_url|select(endswith("'"_${SNAPCRAFT_TARGET_ARCH}.deb"'"))' latest.json )
DEB_NAME=$( basename "${DEB_URL}" )
# Downloading .deb
@@ -59,6 +59,8 @@ parts:
- libnss3
- libpango-1.0-0
- libsecret-1-0
- libvulkan1
- libwayland-egl1
- libxcomposite1
- libxdamage1
- libxfixes3
@@ -68,14 +70,20 @@ parts:
- libxss1
- locales-all
- packagekit-gtk3-module
- gnome-settings-daemon-common
- xdg-utils
prime:
- -lib/udev
- -usr/lib/systemd
- -usr/share/doc
- -usr/share/fonts
- -usr/share/icons
- -usr/share/lintian
- -usr/share/man
- -usr/share/codium/chrome-sandbox
- -usr/share/@@NAME@@/libEGL.so*
- -usr/share/@@NAME@@/libGLESv2.so*
- -usr/share/@@NAME@@/libvulkan.so*
build-attributes:
- enable-patchelf
override-prime: |

View File

@@ -1,55 +0,0 @@
# shellcheck disable=SC1091,2148
DEFAULT_TRUE="'default': true"
DEFAULT_FALSE="'default': false"
DEFAULT_ON="'default': TelemetryConfiguration.ON"
DEFAULT_OFF="'default': TelemetryConfiguration.OFF"
TELEMETRY_CRASH_REPORTER="'telemetry.enableCrashReporter':"
TELEMETRY_CONFIGURATION=" TelemetryConfiguration.ON"
NLS=workbench.settings.enableNaturalLanguageSearch
# include common functions
. ../utils.sh
update_setting () {
local FILENAME SETTING LINE_NUM IN_SETTING FOUND DEFAULT_TRUE_TO_FALSE
FILENAME="${2}"
# check that the file exists
if [[ ! -f "${FILENAME}" ]]; then
echo "File to update setting in does not exist ${FILENAME}"
return
fi
# go through lines of file, looking for block that contains setting
SETTING="${1}"
LINE_NUM=0
while read -r line; do
LINE_NUM=$(( LINE_NUM + 1 ))
if [[ "${line}" == *"${SETTING}"* ]]; then
IN_SETTING=1
fi
if [[ ("${line}" == *"${DEFAULT_TRUE}"* || "${line}" == *"${DEFAULT_ON}"*) && "${IN_SETTING}" == "1" ]]; then
FOUND=1
break
fi
done < "${FILENAME}"
if [[ "${FOUND}" != "1" ]]; then
echo "${DEFAULT_TRUE} not found for setting ${SETTING} in file ${FILENAME}"
return
fi
# construct line-aware replacement string
if [[ "${line}" == *"${DEFAULT_TRUE}"* ]]; then
DEFAULT_TRUE_TO_FALSE="${LINE_NUM}s/${DEFAULT_TRUE}/${DEFAULT_FALSE}/"
else
DEFAULT_TRUE_TO_FALSE="${LINE_NUM}s/${DEFAULT_ON}/${DEFAULT_OFF}/"
fi
replace "${DEFAULT_TRUE_TO_FALSE}" "${FILENAME}"
}
update_setting "${TELEMETRY_CRASH_REPORTER}" src/vs/workbench/electron-sandbox/desktop.contribution.ts
update_setting "${TELEMETRY_CONFIGURATION}" src/vs/platform/telemetry/common/telemetryService.ts
update_setting "${NLS}" src/vs/workbench/contrib/preferences/common/preferencesContribution.ts

View File

@@ -1,4 +1,4 @@
{
"tag": "1.100.0",
"commit": "19e0f9e681ecb8e5c09d8784acaa601316ca4571"
"tag": "1.104.0",
"commit": "f220831ea2d946c0dcb0f3eaa480eb435a2c1260"
}

View File

@@ -1,4 +1,4 @@
{
"tag": "1.100.0",
"commit": "19e0f9e681ecb8e5c09d8784acaa601316ca4571"
"tag": "1.104.3",
"commit": "385651c938df8a906869babee516bffd0ddb9829"
}