湛卢代码大模型
湛卢代码大模型,融合海量代码库、技术文档、研发知识,为研发人员提供智能、高效的编程支持。可准确理解开发者的意图,将产品需求、原型图转换为高效的代码,从而大幅度提升编码效率,优化代码质量。
- 兼容 Visual Studio Code、JetBrains IDEs 等主流 IDE;
- 支持 Java、Python、Go、C/C++/C#、JavaScript、TypeScript、PHP、Ruby、Rust、Scala 等主流编程语言。
功能使用
代码补全
您可以在编辑器内通过自动或手动方式触发代码补全,一经触发,编辑器状态栏右下的湛卢图标将指示现在的请求状态。
单行补全 Single Line Completions
编码过程中稍做停顿(默认1s,您可自行配置),湛卢即可按照它的理解,给您补全整行代码。
多行代码块补全 Multi-line Completions
当待触发推荐的上下文,具备明显的完整逻辑关系(如一个新的方法、函数、判断、循环体等),当为自动触发模式时,按下Enter键或按下Ctrl+K可推荐一个完整的代码块。(您可自行配置手动触发或者自动触发)
注释生成代码 Comments generate code
通过写注释,触发代码补全,在IDE中显示补全内容。
同时,在设置页面中,可以配置编辑器内代码补全的以下四个方面:
触发延时:
- 配置从停止输入到触发获取补全建议请求的延时,也可配置为手动,此时仅当按下热键【ctrl + k】时获取补全建议,无触发时延
补全偏好:
- 行级补全:优先保证响应速度,返回单行建议
- 平衡:兼顾响应速度和补全建议长度
- 最大长度:依据配置的代码补全的max_tokens,在最大允许范围内自行确定返回内容
补全建议返回的最大token数
候选建议数量:
触发补全事件后,稍等片刻补全内容会以灰色补全候选框形式出现,您可以使用 【Tab】键接受建议。候选数量大于 1,可以使用 ctrl+【(以及ctrl+】)进行翻页浏览,确定要接受的建议项后,使用 Tab 键插入编辑器。您也可以部分接受结果,使用【Ctrl + ↓ 】 接受单行建议。VScode编辑器在触发补全事件后,如遇用户的其他选择、移动、输入行为,则会取消补全操作。
智能对话界面 Smart Chat Interface
湛卢通过连续对话的方式为您解决问题。输入问题描述,湛卢为您生成代码。
Type a natural language description, and ZhanLu generates code for you.
快速召唤代码助手
- 随时通过连按两次 Ctrl键,召唤侧边栏代码助手
- 在编辑器内单击右键选择湛卢-->功能按键,转到侧边栏代码助手
提问或使用预设提示提问
- 你可以在提问框中输入问题,或通过键入 / 选择预设提示(部分操作可能需要用户补全提示,完成补全后可以点击 发送图标 提交内容)开始对话。
- 如在编辑器内有活动的代码文件内容被选中,则会随问题一起发送。
- 对话结果为 流式输出 模式,即回答将在产生过程中逐步显示,以便于您提早审阅结果,在这种模式下,您可以随时点击 取消生成按钮来终止此次回答。
- 对于结果中可识别的代码内容,插件将以代码框形式显示,并提供生成到新文件、复制到剪贴板 和 插入到当前文件位置 的按钮,便于您的查看和操作。
关于上下文
- 在提问过程中,湛卢会按照算法 token 长度要求,携带合适数量的上下文信息一起发送。
- 或者您可以点击湛卢侧边栏顶部标题栏上的 + 按钮来新建对话,可以清空当前上下文内容。
历史记录
- 您可以通过 ↑/↓ 方向键调取当前对话窗的历史提问,通过 Enter 键直接定位到历史对话处。
- 为了提供更加连续的开发体验,对于侧边栏代码助手页面,湛卢会将历史会话信息本地缓存,这些信息会随着您的问答,操作(删除、清空)等同步更新内容。
自定义提示模板
- 您可以自定义提示模板,以更好地适用于您的使用场景。通过问答输入框的/,点击预定义面板上方 编辑图标管理提示模板 ,将为您打开提示模板管理页面,您可以在此创建或管理自己的提示模板,插件将在侧边栏中生成对应的操作按钮。
如何进行自定义提示:提示模板中可以包含 {{code}} 来标识该提示需要抓取用户框选的代码,一并提交湛卢处理。提示模板中可以包含用户填空,可以使用 {{input}} 来标识需要填写对应位置的信息后再通过主动点击 发送图标 提问。为了更好地提示用户,您可以为当前填空编写占位符,在内容为空时显示提示。如 {{input:language}} 将会显示可编辑文本框,并以 language 作为提示信息占位显示。以下是几个示例:
- 编写一个 Dockerfile 模板
- 将{{input:十进制数}}转换为十六进制
- 提取以下代码中的所有函数签名
{{code}}
- 将以下代码翻译为{{input:目标语言}}语言代码
{{code}}
互联网检索
- 点击对话框内 “互联网问答” 按钮, 并输入相关关键词,可以发起互联网检索,湛卢会展示检索结果,使您不离开 IDE 就能浏览需要的信息。再次点击“互联网问答”按钮,可关闭互联网搜索,基于大模型问答。
知识库问答
- 点击对话框内 @ 按钮,可展示所有知识库,点击选择与您问题相关的知识库,输入关键信息,点击发送即可。
评价回答结果
- 在回答结束或回答被终止后,答案底部将显示评价按钮,如果您接受了湛卢的隐私协议,当您点击对应按钮时,我们将收集你的评价反馈,这对我们改进算法和产品设计很有帮助,十分感谢您的支持。
下面是对各个功能进行详细介绍
生成多行注释与行间注释 Generate Method and Inline Comments
分析一个方法、函数、类,生成符合规范的注释,同时也可以识别函数中复杂逻辑从而逐行增加注释。
Analyze methods, functions, and classes to generate standardized comments, it can also identify complex logic in a function and add comments line by line.
生成单元测试 Generate Unit Tests
针对一段函数(方法),生成其对应的单元测试代码。
Generate unit test code for a given function or method.
代码优化纠错 Code Optimization and Error Correction
支持对长函数等复杂问题代码进行优化
Support generating optimization for complex problem codes, including long function codes etc.
代码翻译 Code Translation
图生代码 Graph Generates Code
支持对上传的UI设计图生成代码描述
Support generating code for uploaded UI design diagram.
代码解释 Code Explanation
支持对代码片段生成解释
Support generating explanations for code snippets.
FAQ:
湛卢支持哪些语言? Which languages does ZhanLu support?
湛卢支持C/C++、Java、Python、Go、JavaScript、TypeScript、Rust、PHP、Kotlin、ObjectC等100+主流编程语言。
ZhanLu supports 100+ mainstream programming languages including C/C++, Java, Python, Go, JavaScript, TypeScript, Rust, PHP, Kotlin, ObjectC, etc.
是否会上传代码?上传哪些代码? Does ZhanLu upload code? What kind of code is uploaded?
正常使用湛卢过程中需要利用正在编写的文件中的上文以及其他相关文件,来推理出接下来的下文。因此确实会需要通过网络将编写的代码文件内容传输给模型推理。我们承诺不使用这部分上传的代码做任何积累、分析、加工等后续动作。
In common use of ZhanLu, it needs utilizing the context in the file being written and other related files to infer the subsequent context. Hence, it does require transmitting the content of the edited code file over the network for model inference. We commit that we will not use the uploaded code for any accumulation, analysis, processing, or subsequent actions.
免责声明
在使用湛卢(“我方”)产品及相关服务(以下简称 “本服务”)前,请您务必仔细阅读并理解透彻本《免责声明》。 请您知悉,如果您选择继续使用本服务,意味着您充分知悉并接受以下使用条件:
- 您知悉并理解,本服务的输出内容及代码,为使用深度合成技术生成的文本信息,我们对其生成内容的准确性、完整性和功能性不做任何保证,并且其生成的内容不代表我们的态度或观点。
- 您理解并同意,本服务所为您展示的代码只是 “推荐”,若您选择采纳本服务所推荐的代码,应当视为您实际撰写了此代码,您应当是所产生、选择的代码的唯一著作权人。我方不会就本服务所推荐的任何代码承担安全、瑕疵、质量、兼容等任何保证责任,无论是明示或暗示,您有责任确保你生成的代码的安全和质量(无论其是由您完全自主撰写或者是采纳了本服务提出的建议),我们建议您在使用本服务推荐的代码时采取与使用您完全自主编写的代码时相同的预防措施。
- 您同意并承诺,不会使用本服务进行违反法律的应用开发,如您使用本服务开展特定行业的业务应用(如教育、医疗、银行行业),将同时遵守相关国家规定的用户数据保护法律和内容管理法律。
- 您确认并同意,我方不会因为本服务或您使用本服务违反上述约定,而需要承担任何责任。