Skip to content

Audit obsolete temporary code #326491

Description

@roblourens

Stale Removal Comments

Last reviewed: 2026-07-18

This audit covers code that is explicitly temporary, transitional,
compatibility-only, deprecated, or intended for removal after a condition,
version, release, or period of time. It also includes nearby obsolete-code
signals such as unused legacy enum members and superseded experimental paths.

Ownership

  • * before an assignee means the original author or named owner is no longer an
    appropriate assignee, and the assignee was inferred from current ownership,
    nearby history, or the responsible pull request.
  • Copilot-extension files imported in the Hello Copilot commit have import
    blame rather than useful authorship history. Those entries are assigned to
    the current human owner of the relevant code.

Conditions Appear Satisfied or Deadlines Expired

Location Removal signal Original attribution Assignee Done
search.contribution.ts:142 Removed the deprecated search.useRipgrep setting and its query-builder fallback behavior. Rob Lourens, 2017-03 @roblourens
search.contribution.ts:234, ripgrepTextSearchEngine.ts:478 Removed the deprecated search.usePCRE2 setting and manual PCRE2 override plumbing in favor of automatic engine selection. Rob Lourens, 2018-10 @roblourens
chatListRenderer.ts:2195, chatWidget.ts:2243 Removed the hidden chat.experimental.renderMarkdownImmediately development path. Rob Lourens, 2025-06 @roblourens
search.contribution.ts:148 Removed the deprecated search.maintainFileSearchCache setting, which was obsolete after the search cache moved into the long-lived extension host. Rob Lourens, 2019-02 @roblourens
search.contribution.ts:214 Removed the deprecated search.location setting, superseded by dragging the Search view to a new location. SteVen Batten, 2020-02 @roblourens
editorOptions.ts:5229 Removed the deprecated editor.suggest.maxVisibleSuggestions setting after the suggest widget became resizable. Alex Dima, 2019-09 @roblourens
configuration.ts:228 Removed the expired Insiders-only testing.automaticallyOpenResults migration after its 1.97 deadline. Connor Peet, 2024-11 @roblourens
mainThreadEditorTabs.ts:534 Removed the old commented-out _eventToString editor-tabs debugging helper. Logan Ramos, 2021-09 @roblourens
build/win32/code.iss:1746 Remove in 1.111; current is 1.130 Deepak Mohan, 2026-01-30 @deepak1556
build/azure-pipelines/darwin/product-build-darwin-universal.yml:116, product-build-darwin-compile.yml:254 Remove once main is on 1.112 Deepak Mohan, 2026-02-03 @deepak1556
scripts/test-remote-integration.bat:6, test-web-integration.bat:6 Remove above Node 24.16; hooks run Node 24.18 Deepak Mohan, 2026-06-29 @deepak1556
build/npm/postinstall.ts:340 Remove at Copilot SDK >=0.1.32; dependency is 1.0.7-preview Tyler Leonhardt, 2026-03-23 @TylerLeonhardt
extensions/copilot/src/platform/promptFiles/vscode-node/promptsServiceImpl.ts:90 Temporary workaround for a bug fixed in 1.114 Martin Aeschlimann, 2026-04-15 @aeschli
abstractLanguageModelChatProvider.ts:47, azureProvider.ts:99, customOAIProvider.ts:191 Remove after six months; six months elapsed Sandeep Somavarapu, 2026-01-15 @sandy081
terminalServiceImpl.ts:32 Safe to remove after a few months; linked issue is closed Don Jayamanne, 2025-11-06 @DonJayamanne
extensions/microsoft-authentication/src/node/authProvider.ts:26 Remove after one or two releases Copilot-authored PR #276787, 2025-11-11 * @TylerLeonhardt
chatHistoryBuilder.ts:120, chatHistoryBuilder.ts:132 Added in 0.38.x; remove after a few releases; extension is 0.58 Tyler Leonhardt, 2026-02-06 @TylerLeonhardt
extensions/html-language-features/server/src/htmlServer.ts:548 Remove when vscode-languageserver-node issue #700 is fixed; closed 2025-10 Martin Aeschlimann, 2021-07-08 @aeschli
src/vs/platform/hover/browser/hoverService.ts:289 Remove when VS Code issue #189076 is fixed; closed 2024-05 Megan Rogge, 2023-07-28 @meganrogge
src/vs/workbench/api/common/extHostNotebook.ts:462 Temporary fix for VS Code issue #205044; closed 2024-12 Andrea Mah, 2024-02-12 * @roblourens
nativeEditContext.ts:381, view.ts:528 Workarounds for VS Code issue #229825; closed 2024-10 Aiday Marlen Kyzy, 2024-10 @aiday-mar
src/vs/platform/windows/electron-main/windowImpl.ts:210 Workaround for VS Code issue #250626; closed 2025-06 Benjamin Pasero, 2025-11; TODO names Deepak @deepak1556
src/main.ts:282, encryption.contribution.ts:28 Gnome password-store migration: remove after three months Tyler Leonhardt, 2024-02 @TylerLeonhardt
mainThreadStorage.ts:68, mainThreadStorage.ts:77 Web extension-storage casing migration: remove after six months Sandeep Somavarapu, 2022-01 @sandy081
src/vs/workbench/contrib/scm/common/scmService.ts:316 Change migration behavior from January 2024 onward Joao Moreno, 2023-09 * @lszomoru
extensionsProfileScannerService.ts:235, extensionsProfileScannerService.ts:247 Remove old-location migrations after a couple releases Sandeep Somavarapu, 2022-11/12 @sandy081
src/vs/workbench/contrib/notebook/browser/notebookOptions.ts:181 Remove deprecated-setting migration after a few iterations Peng Lyu, 2023-02 * @roblourens
authenticationExtensionsService.ts:203 Remove after a couple iterations Tyler Leonhardt, 2024-09 @TylerLeonhardt
authenticationMcpService.ts:258 Remove after a couple iterations Tyler Leonhardt, 2025-05 @TylerLeonhardt
mainThreadAuthentication.ts:553, mainThreadAuthentication.ts:556 Temporary telemetry; remove in a few iterations Tyler Leonhardt, 2024-11 @TylerLeonhardt
src/vs/platform/extensionManagement/node/extensionManagementService.ts:566 Remove initialization after a couple releases Sandeep Somavarapu, 2025-01 @sandy081
src/vs/workbench/contrib/chat/common/languageModelStats.ts:32 Remove after a while Sandeep Somavarapu, 2025-01 @sandy081
dynamicAuthenticationProviderStorageService.ts:124 Migration: remove after one or two iterations Tyler Leonhardt, 2025-06 @TylerLeonhardt
accountAccess.ts:125, publicClientCache.ts:54, publicClientCache.ts:277, publicClientCache.ts:302 Remove after one release/version or two Tyler Leonhardt, 2025-03 @TylerLeonhardt
src/vs/platform/terminal/node/terminalProcess.ts:164 The node-pty environment type now accepts string | undefined, matching IProcessEnvironment, so the compatibility cast appears removable. Daniel Imms, 2021-03 * @anthonykim1
src/vs/workbench/api/common/extHost.api.impl.ts:347 The compatibility API was waiting for GHPR and Codespaces to migrate; current code search finds no hasSession consumer in either first-party extension repository. Tyler Leonhardt, 2021-10 @TylerLeonhardt
src/vs/code/browser/workbench/workbench.ts:331 The GitHub-authentication URL-callback special case points to microsoft/vscode-dev#62, which closed in 2021. Benjamin Pasero, 2022-01; TODO names Joao Moreno * @aeschli
src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.ts:336 The compatibility check says to remove it when workbench.welcomePage.preferReducedMotion is deprecated, and that setting now has a deprecation message directing users to workbench.reduceMotion. Jackson Kearl, 2022-03 * @lramos15
extHostTypes.ts:2929, extHostTypes.ts:2941, extHostTypes.ts:2953 The test-coverage API is finalized with executed; these executionCount aliases only preserve the old proposed shape. Connor Peet, 2024-02 @connor4312
chatParticipantTelemetry.ts:321, chatParticipantTelemetry.ts:448 The temporary patch-response telemetry points to microsoft/vscode-copilot#16608, which closed in 2025-07. Bulk Copilot extension import; TODO names Connor Peet @connor4312
extensions/copilot/src/platform/authentication/common/copilotToken.ts:278 The unconfigured telemetry-consent state is documented as pre-GA and removable post-GA. Bulk Copilot extension import, 2025-06 * @connor4312
extensions/copilot/src/extension/prompts/node/base/common.tsx:9 The class is explicitly deprecated as a workaround for microsoft/vscode-prompt-tsx#90, whose fix was merged in 2024. Bulk Copilot extension import, 2025-06 * @connor4312
src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.ts:45 The elevated keybinding weight was meant to override an extension-contributed binding, but the current Copilot extension no longer contributes that binding. Daniel Imms, 2024-03 * @meganrogge
src/vs/server/node/serverConnectionToken.ts:20 ServerConnectionTokenType.Optional has carried a “remove soon” comment since 2022, and every production token is still constructed as either None or Mandatory. Alex Dima, 2022-01 @alexdima
extensions/github-authentication/src/github.ts:281 The scopesSeen compatibility set has an eventual-removal comment, but current code only adds values and never reads them, so it has no effect. Tyler Leonhardt, 2021-12 @TylerLeonhardt
extensions/copilot/src/extension/tools/common/toolNames.ts:111 ContributedToolName.RunTests is deprecated in favor of the core run-tests tool and has no remaining references outside its declaration. Connor Peet, 2025-07 @connor4312
src/vs/workbench/contrib/chat/common/model/chatSessionStore.ts:576 The pre-1.109 session guard has passed its stated transition period; moreover, inside ??= the value is necessarily nullish, so its Pending and NeedsInput checks cannot be true. Connor Peet, 2026-01 @connor4312

Could Be Removable, but Needs Owner Judgment

Location Temporary/removal marker Original attribution Assignee Done
menubar.ts:60, menubar.ts:265 This retains old Electron Menu objects for ten seconds to avoid garbage-collection crashes; electron/electron#14213 closed only because the reported Electron version was unsupported, not because a fix was recorded. SteVen Batten, 2018-10 @sbatten
workspaceEditingService.ts:201 Remote workspace transitions still reload the whole window instead of restarting extension hosts, and no linked tracker establishes whether restart now works. Benjamin Pasero, 2019-10; TODO names Martin Aeschlimann @aeschli
src/vs/platform/telemetry/common/telemetry.ts:108, telemetryUtils.ts:141 The deprecated telemetry.enableTelemetry setting still overrides telemetry.telemetryLevel; removal is technically straightforward but could re-enable telemetry for users carrying the old persisted opt-out. Logan Ramos, 2021-09 @lramos15
build/linux/libcxx-fetcher.ts:6 This custom libc++ fetcher was waiting for electron/rebuild#703, but that PR closed unmerged in 2021 and the comment does not identify a replacement. Deepak Mohan, 2021-08 @deepak1556
src/vs/workbench/api/common/extHostTimeline.ts:159 This converts the deprecated TimelineItem.detail shape to tooltip; removal depends on old timeline providers no longer sending detail. Jackson Kearl, 2022-03 * @lramos15
src/vs/workbench/contrib/webview/browser/pre/index.html:507 This still exposes the deprecated data-vscode-theme-name attribute to webview content, so removal depends on third-party webviews no longer reading it. Ping Ren, 2022-09 * @deepak1556
backLayerWebView.ts:1105 This translates the old notebook error-renderer line-number query into the current URI fragment, but the comment does not say whether old renderer links can still arrive. Peng Lyu, 2022-12 * @amunger
cli/src/state.rs:137 This still renames the old ~/.vscode-cli data directory into the current CLI data directory, so removal depends on whether skipped-version upgrades remain supported. Connor Peet, 2023-05 @connor4312
src/vs/workbench/contrib/terminal/common/terminalEnvironment.ts:387 This falls back to the last active workspace when a terminal cwd cannot be mapped, despite the comment calling that source unreliable; the user-visible effect of deleting it needs confirmation. Daniel Imms, 2023-05 * @meganrogge
paneCompositeBar.ts:42, paneCompositeBar.ts:50 These fields read the pre-migration visible value from persisted pane-composite state, so removal depends on the supported age of stored profiles. Sandeep Somavarapu, 2023-10 @sandy081
hoverDelegate.ts:72, hover.ts:118 showNativeHover and nativeHoverDelegate are explicitly a temporary context-view fix, but there is no linked issue establishing whether the underlying problem still reproduces. Benjamin Simmonds, 2024-02 @benibenj
src/vs/workbench/contrib/comments/browser/commentReply.ts:96 Comment-input URIs still duplicate extension and thread identifiers in query parameters until comment extensions consistently use the URI authority. Matt Bierner, 2024-04 * @alexr00
extHostWorkspace.ts:882, searchExtConversionTypes.ts:14 These preserve the old proposed search-provider shapes; first-party adoption may be complete, but marketplace extensions and persisted extension versions still need consideration. Andrea Mah, 2024-08 * @roblourens
extensions/github-authentication/src/github.ts:23, github.ts:279 This migrates persisted GitHub authentication sessions whose account ID was accidentally stored as a number, so removal depends on the oldest supported user data. Tyler Leonhardt, 2024-09 @TylerLeonhardt
authProvider.ts:115, cachedPublicClientApplication.ts:207, publicClientCache.ts:128 These migrate refresh tokens and sessions from the pre-MSAL authentication flow, so deletion depends on whether users can still upgrade with that old secret-storage data. Tyler Leonhardt, 2024-11 @TylerLeonhardt
inlineCompletionsModel.ts:230, editorOptions.ts:4636 The experimental editor.inlineSuggest.triggerCommandOnProviderChange branch has a TODO to always use the selective provider-refresh path; removal depends on whether that experiment has concluded. Henning Dieterichs, 2025-07 @hediet
src/vs/workbench/contrib/chat/common/attachments/chatVariableEntries.ts:289 The fileName field is read only from old serialized chat paste entries, so removal depends on the retention policy for stored chat history. Connor Peet, 2025-06 @connor4312
extensions/copilot/src/extension/linkify/common/commands.ts:8 These aliases preserve old Copilot command IDs, and deletion may still affect external command links, keybindings, or extensions. Bulk Copilot extension import, 2025-06 * @connor4312

Future-Dated Cleanups Not Yet Stale

Metadata

Metadata

Assignees

Labels

debtCode quality issues

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions