Skip to content

Commit 4724b7e

Browse files
ndemiancclaude
andcommitted
De-brand WS-C: rebrand extension reload / terminal restart / deprecation notices to LevelCode
Replace user-visible 'Please reload Visual Studio Code' (on extension install/uninstall), 'restart VS Code' (terminal font change), 'bundled with Visual Studio Code' and '[VS Code Release Notes]' with LevelCode. Tagged // [LevelCode] rebrand where syntax allows. Captured in patches/levelcode-core.patch (now 11 files, verified reverse+forward apply) and logged in docs/CORE-PATCHES.md. Kept the H3 sessions 'Open in VS Code' strings for a careful pass — some legitimately open real VS Code (a workspace hand-off feature) vs one that's mislabeled; those need per-string judgment, not a blanket swap. Lower-priority settings-description strings (L1) also remain. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 parent 6d43d59 commit 4724b7e

2 files changed

Lines changed: 68 additions & 0 deletions

File tree

‎docs/CORE-PATCHES.md‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,10 @@ git -C vscode diff HEAD -- \
2727
src/vs/workbench/contrib/welcomeGettingStarted/browser/startupPage.ts \
2828
src/vs/workbench/contrib/update/browser/releaseNotesEditor.ts \
2929
src/vs/sessions/browser/media/openInVSCode.css \
30+
src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts \
31+
src/vs/workbench/contrib/extensions/browser/extensionsActions.ts \
32+
src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.ts \
33+
src/vs/workbench/contrib/terminal/browser/terminalView.ts \
3034
> patches/levelcode-core.patch
3135
# NOTE: use `diff HEAD` (not plain `diff`) — bootstrap's `git apply` may leave these STAGED,
3236
# and plain `git diff` shows only UNSTAGED changes, silently dropping the staged patches.
@@ -49,6 +53,7 @@ grep -rn "\[LevelCode\]" vscode/src vscode/build
4953
| 5 | `src/vs/workbench/contrib/welcomeGettingStarted/browser/startupPage.ts` (`tryShowOnboarding`) | Early `return` — never invoke `onboardingService.show()`. | De-brand (WS-A/B1). Guaranteed kill of the onboarding overlay regardless of config/experiment. Do NOT null `product.defaultChatAgent` (it's `assertDefined`-d and used in ~15 core files) — killing the *entry point* is the safe route. |
5054
| 6 | `src/vs/workbench/contrib/update/browser/releaseNotesEditor.ts` (`show`) | Open `product.releaseNotesUrl` in the browser instead of fetching `code.visualstudio.com/raw/v{ver}.md`. | De-brand (WS-B/B5). Stops the in-editor **"Visual Studio Code 1.126"** release-notes tab. The `useCurrentFile` dev command (author a local `.md`) still renders locally. |
5155
| 7 | `src/vs/sessions/browser/media/openInVSCode.css` | The `[data-product-quality]` "Open in VS Code" button icon → `./vscode-icon.svg` (the real VS Code shield) instead of `code-icon.svg`. | De-brand (WS-D). That button *opens VS Code*, so it must show the VS Code logo — but we now overwrite `code-icon.svg` with the LevelCode mark (see the asset-override note below), which would otherwise make it show LevelCode. |
56+
| 8 | extensions `extensions.contribution.ts`, `extensionsActions.ts`, `extensionsWorkbenchService.ts`; terminal `terminalView.ts` | Rebrand user-visible reload/restart/deprecation notices: "Please reload/restart **Visual Studio Code**", "[**VS Code** Release Notes]", "bundled with **Visual Studio Code**" → **LevelCode**. | De-brand (WS-C / H4+M7). These fire on extension install/uninstall and terminal font changes. Tagged `// [LevelCode] rebrand` where the syntax allows. NOTE: lower-priority *settings-description* strings ("VS Code installs only…") in these files are **not yet** done (L1). |
5257

5358
> **Branding asset override (not a patch):** `apply-branding.mjs` also copies `branding/icons/code-icon.svg` (the LevelCode chevron mark) over `vscode/src/vs/workbench/browser/media/code-icon.svg`. Stock Code-OSS ships the blue `#167abf` VS Code "book" there; it's used as a `background-image` on the title-bar app icon, the update tooltip, the welcome/onboarding hero, the walkthrough and the banner (one file → ~6 surfaces). Because it's a whole-file swap it's done by the branding copy step, not this patch — but patch #7 above pairs with it.
5459

‎patches/levelcode-core.patch‎

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,56 @@ index 5d89e0be..18d3b47b 100644
6666
}
6767

6868
.monaco-enable-motion .monaco-workbench .open-in-vscode-titlebar-widget > .open-in-vscode-titlebar-widget-icon,
69+
diff --git a/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts b/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts
70+
index 0c0965d3..aa17d72f 100644
71+
--- a/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts
72+
+++ b/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts
73+
@@ -959,8 +959,8 @@ class ExtensionsContributions extends Disposable implements IWorkbenchContributi
74+
if (requireReload) {
75+
notificationService.prompt(
76+
Severity.Info,
77+
- vsixs.length > 1 ? localize('InstallVSIXs.successReload', "Completed installing extensions. Please reload Visual Studio Code to enable them.")
78+
- : localize('InstallVSIXAction.successReload', "Completed installing extension. Please reload Visual Studio Code to enable it."),
79+
+ vsixs.length > 1 ? localize('InstallVSIXs.successReload', "Completed installing extensions. Please reload LevelCode to enable them.") // [LevelCode] rebrand
80+
+ : localize('InstallVSIXAction.successReload', "Completed installing extension. Please reload LevelCode to enable it."), // [LevelCode] rebrand
81+
[{
82+
label: localize('InstallVSIXAction.reloadNow', "Reload Now"),
83+
run: () => hostService.reload()
84+
diff --git a/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts b/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts
85+
index 452db88d..27a9c8c7 100644
86+
--- a/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts
87+
+++ b/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts
88+
@@ -940,7 +940,7 @@ export class UninstallAction extends ExtensionAction {
89+
90+
try {
91+
await this.extensionsWorkbenchService.uninstall(this.extension);
92+
- alert(localize('uninstallExtensionComplete', "Please reload Visual Studio Code to complete the uninstallation of the extension {0}.", this.extension.displayName));
93+
+ alert(localize('uninstallExtensionComplete', "Please reload LevelCode to complete the uninstallation of the extension {0}.", this.extension.displayName)); // [LevelCode] rebrand
94+
} catch (error) {
95+
if (!isCancellationError(error)) {
96+
this.dialogService.error(getErrorMessage(error));
97+
diff --git a/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.ts b/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.ts
98+
index a58d77d1..e6059a4b 100644
99+
--- a/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.ts
100+
+++ b/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.ts
101+
@@ -477,7 +477,7 @@ export class Extension implements IExtension {
102+
103+
if (this.type === ExtensionType.System) {
104+
return Promise.resolve(`# ${this.displayName || this.name}
105+
-**Notice:** This extension is bundled with Visual Studio Code. It can be disabled but not uninstalled.
106+
+**Notice:** This extension is bundled with LevelCode. It can be disabled but not uninstalled.
107+
## Features
108+
${this.description}
109+
`);
110+
@@ -515,7 +515,7 @@ ${this.description}
111+
}
112+
113+
if (this.type === ExtensionType.System) {
114+
- return Promise.resolve(`Please check the [VS Code Release Notes](command:${ShowCurrentReleaseNotesActionId}) for changes to the built-in extensions.`);
115+
+ return Promise.resolve(`Please check the [LevelCode Release Notes](command:${ShowCurrentReleaseNotesActionId}) for changes to the built-in extensions.`);
116+
}
117+
118+
return Promise.reject(new Error('not available'));
69119
diff --git a/src/vs/workbench/contrib/files/browser/files.contribution.ts b/src/vs/workbench/contrib/files/browser/files.contribution.ts
70120
index 574c2d8e..f6b8c7af 100644
71121
--- a/src/vs/workbench/contrib/files/browser/files.contribution.ts
@@ -79,6 +129,19 @@ index 574c2d8e..f6b8c7af 100644
79129
'markdownEnumDescriptions': [
80130
nls.localize('hotExit.off', 'Disable hot exit. A prompt will show when attempting to close a window with editors that have unsaved changes.'),
81131
nls.localize('hotExit.onExit', 'Hot exit will be triggered when the last window is closed on Windows/Linux or when the `workbench.action.quit` command is triggered (command palette, keybinding, menu). All windows without folders opened will be restored upon next launch. A list of previously opened windows with unsaved files can be accessed via `File > Open Recent > More...`'),
132+
diff --git a/src/vs/workbench/contrib/terminal/browser/terminalView.ts b/src/vs/workbench/contrib/terminal/browser/terminalView.ts
133+
index 9a745727..a0f7b147 100644
134+
--- a/src/vs/workbench/contrib/terminal/browser/terminalView.ts
135+
+++ b/src/vs/workbench/contrib/terminal/browser/terminalView.ts
136+
@@ -208,7 +208,7 @@ export class TerminalViewPane extends ViewPane {
137+
label: nls.localize('terminal.useMonospace', "Use 'monospace'"),
138+
run: () => this.configurationService.updateValue(TerminalSettingId.FontFamily, 'monospace'),
139+
}];
140+
- 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);
141+
+ this._notificationService.prompt(Severity.Warning, nls.localize('terminal.monospaceOnly', "The terminal only supports monospace fonts. Be sure to restart LevelCode if this is a newly installed font."), choices);
142+
}
143+
}
144+
}));
82145
diff --git a/src/vs/workbench/contrib/update/browser/releaseNotesEditor.ts b/src/vs/workbench/contrib/update/browser/releaseNotesEditor.ts
83146
index 835f4980..f452db2c 100644
84147
--- a/src/vs/workbench/contrib/update/browser/releaseNotesEditor.ts

0 commit comments

Comments
 (0)