【译】更好地控制您的 Copilot 代码建议

编辑器中的 Copilot 代码补全和建议能在您日常的编程和编码活动中为您提速,每一次按键都能发挥作用。它们帮助您完成正在输入的代码行,或者预判您的下一次编辑,让您的工作流程更顺畅、更高效。同时,编辑器也是您集中精力、深入工作的地方。根据您的反馈,我们明白在提供有用建议与保持对注意力和工作空间的掌控之间取得恰当平衡是多么重要。

  很高兴分享一些功能,这些功能能让您更好地控制自己的 Copilot 使用体验,这样您就可以在编辑器内决定建议何时显示以及接受多少建议。从 Visual Studio 2022 17.14.13(2025 年 8 月版)开始,这些功能现已全部向您开放。

编码时减少干扰

  在积极思考和编写代码时,您是否更喜欢一个更安静的编辑器?在 Visual Studio 中,我们有一些选项可以帮助您专注于编程,同时当您准备好查看时,仍能获得 Copilot 的辅助。

打字时没有自动补全

  默认情况下,每当您输入一个字符时,系统都会请求补全,以提供即时支持。我们从您那里了解到,有时补全出现得太快,会干扰您的输入。当您快速输入代码时,可以暂停代码补全。前往 Tools -> Options -> IntelliCode -> Advanced ,开启"wait for pauses in typing before showing whole line completions"。这将在您输入时为代码补全请求添加一个防抖动机制,这样在您快速输入时,就不会看到补全内容快速出现又消失了。

仅在您请求时收到代码补全

  现在,您可以禁用自动补全的弹出功能,并通过键盘快捷键手动触发它们。这让您能够完全掌控建议出现的时机,帮助您在需要专注时保持专注,在想要获得帮助时得到帮助。

  在 Tools > Options > IntelliCode > General 中配置代码补全的触发器。默认设置为 Automatically generate code completions in the Editor,您可以取消勾选此设置,以便仅在通过按 Alt + , 或 Alt + . 明确请求时接收建议。如果请求后有多个代码建议可用,您也可以通过按 Alt + , 或 Alt + . 来循环浏览它们。

  当使用键盘快捷键触发时,光标位置会出现一个思考提示栏,表明 Copilot 正在生成代码建议。如果没有返回建议,提示栏会在几秒钟后消失。如果有可用建议,您可以按 Tab 键接受它们。

隐藏后续的编辑建议,仅在您准备好时进行预览

  下一次编辑建议会根据您之前的代码编辑来预测您将要进行的下一次编辑。有时候,这些建议在意外出现时可能会有点让人分心,而现在您可以默认隐藏下一次编辑建议(NES),只在您想查看的时候再去浏览它们。

  NES 仍会根据您的编辑被触发,当有可用的 NES 供您查看时,侧边空白处会出现一个边缘指示器,指向有建议的那一行。要查看该建议,您可以:

  - 点击边缘的指示器

  - 按Tab

  建议将会显示出来。然后,查看建议后,您可以再次按 Tab 键接受建议,或按 ESC 键取消建议。接受建议后,任何相关的建议会自动再次出现,因为您可能也会觉得它们有用。任何与您之前接受的建议无关的新建议会再次隐藏起来。

  例如,在下面的视频中,将 Point 改为 Point3D 后,有一个 NES 可用,但没有直接显示。边缘的指示器和提示栏显示第4行有一个建议,然后我点击了该指示器进行查看。

  要体验此功能,请前往 Tools > Options > GitHub > Copilot > Copilot Completions,然后勾选 "Collapse Next Edit Suggestions"。

部分接受代码建议

  您是否曾经希望只接受 Copilot 代码补全中的部分,而不是接受全部内容?我们很高兴地宣布,现在您可以逐词或逐行部分接受代码补全了!

  在编辑器中使用 Copilot 进行代码补全时......

  - 使用快捷键 Ctrl + 右箭头 一次接受一个单词

  - 使用快捷键 Ctrl + 下箭头 一次接受一行内容。

  您也可以使用边缘的指示器来部分接受补全内容。点击边距指示器时,它也会提供部分接受的选项。

  现在,您将能更精细地控制想要接受多少代码补全内容,而不必先接受整个建议再进行后续编辑。请试用一下,并告诉我们您的想法!

  注意:部分接受会覆盖绑定到这些快捷键的现有功能。如果您想将其关闭,请前往 Tools > Options > IntelliCode > Advanced > Whole-line completions

感谢您分享您的反馈!

  我们之所以进行这些改进,是因为收到了您通过开发者社区(如"Copilot 补全功能过于突兀"、"能够部分接受 GitHub Copilot 建议")以及产品调查分享的宝贵反馈。我们真心感谢您的意见 ------ 这些意见帮助我们打造更好的体验。请在您的编辑器中尝试这些微调 Copilot 建议的方法,并告诉我们如何能继续为您做得更好!

看看新的 Visual Studio Hub 吧

  在一个地方与 Visual Studio 的所有内容保持联系!访问 Visual Studio Hub,获取最新的发行说明、YouTube 视频、社交动态和社区讨论。

感谢您的反馈

  您的反馈有助于我们改进 Visual Studio,使其成为开发者更强大的工具。我们非常感谢您的贡献,并期待您的持续支持。通过开发者社区分享您的想法、创意以及遇到的任何问题,您将帮助我们改进并塑造 Visual Studio 的未来。

原文链接:https://devblogs.microsoft.com/visualstudio/better-control-over-your-copilot-code-suggestions/

相关推荐
我不是懒洋洋18 天前
【C++】string(string的成员变量、auto和范围for、string常用接口的说明、OJ题目、string的模拟实现)
c语言·开发语言·c++·visual studio
C++ 老炮儿的技术栈18 天前
Ubuntu root账号自动登陆
linux·运维·服务器·c语言·c++·ubuntu·visual studio
A.零点19 天前
【2个月 C 语言从入门到精通:零基础系统教程】第十二讲:深入了解指针(五)
c语言·开发语言·网络·笔记·visual studio
彷徨而立19 天前
【VS2026】介绍 Visual Studio 几个重要配置项
visual studio
AndyHuang197619 天前
【避坑指南】Visual Studio 插件报错 “Windows Terminal (wt.exe) was not found in PATH“ 完美解决
ide·windows·visual studio
彷徨而立19 天前
【Visual Studio】msbuild 使用举例
ide·visual studio
blueman888820 天前
VS2022 切换定义(F12 / Go to Definition)反应慢
c++·visual studio
周杰伦fans20 天前
记一次 Visual Studio 突然报错“未能加载 Microsoft.Internal.VisualStudio.Interop”的奇葩经历
microsoft·log4j·visual studio
x1387028595720 天前
c语言中srtlen(指针使用计算字符长度)、传值和传址调用
c语言·开发语言·算法·visual studio
robot_???22 天前
Visual studio2022:找不到指定的SDK“Microsoft.NET.Sdk”
microsoft·.net·visual studio