-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Remove experimental ProjectLabels settings and always use Basic strategy #3101
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
base: main
Are you sure you want to change the base?
Conversation
Co-authored-by: digitarald <8599+digitarald@users.noreply.github.com>
Co-authored-by: digitarald <8599+digitarald@users.noreply.github.com>
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
This PR removes experimental toggles for ProjectLabels and simplifies workspace label detection to always use the basic file-based strategy, while including ProjectLabels unconditionally across chat and inline prompts.
Changes:
- Removed
ConfigKey.Advanced.ProjectLabelsExpanded,ProjectLabelsChat, andProjectLabelsInlineexperiment-backed settings and their usage. - Simplified
PromptWorkspaceLabelsto always useBasicPromptWorkspaceLabelsand deleted theExpandedPromptWorkspaceLabelsimplementation. - Updated panel, notebook, and inline prompt components so
ProjectLabelsis always rendered (no feature-flag checks) in panel chat, edit, and inline workflows.
Reviewed changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
src/platform/configuration/common/configurationService.ts |
Deletes the three experiment-based configuration keys controlling project labels expansion and inclusion in chat/inline prompts. |
src/extension/prompts/node/panel/panelChatBasePrompt.tsx |
Removes experimentation/configuration dependencies and always includes <ProjectLabels> in the main panel chat user message. |
src/extension/prompts/node/panel/notebookInlinePrompt.tsx |
Drops the experiment gate inside EditCode2UserMessage so notebook inline prompts always include <ProjectLabels>, while still using configuration for unrelated code search messaging. |
src/extension/prompts/node/panel/editCodePrompt2.tsx |
Simplifies EditCode2UserMessage to no longer depend on experimentation/config services and always render <ProjectLabels> in the edit code v2 panel prompt. |
src/extension/prompts/node/panel/editCodePrompt.tsx |
Removes experimentation/config dependencies from EditCodeUserMessage and always includes <ProjectLabels> in the legacy edit code panel prompt. |
src/extension/prompts/node/inline/inlineChatGenerateCodePrompt.tsx |
Eliminates inline project labels experiment checks and unconditionally renders <ProjectLabels> (outside the user message) for inline “generate code” prompts. |
src/extension/prompts/node/inline/inlineChatEditCodePrompt.tsx |
Similarly removes experiment-based gating and always renders <ProjectLabels> for inline “edit code” prompts. |
src/extension/context/node/resolvers/promptWorkspaceLabels.ts |
Simplifies PromptWorkspaceLabels to only instantiate and delegate to BasicPromptWorkspaceLabels, removes the strategy enum and expanded strategy, and keeps telemetry based on the basic labels set. |
Removes experimental feature flags for ProjectLabels and simplifies to always-on behavior with Basic workspace label detection.
Changes
Removed experimental settings
ProjectLabelsExpanded- toggled between Basic/Expanded label detection strategiesProjectLabelsChat- controlled ProjectLabels inclusion in chat promptsProjectLabelsInline- controlled ProjectLabels inclusion in inline promptsSimplified workspace label detection
package.json,tsconfig.json, etc.)ExpandedPromptWorkspaceLabelsclass (276 lines)Updated prompt components
Before:
After:
Impact
ProjectLabels context (detected technologies: JavaScript, Python, React, etc.) is now consistently provided in all AI prompts. Net -315 lines.
Original prompt
Start implementation
The user has attached the following file paths as relevant context:
- .github/copilot-instructions.md
- .github/copilot-instructions.md
- src/extension/agents/claude/AGENTS.md
- AGENTS.md
[Chronological Review: The conversation began with the user requesting the removal of settings and extraneous project labels logic from the experimental settings. The user then specified to remove certain project labels (ProjectLabelsExpanded, ProjectLabelsChat, and Inline) only where they are included with settings checks. The user also indicated that the default should be set to Basic. The conversation has focused on modifying the `provideFeedback.tsx` file in the `vscode-copilot-chat` repository.][Intent Mapping:
[Technical Inventory:
vscode-copilot-chatdigitarald/plan-agent-providerprovideFeedback.tsx- This file is being modified to remove specific project labels and adjust settings.][Code Archaeology:
provideFeedback.tsxProjectLabelsand the logic surrounding project labels that need to be removed.][Progress Assessment:
[Context Validation: All necessary context for continuing work on the
provideFeedback.tsxfile is captured, including specific labels to remove and the desired default setting.][Recent Commands Analysis:
provideFeedback.tsxfile when the token budget was exceeded.1. Conversation Overview: - Primary Objectives: - "Remove the settings and extraneous project labels logic behind these experimental settings." - "Remove ProjectLabelsExpanded, ProjectLabelsChat and Inline and only where they are included with settings checks." - "Default should be Basic." - Session Context: The user is focused on modifying the `provideFeedback.tsx` file to streamline project label logic and set a default value. - User Intent Evolution: The user has progressively specified which project labels to remove and clarified the desired default setting.- Technical Foundation:
- Repository:
- Current Branch:
- File:
- Codebase Status:
- File Name:
- Purpose: This file handles feedback-related functionality and includes logic for project labels.
- Current State: The user has requested specific removals of project labels and a default setting change.
- Key Code Segments: The import statement for
- Dependencies: The changes will affect how project labels are handled in the feedback process.
- Problem Resolution:
- Issues Encountered: The complexity of project label logic may have been causing confusion or unnecessary overhead.
- Solutions Implemented: User has provided clear directives on what to remove and how to set defaults.
- Debugging Context: No specific debugging issues were mentioned, but the user is focused on simplifying the code.
- Lessons Learned: Clear communication of requirements is essential for effective code modification.
- Progress Tracking:
- Completed Tasks: User has articulated the changes needed regarding project labels.
- Partially Complete Work: The actual implementation of these changes is still pending.
- Validated Outcomes: No outcomes have been validated yet as changes have not been made.
- Active Work State:
- Current Focus: Modifying the
- Recent Context: The user has been specifying which project labels to remove and the desired default setting.
- Working Code: The focus is on the logic surrounding project labels in
- Immediate Context: The user is addressing the removal of specific project labels and setting a default value.
- Re...
vscode-copilot-chatdigitarald/plan-agent-providerprovideFeedback.tsx- This file is central to the user's requests regarding project labels.provideFeedback.tsxProjectLabelsand the logic surrounding project labels are critical areas for modification.provideFeedback.tsxfile to remove specific project labels and set a default value.provideFeedback.tsx.Created from VS Code.
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.