CodeBuddy 代码补全

CodeBuddy IDE 在你编写代码时提供智能代码补全,帮助你更快、更高效地编写代码。

相关产品
CodeBuddy 产品页,含版本规格、价格与购买入口。

一、概述

CodeBuddy 在你编码时提供内联补全。基于当前代码内容和项目上下文分析,提供多行代码补全建议,并支持基于历史编辑记录的“下一步编辑建议”功能,可通过 Tab 键接受补全建议。

CodeBuddy 支持众多编程语言和各种框架,包括 Python、JavaScript、TypeScript、Java、C/C++、Go、Ruby 等。

三、自动触发

代码补全会在你输入时自动触发。当你:

·开始新的一行

·在缩进后输入

·输入括号或其他分隔符

·将光标移动到行尾

CodeBuddy 会分析你的上下文并生成适当的补全。

四、手动触发

你可以使用快捷键手动触发代码补全:

平台 快捷键
macOS Option + \\
Windows/Linux Alt + \\

五、接受补全

当补全出现时,你有以下几个选项:

·接受全部补全

·按 Tab 键接受完整的补全

·逐行接受

·仅接受补全的下一行:

平台 快捷键
macOS Cmd + Down
Windows/Linux Ctrl + Down

·逐词接受

·仅接受补全的下一个词:

平台 快捷键
macOS Cmd + Right
Windows/Linux Ctrl + Right

六、取消补全

要取消补全而不接受它,请按 Escape 键。

九、IDE 设置

在右上角头像处进入 IDE 设置或打开命令面板 (Cmd/Ctrl + Shift + P)搜索 "CodeBuddy: Settings"进入。

切换到 Tab 部分,Tab 设置页面提供:

·自动代码补全:切换开关以启用/禁用实时代码补全

·语言规则:配置各个语言是否启用自动补全。语言级别的规则会覆盖全局设置——即使 Auto Completion 关闭,在此处明确启用的语言仍会提供补全

·生成偏好:选择智能模式(基于上下文的多行补全)或单行模式

十、系统设置

启用/禁用:

1. 打开系统设置 (Cmd/Ctrl + ,)

2. 搜索 codingcopilot.enableAutoCompletions

3. 切换该设置

控制代码补全的风格:

1. 打开系统设置 (Cmd/Ctrl + ,)

2. 搜索 codingcopilot.generationPreference

3. 选择:

·智能模式:根据上下文提供多行补全

·单行模式:将补全限制为单行

十一、为特定语言启用/禁用

你可以控制特定编程语言的代码补全:

1. 打开系统设置 (Cmd/Ctrl + ,)

2. 搜索 codingcopilot.enableCompletionLanguage

3. 配置特定语言 settings.json 中的配置示例:

{ "codingcopilot.enableCompletionLanguage": { "python": true, "javascript": true, "markdown": false, "plaintext": false }}

十二、补全 Pro 能力(下一步编辑建议 (NES))

补全 Pro 能力,即下一个编辑建议,NES (Next Edit Suggestions),不仅可以对当前光标处的代码进行补全,也可以对其它相关地方的代码进行补全,即预测开发者接下来要写的代码,并提前给出建议,具有“前瞻性”的核心特点,实现更好的补全效果。默认为开启状态,支持自动触发和手动触发。

十三、NES 工作原理

·分析你最近的编辑模式

·预测你接下来可能想要编辑的内容

·显示可能跨越多行或影响代码不同部分的建议

十四、手动触发 NES

平台 快捷键
所有平台 Ctrl + Shift + Enter

十五、接受 NES 建议

当 NES 建议出现时,按 Tab 键接受。按 Escape 键取消。

十六、启用/禁用 NES

NES 默认启用。要切换它:

1. 打开命令面板 (Cmd/Ctrl + Shift + P)

2. 搜索 "CodeBuddy: Quick Settings"

3. 切换 "Next Edit Suggestions"

或在设置中配置:

1. 打开设置 (Cmd/Ctrl + ,)

2. 搜索 codingcopilot.enableNextEditSuggestions

3. 切换该设置

十七、快捷键参考

操作 macOS Windows/Linux
触发补全 Option + \\ Alt + \\
接受全部 Tab Tab
接受一行 Cmd + Down Ctrl + Down
接受一词 Cmd + Right Ctrl + Right
取消 Escape Escape
触发 NES Ctrl + Shift + Enter Ctrl + Shift + Enter

十八、修改函数或方法名的补全 Pro 场景

在函数或方法名的定义处或引用处修改后,通过光标的定位,自动触发 NES。

十九、修改变量名的补全 Pro 场景

修改变量名后,根据光标的移动,以及代码情况,捕捉到上下文信息后,在合理的光标位置出现补全推荐。

20、代码补全触发时机

CodeBuddy 会根据光标所在位置选择合适的位置进行代码补全,例如当光标位置在代码行尾附近位置,或者换行的时候才会触发代码补全。

常见触发时机:

·行尾右边小括号前面位置触发补全

·行尾右边大括号前面位置触发补全

·代码行尾位置触发补全

·代码换行位置触发补全

21、代码补全内容的粒度

实际使用过程中,CodeBuddy 补全内容的粒度在不同的代码位置是不一样的。实验发现,并不是补全的内容越多越好(可能补全的越多,错的越多,而且速度也会变慢,补全内容的长度与补全所需要的时间成正比),在不同代码位置,补全的内容的多少(粒度)是不一样的。例如在一个空的代码块中,CodeBuddy 则按代码块粒度进行补全;在非空代码块中,大部分情况按单行粒度进行补全;在类定义块中,或者顶级块中,就算块内不为空,也按代码块粒度进行补全。

常见补全内容粒度:

·光标在方法或者函数体内,且体内为空,按块补全。

·光标在语句内,例如 for 语句、try 语句等,且体内为空,按块补全

·光标在语句内,例如 for 语句、try 语句等,且体内不为空,则按单行补全

·光标在方法或者函数体内,且体内不为空,按单行补全

·光标在类定义体内,按块补全

·光标在一行代码尾部范围,则按单行补全

22、提升代码补全结果的正确性

代码补全结果的正确性是相对当前开发者来说的,对 CodeBuddy 来说可能是正确合理的,但是对当前开发者来说可能不正确、不合理。为了帮助你理解,可以把代码补全功能,想象成一个隐藏在背后的程序员:

·它的眼睛几乎只能看到当前光标之前的代码(代码行数和字符数也是有一定限制的)。

·具有较强的逻辑推理和模仿能力。

·它只能接着当前光标位置继续完成后续的代码。

所以,从上面三个特性就能很容易推出可以通过使用光标之前的代码引导它帮助我们写出更为正确的后续代码。引导的方式有很多种,如下所示:

1. 通过代码注释直接告诉它,我想要做什么,例如实现一个冒泡排序。

2. 通过已有平级同类型代码,引导出可能的补全内容,例如用户模块的 CRUD 功能实现,通过实现 CRU,引导它模仿 CRU 的实现方式,实现 D 功能。

3. 让自己的代码有迹可循,例如代码风格统一、变量和方法等命名具体且有规律、代码结构具有规律。它很擅长挖掘已有代码潜在的规律,然后去模仿推导。例如:

·通过代码注释引导补全

·通过已有平级同类型代码引导补全

·通过潜在代码规律引导补全

赞 (0)
上一篇 4天前
下一篇 4天前