Codebuddy 官网 Codebuddy IntelliJ IDEA 插件 阅读笔记 1
参考资料
https://www.codebuddy.cn/docs/plugin/%E5%BF%AB%E9%80%9F%E5%85%A5%E9%97%A8/%E4%BA%A7%E5%93%81%E5%AE%89%E8%A3%85
一 快速入门
1.1 产品安装
插件对主流 IDE 版本要求
| IDE | 最低版本要求 |
|---|---|
| IntelliJ IDEA | 2022.2 |
JetBrains IDEs 安装插件
- 从 IDE 插件市场安装。 打开插件市场:在右上角的设置中,单击 插件 。
- 搜索 腾讯云代码助手。
- 在搜索结果中单击 安装。
1.2 登录及退出
登录插件
1.单击底部 icon,或在 CodeBuddy 插件登录页触发登录。
2.可以使用手机号或手机微信扫码,授权成功即可登录完成。
1.3 功能入门
技术对话功能
代码助手对话面板与传统的聊天软件类似,只是开发者只能与代码助手进行对话,并且只能咨询一些有关编程技术的问题。对话面板适合咨询一些比较宽泛的问题,一些复杂的问题,需要开发者多回合沟通才能得到最终答案,并且答案的形式是纯文字或者是代码 + 文字说明等形式。如下所示:
代码补全功能
目前支持的主流开发语言的补全,例如:C、C++、CSS、Go、HTML、Java、JavaScript、Kotlin、TypeScript、React、Python、SQL、Markdown 等。只需要使用编辑器打开代码文件,编辑代码文件时候,代码助手会在合适时机和位置自动触发智能代码补全提示,如下图所示:
快捷键
默认快捷键如下:
| 操作 | macOS | Windows |
|---|---|---|
| 触发代码补全 | Enter | Enter |
| 采纳所有推荐代码 | Tab | Tab |
| 按行采纳推荐代码 | Ctrl + ⌘ + → | Ctrl + Alt + → |
| 按词采纳推荐代码 | ⌘ + → | Ctrl + → |
| 切换至下一个推荐结果 | ⌥ + ] | Alt + ] |
| 切换至上一个推荐结果 | ⌥ + [ | Alt + [ |
| 手动触发推荐 | ⌥ + \ | Alt + \ |
| 撤销当前推荐状态 | Esc | Esc |
修改默认快捷键
对话快捷指令
在对话输入框中,输入 / 或 @ 调用预置的快捷指令:
- /comments:为所选的代码添加文档注释。
- /explain:解释所选代码的工作原理。
- /fix:针对所选代码中的问题提出修复方案。
- /tests:为所选代码生成单元测试。
- /clear:清空当前会话。
- /cr:AI 代码评审。
- /help:使用指南。
- @workspace:询问您的工作空间,将自动引用当前代码。
- @terminal:询问如何在终端中执行某些操作。
二 操作指南
2.1 代码补全
JetBrains IDE 代码补全
支持的主流开发语言的补全 C、C++、C#、CSS、Go、HTML、Java、JavaScript、Kotlin、TypeScript、React、Python、SQL、PHP、Objective-C、Shell、System-C、Verilog、MATLAB、Markdown 等。
只需要使用编辑器打开代码文件,编辑代码文件时候,代码助手会在合适时机和位置自动触发智能代码补全提示,而且会有代码补全推荐时的文字引导,可以按照文字引导进行操作,如下所示。
禁用和启用补全功能:单击状态栏的插件小图标,可以启用或者禁用插件代码自动补全功能,如下图所示。
默认快捷键如下:
| 操作 | macOS | Windows |
|---|---|---|
| 触发代码补全 | Enter | Enter |
| 采纳所有推荐代码 | Tab | Tab |
| 切换至下一个推荐结果 | ⌥ + ] | Alt + ] |
| 切换至上一个推荐结果 | ⌥ + [ | Alt + [ |
| 手动触发推荐 | 暂无 | Alt + P |
| 撤销当前推荐状态 | Esc | Esc |
代码补全触发时机
插件会根据光标所在位置合理选择合适的位置进行代码补全,例如插件当光标位置在代码行尾附近位置,或者换行的时候才会触发代码补全。
代码补全内容的粒度
实际使用过程中,插件补全内容的粒度在不同的代码位置是不一样的。实验发现,并不是补全的内容越多越好(可能补全的越多,错的越多,而且速度也会变慢,补全内容的长度与补全所需要的时间成正比),在不同代码位置,补全的内容的多少(粒度)是不一样的。例如在一个空的代码块中,插件则按代码块粒度进行补全;在非空代码块中,大部分情况按单行粒度进行补全;在类定义块中,或者顶级块中,就算块内不为空,也按代码块粒度进行补全。
如何提升代码补全结果的正确性
代码补全结果的正确性是相对当前开发者来说的,对插件来说可能是正确合理的,但是对当前开发者来说可能不正确、不合理。为了帮助您理解,可以把代码补全功能,想象成一个隐藏在背后的程序员:
- 它的眼睛几乎只能看到当前光标之前的代码(代码行数和字符数也是有一定限制的)。
- 具有较强的逻辑推理和模仿能力。
- 它只能接着当前光标位置继续完成后续的代码。
所以,从上面三个特性就能很容易推出可以通过使用光标之前的代码引导它帮忙我们写出更为正确的后续代码。引导的方式有很多种,如下所示:
- 通过代码注释直接告诉它,我想要做什么,例如实现一个冒泡排序。
- 通过已有平级同类型代码,引导出可能的补全内容,例如用户模块的 CRUD 功能实现,通过实现 CRU,引导它模仿 CRU 的实现方式,实现 D 功能。
- 让自己的代码有迹可循,例如代码风格统一、变量和方法等命名具体且有规律、代码结构具有规律。它很擅长挖掘已有代码潜在的规律,然后去模仿推导。以 VS Code 为例 JetBrains IDE 同理)。 通过代码注释引导补全。
2.2 代码解释
文件或目录级触发
在代码助手对话输入框中,输入 /explain ,然后选择文件或目录进行触发。触发后,代码助手会根据所选内容生成详细的解释,例如代码逻辑和目的、关键组件与设计、关键变量与函数、编程模式与最佳实践等等,帮助您快速理解。
方法或片段级触发
2.3 代码评审
AI 辅助自评审
AI 辅助自评审功能,旨在提高 IDE 下的代码自我审查的效率和质量。在 Chat 模式中使用,可以通过/cr指令直接触发本地自动化代码审查(AICR)。
触发评审
腾讯云代码助手支持三种评审范围:评审文件或文件夹 (指定单个或多个文件或文件夹)、评审变更(当前暂存区代码变更)、评审编辑区(指定编辑区内容)。
评审编辑区
评审文件或文件夹
评审变更
在对话输入框中输入 /cr,然后选择 Diff,将评审 IDE 内暂存区的所有文件。本指令将评审暂存区文件的变更部分,非变更部分将不评审。目前将最多评审暂存区的三十个文件。
查看评审结果
代码修复
AI 评审限制
为保证响应,目前对于评审大小有一定的限制,限制条件如下:
- 变更文件应包含新增行(+),所在完整函数不应超过100行。
- 单个文件大小应小于1M。
- 符合前2个条件的有效变更文件,文件数最大应不超过1000个,变更行数不超过10000行。
- 文件黑名单检查(常见的配置文件、二进制文件、无后缀文件等),以及当前黑名单列表(可能有动态调整,目前更新到2024.10月)如下:
注意:不支持评审的文件类型:
"go.mod","go.sum","_test.go","Test.java","test.cpp",".test",".yaml",".yml",".ini",".json",".proto",".md",".txt","mock","_mock",".md",".gradle","pom.xml","package.json",".gitignore",".gitmodules",".npmignore",".yarnignore",".babelrc",".eslintrc",".stylelintrc",".jshintrc",".editorconfig",".env",".swp",".cache",".log",".gem",".lock",".min.js",".min.css",".map",".bundle.js","bundle.css",".d.ts",".service-worker.js",".pb.go",".pb.cc",".pb",".designer.cs",".pyc",".pyd",".pyo",".whl",".luac",".toc","wire_gen.go",".svg",".cmake"AI 提交信息生成
在本地 IDE 中提交代码变更时,支持一键唤起 AI,自动基于提交变更生成代码提交信息。该信息默认遵守 Conventional 提交信息规范,支持设置生成的语言、风格。借助 AI 快速生成规范化的提交信息,帮助开发者提升效率。
设置风格、语言
设置 AI 提交信息语言
设置 AI 提交信息风格
IDEA 中没找到