Multiple Copilot Improvements#251
Open
hendrikmennen wants to merge 1 commit into
Open
Conversation
…ystem message sections
Removed 6 built-in AI tool registrations that duplicate the Copilot CLI's
own native capabilities (searchFiles, listDirectory, pathExists,
createDirectory, movePath, deletePath). The CLI handles these natively
via its Grep/Glob/LS/Bash tools with no extra RPC overhead.
Kept the 9 IDE-specific tools that the CLI cannot provide on its own:
readFile (reads live editor buffer), editFile (opens diff tab in IDE),
runTerminalCommand (routes through IDE terminal panel), getActiveProject,
getOpenFiles, getFocusedFile, getErrorsForFile, getAllErrors, openIDESettings.
Added Autopilot mode: a new checkbox setting under 'AI Chat > Copilot CLI'
that auto-approves all permission requests (OnPreToolUse + OnPermissionRequest)
without showing confirmation dialogs - equivalent to Claude Code's auto-accept.
Added IOneWareAiFunction.DetailExtractor: an optional delegate that extracts
a short human-readable label (e.g. relative file path) from invocation
arguments. readFile and editFile now surface the relative path as ToolOutput
in the chat message. The generic 'Tool {id} succeeded.' message is removed.
Replaced the monolithic CopilotModule.SystemMessage constant with SDK-native
SystemMessageMode.Customize section overrides. Each concern is scoped to
its proper SystemMessageSection (Identity, EnvironmentContext, ToolInstructions,
CodeChangeRules, Tone, Safety, RuntimeInstructions) using SectionOverrideAction.Append
so the SDK's own defaults are preserved and only IDE-specific content is added.
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.
This pull request removes several AI file and directory management functions and their supporting code from
AiBuiltInFunctions.cs, streamlining the available built-in AI functions. It also introduces aDetailExtractorfor file read/edit functions to provide more contextual information, and improves how function execution details are reported in the UI. Additionally, there are minor improvements to terminal command descriptions and output handling.Removed AI file/directory management functions and supporting code:
searchFiles,listDirectory,pathExists,createDirectory,movePath, anddeletePath. All related handler methods and helper types (SearchMatch,DirectoryEntry, and their logic) have also been deleted fromAiBuiltInFunctions.cs. [1] [2] [3] [4] [5] [6] [7]Function execution reporting improvements:
DetailExtractorproperty to file read/edit functions, which provides a relative file path for better context in UI notifications. [1] [2] [3]Terminal command improvements:
Minor changes:
using System.Text.RegularExpressions;after deleting related code.