mirror of
https://github.com/microsoft/vscode.git
synced 2026-05-25 09:50:51 +01:00
717e853871
* shared application storage * add tests * fix tests Co-authored-by: Copilot <copilot@github.com> * add logging and address feedback * Add application shared storage scope Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add fallback migration for APPLICATION_SHARED storage VS Code: AbstractStorageService.get() falls back from APPLICATION_SHARED to APPLICATION scope transparently, enabling lazy per-key migration without a registry. Agents App: SharedSQLiteStorageDatabase reads the host (VS Code) app's application storage DB as a fallback during getItems(), merging missing keys so shared data is available even before VS Code runs with new scope code. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Move storage fallback into Storage class with auto-migration Move the APPLICATION → APPLICATION_SHARED fallback logic from AbstractStorageService into the base Storage class via the new fallbackStorage property on IStorage. When a key is not found, the fallback is checked and the value is automatically written through to persist the migration. This eliminates duplicated fallback code in get/getBoolean/ getNumber and ensures write-through happens for all access patterns. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Make fallbackStorage an implementation detail of Storage Remove fallbackStorage from IStorage interface. It is now a property on the Storage class only, set directly by callers that have access to the concrete type. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Pass fallback storage via ApplicationSharedStorageMain constructor Wire up the application storage as fallback during doCreate() instead of post-init. The ApplicationStorageMain is created first and passed to ApplicationSharedStorageMain's constructor. The fallback is set on the Storage instance when the shared database is created, so it's ready by the time reads happen. Removes setFallbackStorage() method and post-init wiring. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Remove fallbackDatabasePath - use fallbackStorage only The in-memory fallbackStorage (application storage) makes the DB-level fallback (reading VS Code's DB from disk) redundant. Both VS Code and Agents App now use the same mechanism: the Storage.fallbackStorage property that reads from application storage and auto-migrates on hit. Removes getHostUserDataPath, IProductService dependency, and INativeEnvironmentService from StorageMainService. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add MigratingStorage with persisted migration tracking Introduce MigratingStorage that migrates keys from a fallback storage on first access. Migrated keys are tracked via a persisted marker key (__$__migratedStorageMarker) in the DB so deleted keys are never resurrected from the fallback. - VS Code windows: MigratingStorage falls back to own APPLICATION storage for transparent key migration - Sessions windows: MigratingStorage falls back to host (VS Code) application storage loaded via IPC - Main process: ApplicationSharedStorageMain uses HostApplicationStorageMain for embedded app fallback - sharedDataFolderName added to product configuration - Workspace trust migration simplified (handled by MigratingStorage automatically) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix compilation * minimise changes * some fixes Co-authored-by: Copilot <copilot@github.com> * fixes * fix * delete migrated key * fix removing migrated key * update distro * feedback * Fix MigratingStorage: persist marker only on actual migration Add key to migratedKeys immediately before checking fallback to prevent redundant lookups. Only persist the MIGRATED_KEY marker when a value was actually found and migrated, avoiding unnecessary writes when the key doesn't exist in the fallback. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * feedback * fix tests Co-authored-by: Copilot <copilot@github.com> * fix application storage path * fix compilation --------- Co-authored-by: Copilot <copilot@github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
239 lines
7.5 KiB
JSON
239 lines
7.5 KiB
JSON
{
|
|
"nameShort": "Code - OSS",
|
|
"nameLong": "Code - OSS",
|
|
"applicationName": "code-oss",
|
|
"dataFolderName": ".vscode-oss",
|
|
"sharedDataFolderName": ".vscode-oss-shared",
|
|
"win32MutexName": "vscodeoss",
|
|
"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",
|
|
"win32x64AppId": "{{D77B7E06-80BA-4137-BCF4-654B95CCEBC5}",
|
|
"win32arm64AppId": "{{D1ACE434-89C5-48D1-88D3-E2991DF85475}",
|
|
"win32x64UserAppId": "{{CC6B787D-37A0-49E8-AE24-8559A032BE0C}",
|
|
"win32arm64UserAppId": "{{3AEBF0C8-F733-4AD4-BADE-FDB816D53D7B}",
|
|
"win32AppUserModelId": "Microsoft.CodeOSS",
|
|
"win32ShellNameShort": "C&ode - OSS",
|
|
"win32TunnelServiceMutex": "vscodeoss-tunnelservice",
|
|
"win32TunnelMutex": "vscodeoss-tunnel",
|
|
"darwinBundleIdentifier": "com.visualstudio.code.oss",
|
|
"darwinProfileUUID": "47827DD9-4734-49A0-AF80-7E19B11495CC",
|
|
"darwinProfilePayloadUUID": "CF808BE7-53F3-46C6-A7E2-7EDB98A5E959",
|
|
"linuxIconName": "code-oss",
|
|
"licenseFileName": "LICENSE.txt",
|
|
"reportIssueUrl": "https://github.com/microsoft/vscode/issues/new",
|
|
"nodejsRepository": "https://nodejs.org",
|
|
"urlProtocol": "code-oss",
|
|
"webviewContentExternalBaseUrlTemplate": "https://{{uuid}}.vscode-cdn.net/insider/ef65ac1ba57f57f2a3961bfe94aa20481caca4c6/out/vs/workbench/contrib/webview/browser/pre/",
|
|
"builtInExtensions": [
|
|
{
|
|
"name": "ms-vscode.js-debug-companion",
|
|
"version": "1.1.3",
|
|
"sha256": "7380a890787452f14b2db7835dfa94de538caf358ebc263f9d46dd68ac52de93",
|
|
"repo": "https://github.com/microsoft/vscode-js-debug-companion",
|
|
"metadata": {
|
|
"id": "99cb0b7f-7354-4278-b8da-6cc79972169d",
|
|
"publisherId": {
|
|
"publisherId": "5f5636e7-69ed-4afe-b5d6-8d231fb3d3ee",
|
|
"publisherName": "ms-vscode",
|
|
"displayName": "Microsoft",
|
|
"flags": "verified"
|
|
},
|
|
"publisherDisplayName": "Microsoft"
|
|
}
|
|
},
|
|
{
|
|
"name": "ms-vscode.js-debug",
|
|
"version": "1.117.0",
|
|
"sha256": "854eeb8a785b1f41ba2bd02d7ccd4fdbe10021b61473293973c7e96d036c7fb8",
|
|
"repo": "https://github.com/microsoft/vscode-js-debug",
|
|
"metadata": {
|
|
"id": "25629058-ddac-4e17-abba-74678e126c5d",
|
|
"publisherId": {
|
|
"publisherId": "5f5636e7-69ed-4afe-b5d6-8d231fb3d3ee",
|
|
"publisherName": "ms-vscode",
|
|
"displayName": "Microsoft",
|
|
"flags": "verified"
|
|
},
|
|
"publisherDisplayName": "Microsoft"
|
|
}
|
|
},
|
|
{
|
|
"name": "ms-vscode.vscode-js-profile-table",
|
|
"version": "1.0.10",
|
|
"sha256": "7361748ddf9fd09d8a2ed1f2a2d7376a2cf9aae708692820b799708385c38e08",
|
|
"repo": "https://github.com/microsoft/vscode-js-profile-visualizer",
|
|
"metadata": {
|
|
"id": "7e52b41b-71ad-457b-ab7e-0620f1fc4feb",
|
|
"publisherId": {
|
|
"publisherId": "5f5636e7-69ed-4afe-b5d6-8d231fb3d3ee",
|
|
"publisherName": "ms-vscode",
|
|
"displayName": "Microsoft",
|
|
"flags": "verified"
|
|
},
|
|
"publisherDisplayName": "Microsoft"
|
|
}
|
|
}
|
|
],
|
|
"defaultChatAgent": {
|
|
"extensionId": "GitHub.copilot",
|
|
"chatExtensionId": "GitHub.copilot-chat",
|
|
"chatExtensionOutputId": "GitHub.copilot-chat.GitHub Copilot Chat.log",
|
|
"chatExtensionOutputExtensionStateCommand": "github.copilot.debug.extensionState",
|
|
"documentationUrl": "https://aka.ms/github-copilot-overview",
|
|
"termsStatementUrl": "https://aka.ms/github-copilot-terms-statement",
|
|
"privacyStatementUrl": "https://aka.ms/github-copilot-privacy-statement",
|
|
"skusDocumentationUrl": "https://aka.ms/github-copilot-plans",
|
|
"publicCodeMatchesUrl": "https://aka.ms/github-copilot-match-public-code",
|
|
"manageSettingsUrl": "https://aka.ms/github-copilot-settings",
|
|
"managePlanUrl": "https://aka.ms/github-copilot-manage-plan",
|
|
"manageOverageUrl": "https://aka.ms/github-copilot-manage-overage",
|
|
"upgradePlanUrl": "https://aka.ms/github-copilot-upgrade-plan",
|
|
"signUpUrl": "https://aka.ms/github-sign-up",
|
|
"provider": {
|
|
"default": {
|
|
"id": "github",
|
|
"name": "GitHub"
|
|
},
|
|
"enterprise": {
|
|
"id": "github-enterprise",
|
|
"name": "GHE"
|
|
},
|
|
"google": {
|
|
"id": "google",
|
|
"name": "Google"
|
|
},
|
|
"apple": {
|
|
"id": "apple",
|
|
"name": "Apple"
|
|
}
|
|
},
|
|
"providerExtensionId": "vscode.github-authentication",
|
|
"providerUriSetting": "github-enterprise.uri",
|
|
"providerScopes": [
|
|
[
|
|
"read:user",
|
|
"user:email",
|
|
"repo",
|
|
"workflow"
|
|
],
|
|
[
|
|
"user:email"
|
|
],
|
|
[
|
|
"read:user"
|
|
]
|
|
],
|
|
"entitlementUrl": "https://api.github.com/copilot_internal/user",
|
|
"entitlementSignupLimitedUrl": "https://api.github.com/copilot_internal/subscribe_limited_user",
|
|
"chatQuotaExceededContext": "github.copilot.chat.quotaExceeded",
|
|
"completionsQuotaExceededContext": "github.copilot.completions.quotaExceeded",
|
|
"walkthroughCommand": "github.copilot.open.walkthrough",
|
|
"completionsMenuCommand": "github.copilot.toggleStatusMenu",
|
|
"completionsRefreshTokenCommand": "github.copilot.signIn",
|
|
"chatRefreshTokenCommand": "github.copilot.refreshToken",
|
|
"generateCommitMessageCommand": "github.copilot.git.generateCommitMessage",
|
|
"resolveMergeConflictsCommand": "github.copilot.git.resolveMergeConflicts",
|
|
"completionsAdvancedSetting": "github.copilot.advanced",
|
|
"completionsEnablementSetting": "github.copilot.enable",
|
|
"nextEditSuggestionsSetting": "github.copilot.nextEditSuggestions.enabled",
|
|
"tokenEntitlementUrl": "https://api.github.com/copilot_internal/v2/token",
|
|
"mcpRegistryDataUrl": "https://api.github.com/copilot/mcp_registry"
|
|
},
|
|
"trustedExtensionAuthAccess": {
|
|
"github": [
|
|
"GitHub.copilot-chat"
|
|
],
|
|
"github-enterprise": [
|
|
"GitHub.copilot-chat"
|
|
]
|
|
},
|
|
"onboardingKeymaps": [
|
|
{
|
|
"id": "vscode",
|
|
"label": "VS Code",
|
|
"description": "Default keyboard mapping"
|
|
},
|
|
{
|
|
"id": "sublime",
|
|
"label": "Sublime Text",
|
|
"extensionId": "ms-vscode.sublime-keybindings",
|
|
"description": "Keyboard mapping from Sublime Text"
|
|
},
|
|
{
|
|
"id": "intellij",
|
|
"label": "IntelliJ / JetBrains",
|
|
"extensionId": "k--kato.intellij-idea-keybindings",
|
|
"description": "Keyboard mapping from IntelliJ IDEA"
|
|
},
|
|
{
|
|
"id": "vim",
|
|
"label": "Vim",
|
|
"extensionId": "vscodevim.vim",
|
|
"description": "Vim modal editing"
|
|
},
|
|
{
|
|
"id": "eclipse",
|
|
"label": "Eclipse",
|
|
"extensionId": "alphabotsec.vscode-eclipse-keybindings",
|
|
"description": "Keyboard mapping from Eclipse"
|
|
},
|
|
{
|
|
"id": "notepadpp",
|
|
"label": "Notepad++",
|
|
"extensionId": "ms-vscode.notepadplusplus-keybindings",
|
|
"description": "Keyboard mapping from Notepad++"
|
|
}
|
|
],
|
|
"onboardingThemes": [
|
|
{
|
|
"id": "dark-2026",
|
|
"label": "Dark 2026",
|
|
"themeId": "Dark 2026",
|
|
"type": "dark"
|
|
},
|
|
{
|
|
"id": "hc-dark",
|
|
"label": "Dark High Contrast",
|
|
"themeId": "Default High Contrast",
|
|
"type": "hcDark"
|
|
},
|
|
{
|
|
"id": "solarized-dark",
|
|
"label": "Solarized Dark",
|
|
"themeId": "Solarized Dark",
|
|
"type": "dark"
|
|
},
|
|
{
|
|
"id": "light-2026",
|
|
"label": "Light 2026",
|
|
"themeId": "Light 2026",
|
|
"type": "light"
|
|
},
|
|
{
|
|
"id": "hc-light",
|
|
"label": "Light High Contrast",
|
|
"themeId": "Default High Contrast Light",
|
|
"type": "hcLight"
|
|
},
|
|
{
|
|
"id": "solarized-light",
|
|
"label": "Solarized Light",
|
|
"themeId": "Solarized Light",
|
|
"type": "light"
|
|
}
|
|
],
|
|
"builtInExtensionsEnabledWithAutoUpdates": [
|
|
"GitHub.copilot-chat"
|
|
]
|
|
}
|