Repository navigation
Conversation
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Pgns-bsb
requested review from
Changyong Gong (chagong),
Sheng Chen (jdneo),
Jinbo Wang (testforstephen) and
wenyt (wenytang-ms)
as code owners
October 10, 2026 17:10
|
Azure Pipelines: There may be pipelines that require an authorized user to comment /azp run to run. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary\n\n- skip generated/build output folders during Java class detection\n- avoid expensive recursive scans of build artifacts while resolving simple class names\n- add a regression test covering the generated-dir case\n\n## Why\n\nThe class-name detection path was traversing generated output folders such as build/ and target/, which can be very large in Java projects. This made simple class resolution slower and risked picking a generated file before the real source file.\n\n## Validation\n\n-
asset extension.js 2.48 MiB [compared for emit] (name: extension) 1 related asset
runtime modules 2.07 KiB 6 modules
orphan modules 4.02 KiB [orphan] 3 modules
modules by path ./node_modules/ 1.74 MiB 135 modules
modules by path ./src/*.ts 327 KiB
./src/extension.ts 25.6 KiB [built] [code generated]
./src/commands.ts 4.01 KiB [built] [code generated]
./src/utility.ts 16.3 KiB [built] [code generated]
./src/javaLogger.ts 1.86 KiB [built] [code generated]
./src/languageServerPlugin.ts 7.16 KiB [built] [code generated]
extension (webpack 5.110.2) compiled successfully in 1576 ms
�[90m[main 2026-10-10T17:10:27.220Z]�[0m [node-compile-cache] main: packaged cache inactive (status: disabled, configured: /Users/paulosilva/.copilot/repos/vscode-java-debug/.vscode-test/vscode-darwin-arm64-1.141.0/Visual Studio Code.app/Contents/Resources/app/node-compile-cache/main, active: none)
�[90m[main 2026-10-10T17:10:27.233Z]�[0m StorageMainService: creating application shared storage
�[90m[main 2026-10-10T17:10:27.438Z]�[0m [shared storage] Creating shared storage database at ':memory:' (wasCreated: true)
�[90m[main 2026-10-10T17:10:27.439Z]�[0m [shared storage] Initializing fallback application storage (path: in-memory)
�[90m[main 2026-10-10T17:10:27.666Z]�[0m [shared storage] Fallback application storage initialized with 3 items
�[90m[main 2026-10-10T17:10:27.667Z]�[0m update#setState disabled
�[90m[main 2026-10-10T17:10:27.669Z]�[0m update#ctor - updates are disabled by the environment
[RemoteAgentHost] Reconciling: desired=[], current=[]
[AgentHost:renderer] Acquiring MessagePort to agent host...
�[90m[main 2026-10-10T17:10:28.307Z]�[0m AgentHostProcessManager: agent host started
[ChatModelSelection] event=no-model-at-toolbar-build surface="workbench" sessionKey=undefined conversationKey=undefined modelTarget=undefined storageKey="chat.currentLanguageModel.panel" widgetViewKind="view"
[AgentHost:renderer] MessagePort acquired, creating client...
[ChatModelSelection] event=no-model-at-toolbar-build surface="workbench" sessionKey="local" conversationKey="vscode-chat-session://local/NTRmZjcyZDUtM2E0NC00NmMzLThhMDEtYzhjMWIzNTViNTk3" modelTarget=undefined storageKey="chat.currentLanguageModel.panel" widgetViewKind="view"
Started local extension host with pid 13839.
[RemoteAgentHostProtocol] Sending initialize: address=local clientId=74899daa-aee5-4f1f-af22-2cec5099e367 requestId=1
[RemoteAgentHostProtocol] Initialized: address=local clientId=74899daa-aee5-4f1f-af22-2cec5099e367 durationMs=411
[AgentHost:renderer] Protocol connection established; clientId=74899daa-aee5-4f1f-af22-2cec5099e367
[AccountPolicyGate] apply: state=inactive, reason=undefined, isRestricted=false
[AgentHost] No signed-in session resolved for resource: https://api.github.com
[AgentHost] No signed-in session resolved for resource: https://api.github.com/repos
[AgentHost] No signed-in session resolved for resource: https://api.github.com
[AgentHost] No signed-in session resolved for resource: https://api.github.com/repos
Loading development extension at /Users/paulosilva/.copilot/repos/vscode-java-debug
[RemoteAgentHost] Reconciling: desired=[], current=[]
Settings Sync: Account status changed from uninitialized to unavailable
[ChatModelSelection] event=no-model-at-toolbar-build surface="workbench" sessionKey="local" conversationKey="vscode-chat-session://local/NTRmZjcyZDUtM2E0NC00NmMzLThhMDEtYzhjMWIzNTViNTk3" modelTarget=undefined storageKey="chat.currentLanguageModel.panel" widgetViewKind="view"
[AgentHost] No signed-in session resolved for resource: https://api.github.com
[AgentHost] No signed-in session resolved for resource: https://api.github.com
[AgentHost] No signed-in session resolved for resource: https://api.github.com/repos
[AgentHost] No signed-in session resolved for resource: https://api.github.com/repos
[AgentHost] No signed-in session resolved for resource: https://api.github.com
[AgentHost] No signed-in session resolved for resource: https://api.github.com
[AgentHost] No signed-in session resolved for resource: https://api.github.com/repos
[AgentHost] No signed-in session resolved for resource: https://api.github.com/repos
�[0m�[0m
�[0m test runner�[0m
�[32m ✔�[0m�[90m rejects when Mocha throws synchronously�[0m
�[0m JavaStackTraceLinkProvider�[0m
�[32m ✔�[0m�[90m encodes command URI arguments as an array�[0m
�[32m ✔�[0m�[90m stops scanning after the document character budget�[0m
�[32m ✔�[0m�[90m stops scanning after the document line budget�[0m
�[0m parseJavaStackFrame�[0m
�[32m ✔�[0m�[90m parses a tab-indented stack frame�[0m
�[32m ✔�[0m�[90m preserves a module prefix�[0m
�[32m ✔�[0m�[90m calculates the link range within prefixed output�[0m
�[32m ✔�[0m�[90m rejects non-positive and unsafe line numbers�[0m
�[0m buildNoConfigPathAppendValue�[0m
�[32m ✔�[0m�[90m uses ';' as separator on Windows�[0m
�[32m ✔�[0m�[90m uses ':' as separator on Linux�[0m
�[32m ✔�[0m�[90m uses ':' as separator on macOS�[0m
�[32m ✔�[0m�[90m always starts with a path separator (Windows)�[0m
�[32m ✔�[0m�[90m always starts with a path separator (POSIX)�[0m
�[32m ✔�[0m�[90m never collapses scriptsDir into the previous PATH entry on Windows�[0m
�[32m ✔�[0m�[90m never collapses scriptsDir into the previous PATH entry on POSIX�[0m
�[32m ✔�[0m�[90m yields only an empty (harmless) entry when the user's PATH already ends with a separator�[0m
�[32m ✔�[0m�[90m scriptsDir appears unchanged at the end of the appended value�[0m
�[0m No-Config Debug workspace storage�[0m
�[32m ✔�[0m�[90m skips all no-config setup and clears cached contributions when disabled�[0m
�[32m ✔�[0m�[90m does not report a missing workspace when explicitly disabled�[0m
�[32m ✔�[0m�[90m does not remove existing endpoint files when disabled�[0m
�[32m ✔�[0m�[90m restores terminal integration when re-enabled on a later activation�[0m
�[32m ✔�[0m�[90m creates private workspace storage and keeps bundled scripts in the installation directory�[0m
�[32m ✔�[0m�[90m works with a read-only extension directory on POSIX�[0m
�[32m ✔�[0m�[90m does not attempt to create endpoints through a dangling installation link�[0m
�[32m ✔�[0m�[90m keeps the endpoint stable and does not mutate terminal variables on reload�[0m
[ChatModelSelection] event=no-model-at-toolbar-build surface="workbench" sessionKey="local" conversationKey="vscode-chat-session://local/NTRmZjcyZDUtM2E0NC00NmMzLThhMDEtYzhjMWIzNTViNTk3" modelTarget=undefined storageKey="chat.currentLanguageModel.panel" widgetViewKind="view"
�[32m ✔�[0m�[90m prepares terminals without Java activation and discovers a later activation without reinitializing storage�[0m�[31m (2103ms)�[0m
�[32m ✔�[0m�[90m preserves the cached Java executable and stops observation on disposal�[0m�[31m (1101ms)�[0m
�[32m ✔�[0m�[90m preserves fallback when active Java has no tooling home�[0m
�[32m ✔�[0m�[90m reports Java API discovery errors without blocking terminal preparation or exposing paths�[0m
�[32m ✔�[0m�[90m isolates endpoints between workspace storage directories�[0m
�[32m ✔�[0m�[90m migrates cached terminal variables once without deleting unrelated contributions�[0m
�[32m ✔�[0m�[90m finishes deleting a stale endpoint before creating the watcher�[0m
�[32m ✔�[0m�[90m isolates ENOENT storage failures and clears only its cached terminal variables�[0m
�[32m ✔�[0m�[90m isolates EACCES storage failures and clears only its cached terminal variables�[0m
�[32m ✔�[0m�[90m isolates EROFS storage failures and clears only its cached terminal variables�[0m
�[32m ✔�[0m�[90m isolates stale-file cleanup failures instead of watching old endpoint data�[0m
�[32m ✔�[0m�[90m isolates watcher initialization failures before publishing the endpoint�[0m
�[32m ✔�[0m�[90m skips an empty window without falling back to the installation directory�[0m
�[32m ✔�[0m�[90m handles endpoint create events before Java activates�[0m�[31m (103ms)�[0m
�[32m ✔�[0m�[90m handles endpoint change events before Java activates�[0m�[31m (104ms)�[0m
�[32m ✔�[0m�[90m reads the port from workspace storage, attaches, and removes the endpoint�[0m�[31m (103ms)�[0m
�[0m No-Config Debug setting�[0m
�[32m ✔�[0m�[90m is a default-enabled window-scoped setting with localized descriptions�[0m
�[0m No-Config Debug AI opt-out�[0m
�[32m ✔�[0m�[90m returns opt-in guidance before inspecting inputs or changing sessions and terminals�[0m
�[32m ✔�[0m�[90m keeps the existing launch flow enabled by default�[0m
�[0m No-Config Debug scripts�[0m
�[32m ✔�[0m�[90m the bundled POSIX wrapper uses LF and is executable�[0m
�[32m ✔�[0m�[90m adds owner execute permission without changing other permissions�[0m
�[32m ✔�[0m�[90m does not chmod an already owner-executable POSIX wrapper�[0m
�[32m ✔�[0m�[90m does not change wrapper permissions on Windows�[0m
�[0m Language Model Tool launch retry policy�[0m
�[32m ✔�[0m�[90m ignores generated build directories when resolving simple class names�[0m
�[32m ✔�[0m�[90m reports unconfirmed startup without relaunching (waitForSession=false)�[0m
�[32m ✔�[0m�[90m preserves confirmed startup (waitForSession=false)�[0m
�[32m ✔�[0m�[90m reports unconfirmed startup without relaunching (waitForSession=true)�[0m
�[32m ✔�[0m�[90m preserves confirmed startup (waitForSession=true)�[0m
�[32m ✔�[0m�[90m includes the policy on a returned launch failure�[0m
�[32m ✔�[0m�[90m includes the policy on an exception�[0m
�[32m ✔�[0m�[90m includes the policy when no-config debugging is disabled�[0m
�[32m ✔�[0m�[90m keeps model-facing guidance consistent without requiring a skill to be loaded�[0m
�[0m Java extension API activation�[0m
�[32m ✔�[0m�[90m propagates activation rejection instead of leaving getJavaHome pending�[0m
�[32m ✔�[0m�[90m reads the Java tooling home from the activated API�[0m
�[32m ✔�[0m�[90m removes the cancellation listener after successful activation�[0m
�[32m ✔�[0m�[90m propagates activation failure with progress and removes its listener�[0m
�[32m ✔�[0m�[90m does not activate Java for an already cancelled caller�[0m
�[32m ✔�[0m�[90m cancels one caller without cancelling another caller's activation�[0m
�[32m ✔�[0m�[90m handles a late activation rejection after caller cancellation�[0m
�[0m Non-Java workspace activation�[0m
[AccountPolicyGate] apply: state=inactive, reason=undefined, isRestricted=false
�[32m ✔�[0m�[90m registers core debugging without starting Java, then enables integrations after natural activation�[0m�[31m (1148ms)�[0m
�[0m Extension Tests�[0m
�[32m ✔�[0m�[90m Extension should be present�[0m
�[32m ✔�[0m�[90m should activate�[0m�[33m (47ms)�[0m
�[0m envVarSync�[0m
�[0m applyReplaceIfChanged�[0m
�[32m ✔�[0m�[90m writes when variable is missing�[0m
�[32m ✔�[0m�[90m is a no-op when value and type already match (default options)�[0m
�[32m ✔�[0m�[90m writes when value differs�[0m
�[32m ✔�[0m�[90m overrides an existing Append mutator�[0m
�[32m ✔�[0m�[90m writes when options differ from existing mutator�[0m
�[32m ✔�[0m�[90m treats omitted options as the documented defaults�[0m
�[0m applyAppendIfChanged�[0m
�[32m ✔�[0m�[90m writes when variable is missing�[0m
�[32m ✔�[0m�[90m is a no-op when value already matches�[0m
�[32m ✔�[0m�[90m writes when value differs�[0m
�[32m ✔�[0m�[90m overrides an existing Replace mutator on the same variable�[0m
�[0m regression: issue Extension keeps requesting to restart my terminal #1647 - repeated activations stay quiet�[0m
�[32m ✔�[0m�[90m re-applying the same set of variables does not touch the collection�[0m
�[0m JavaInlineValueProvider�[0m
�[32m ✔�[0m�[90m converts ranges without relying on language client internals�[0m
�[92m �[0m�[32m 79 passing�[0m�[90m (5s)�[0m
�[90m[main 2026-10-10T17:10:34.401Z]�[0m Extension host with pid 13839 exited with code: 0, signal: unknown.
Exit code: 0