我在 VS Code 上使用 Github Copilot,版本 1.95 Oct 发布。
我一直想知道如何提供手动选择的文件和代码块上下文以在副驾驶聊天中询问。
基本上,我想要得到的效果是您从文件A复制代码块A,从文件B复制代码块B,从文件C复制代码块C,然后将它们粘贴到副驾驶聊天框中,然后继续提问。响应将非常集中于您提供的那些代码块。然而,这个过程非常繁琐,而且是动态的。您不想每次都将这些块粘贴到聊天中,即使我们只提取代码块,组合起来它也会变得相当大,占据您的聊天框的很大一部分。
如果您使用选择功能,它仅使用活动编辑器选项卡当前选定的代码块,如果您想在其他文件选项卡中包含其他选定的代码块,则此功能不起作用。
我尝试过的尝试:
在正常聊天中,您可以将文件拖到副驾驶聊天框中,或单击“附加上下文”剪辑图标来选择要用作上下文的文件。但它也有一些缺点:
v1.95 中有一个新功能是
copilot edits
,它允许您将我想要的文件选择到 Working Set
中,作为正常聊天中提供的上下文。然而,
@workspace 功能。它会查看您的整个代码库,进行一些语义搜索以根据您的问题查找相关文件,并使用这些文件以及可能相关的代码块来充当上下文,但是,
总之,我想手动选择文件中的相关代码块,以立即作为副驾驶聊天的上下文。
理解你的问题,一个或多个文件上没有多选代码块,其背后的原因可能是这些LLM的输入是有限的,所有输入都应该被本身总结并映射减少到适当的小尺寸,随后使确保各代人都能顺利工作
您可以尝试一种解决方法,创建一个指令文件,您将输入持久文件名,其代码行(或相关函数名称)应重点关注,对于每个提示聊天,它将预加载并包含指令以获得更好的答案.
https://docs.github.com/en/copilot/customizing-copilot/adding-custom-instructions-for-github-copilot