-
Notifications
You must be signed in to change notification settings - Fork 37.9k
feat(LP-101): curate legal-first case terminology #294330
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(LP-101): curate legal-first case terminology #294330
Conversation
📬 CODENOTIFYThe following users are being notified based on files changed in this PR: @bpaseroMatched files:
@rzhao271Matched files:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Updates user-facing terminology across key Workbench entry points to use “case” language, and rebrands the product identifiers to “Lexpilot”.
Changes:
- Replaces several “Open Folder/Workspace” labels and descriptions with “Open Case” wording across welcome/getting-started, Explorer empty states, watermark tips, and commands.
- Updates Preferences command titles for folder-scoped settings to “Open Case Settings”.
- Rebrands
product.jsonidentifiers (app name, data folders, protocol, bundle id, etc.) to “Lexpilot”.
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| src/vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent.ts | Updates Getting Started start entry and walkthrough copy to “Open Case” language. |
| src/vs/workbench/contrib/preferences/browser/preferences.contribution.ts | Renames folder-settings command titles to “Open Case Settings”. |
| src/vs/workbench/contrib/files/browser/explorerViewlet.ts | Adjusts Explorer empty-view welcome text and button label to “case” terminology. |
| src/vs/workbench/browser/parts/editor/editorGroupWatermark.ts | Changes watermark “Open Folder” tip to “Open Case”. |
| src/vs/workbench/browser/actions/workspaceActions.ts | Renames core workspace/folder command titles to “case” terminology. |
| product.json | Rebrands product identifiers and related folder/protocol/bundle names to “Lexpilot”. |
Comments suppressed due to low confidence (2)
src/vs/workbench/browser/actions/workspaceActions.ts:66
- The command title is changed to "Open Case...", but the native pick-folder dialog title in the Electron main process still uses the
openFolderstring with "Open Folder". This will show inconsistent wording between the command and the dialog; consider updating the dialog title at the same time or keeping the command text aligned with the dialog.
super({
id: OpenFolderAction.ID,
title: localize2('openFolder', 'Open Case...'),
category: Categories.File,
f1: true,
precondition: OpenFolderWorkspaceSupportContext,
keybinding: {
weight: KeybindingWeight.WorkbenchContrib,
src/vs/workbench/browser/actions/workspaceActions.ts:152
- This command is still implemented as "Open Workspace from File" (it calls
pickWorkspaceAndOpen), but the user-facing label is now "Open Case from File..." while the native dialog title remains "Open Workspace from File". Please align the terminology across the command label and the dialog title (or keep "Workspace" here) to avoid confusing users.
constructor() {
super({
id: OpenWorkspaceAction.ID,
title: localize2('openWorkspaceAction', 'Open Case from File...'),
category: Categories.File,
f1: true,
precondition: EnterMultiRootWorkspaceSupportContext
});
| "nameShort": "Lexpilot", | ||
| "nameLong": "Lexpilot", | ||
| "applicationName": "lexpilot", | ||
| "dataFolderName": ".lexpilot", | ||
| "win32MutexName": "lexpilot", |
Copilot
AI
Feb 11, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The PR title suggests a terminology-only change ("curate legal-first case terminology"), but this hunk also rebrands core product identifiers (name, applicationName, data folders, protocol, bundle id). If this is intentional, it likely warrants an updated PR description/issue scope; otherwise, consider splitting branding changes into a separate PR.
| "applicationName": "lexpilot", | ||
| "dataFolderName": ".lexpilot", | ||
| "win32MutexName": "lexpilot", | ||
| "licenseName": "MIT", | ||
| "licenseUrl": "https://github.com/microsoft/vscode/blob/main/LICENSE.txt", | ||
| "serverLicenseUrl": "https://github.com/microsoft/vscode/blob/main/LICENSE.txt", | ||
| "serverGreeting": [], | ||
| "serverLicense": [], | ||
| "serverLicensePrompt": "", | ||
| "serverApplicationName": "code-server-oss", | ||
| "serverDataFolderName": ".vscode-server-oss", | ||
| "tunnelApplicationName": "code-tunnel-oss", | ||
| "win32DirName": "Microsoft Code OSS", | ||
| "win32NameVersion": "Microsoft Code OSS", | ||
| "win32RegValueName": "CodeOSS", | ||
| "serverApplicationName": "lexpilot-server", | ||
| "serverDataFolderName": ".lexpilot-server", | ||
| "tunnelApplicationName": "lexpilot-tunnel", |
Copilot
AI
Feb 11, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Changing applicationName / dataFolderName / serverDataFolderName will change where user data, caches, and server-side state are stored. That has operational implications (e.g. existing installs will not see prior settings/extensions without a migration step). If this is meant for an in-place upgrade, consider adding/handling a migration path; if not, please document that this is a clean-break change.
| id: 'pickAFolderTask-WebWeb', | ||
| 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 get started. You can open a local case or a remote repository to load your files.\n{0}\n{1}", Button(localize('openFolder', "Open Case"), 'command:workbench.action.addRootFolder'), Button(localize('openRepository', "Open Repository"), 'command:remoteHub.openRepository')), |
Copilot
AI
Feb 11, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The openFolder localization key is used widely across the codebase for "Open Folder"-wording (and sometimes other related strings). Switching this specific callsite to "Open Case" while keeping the same key can lead to inconsistent terminology/translation context across the UI. Consider introducing a dedicated key for the "Case" terminology (e.g. openCase) or ensure all openFolder usages are updated consistently as part of the same change.
| description: localize('gettingStarted.setup.OpenFolderWeb.description.interpolated', "You're all set to get started. You can open a local case or a remote repository to load your files.\n{0}\n{1}", Button(localize('openFolder', "Open Case"), 'command:workbench.action.addRootFolder'), Button(localize('openRepository', "Open Repository"), 'command:remoteHub.openRepository')), | |
| description: localize('gettingStarted.setup.OpenFolderWeb.description.interpolated', "You're all set to get started. You can open a local case or a remote repository to load your files.\n{0}\n{1}", Button(localize('openCase', "Open Case"), 'command:workbench.action.addRootFolder'), Button(localize('openRepository', "Open Repository"), 'command:remoteHub.openRepository')), |
| content: localize({ key: 'noFolderButEditorsHelp', comment: ['Please do not translate the word "command", it is part of our internal syntax which must not change'] }, | ||
| "You have not yet opened a folder.\n{0}\nOpening a folder will close all currently open editors. To keep them open, {1} instead.", openFolderButton, addAFolderButton), | ||
| "You have not yet opened a case.\n{0}\nOpening a case will close all currently open editors. To keep them open, {1} instead.", openFolderButton, addAFolderButton), | ||
| when: ContextKeyExpr.and( |
Copilot
AI
Feb 11, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This welcome text switches to "case" terminology, but the linked action label is still localized as "add a folder" and there is also another welcome string further down in this file that still says "You have not yet opened a folder". As-is, the empty-state UX will mix "case" and "folder" in the same view; please update the remaining strings/buttons for consistency (or keep the original wording).
| const openFile: WatermarkEntry = { text: localize('watermark.openFile', "Open File"), id: 'workbench.action.files.openFile' }; | ||
| const openFolder: WatermarkEntry = { text: localize('watermark.openFolder', "Open Folder"), id: 'workbench.action.files.openFolder' }; | ||
| const openFolder: WatermarkEntry = { text: localize('watermark.openFolder', "Open Case"), id: 'workbench.action.files.openFolder' }; | ||
| const openFileOrFolder: WatermarkEntry = { text: localize('watermark.openFileFolder', "Open File or Folder"), id: 'workbench.action.files.openFileFolder' }; |
Copilot
AI
Feb 11, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
openFolder is now shown as "Open Case", but on macOS this watermark uses the combined entry "Open File or Folder" (still using "Folder"). This will result in mixed terminology depending on platform; consider updating the combined entry too (or keeping the folder terminology here).
| const openFileOrFolder: WatermarkEntry = { text: localize('watermark.openFileFolder', "Open File or Folder"), id: 'workbench.action.files.openFileFolder' }; | |
| const openFileOrFolder: WatermarkEntry = { text: localize('watermark.openFileFolder', "Open File or Case"), id: 'workbench.action.files.openFileFolder' }; |
|
Maybe in a fork, but not here. |
|
My apologies, this was intended for a private fork. Closing now. |
@microsoft-github-policy-service agree