大模型辅助编程助手:『小浣熊 Raccoon』 如何使用?

认识 Raccoon

Raccoon (Raccoon is Another Code CO-pilONavigator) 是基于 AI 的代码助手,是商汤科技发布基于商汤自研大语言模型的智能编程助手,代码小浣熊 Raccoon 支持 Python、Java、JavaScript、C++、Go、SQL 等30+主流编程语言和 VS Code、IntelliJ IDEA 等主流 IDE(集成开发环境)。支持覆盖软件需求分析、架构设计、代码编写、软件测试等环节,满足用户代码编写、数据分析、编程学习等各类需求。

Raccoon 完全可以做为 Copilot 的平替,对中文的支持很好,体验流程,AI程度较高,最重要的是目前完全免费。以下优联前端以VS Code为例来看看如何使用Raccoon吧:

账号管理

登录账号

您可以在 Raccoon 代码助手 侧边栏视图中,点击欢迎信息内的引导链接,或点击面板标题栏上的 齿轮图标 进入设置页面进行登录。

界面的显示语言会跟随您的 IDE 配置,自动切换 简体中文/繁体中文/英文/日文,可以在 VS Code 的命令面板中搜索 Configure Display Language 来切换。

退出账号

同样在设置页面,如果您以登录,将在账号信息位置看到登出按钮图标,点击即可退出账号。

清除所有配置

在设置页面中点击 清除所有配置 按钮,将清除所有缓存类型的配置,恢复默认状态,清除内容包括:

  • 隐私协议:接受状态将被重置为 未选择
  • 账号认证信息:您的所有通过网页或输入秘钥方式登录的认证信息将被清空
  • 本地历史缓存:本地历史信息缓存将被清除
  • 代码片段收藏:收藏的代码片段将被清除
  • 自定义提示模板:如有将被清空,如需保存,请手动备份内容
  • 其余设置:恢复默认值

代码补全

您可以在编辑器内通过自动或手动方式触发代码补全,一经触发,编辑器状态栏右下的 🦝 图标将指示现在的请求状态。

在设置页面中,可以配置编辑器内代码补全的

  • 快捷键:
    • 您可以点击配置段落标题右侧的 键盘图标 进入设置来进行修改
  • 触发延时:
    • 配置从停止输入到触发获取补全建议请求的延时,也可配置为手动,此时仅当按下热键时获取补全建议,默认的热键为 Alt + /(mac: ⌥/
  • 补全偏好:
    • 行级补全:优先保证响应速度,返回单行建议
    • 平衡:兼顾响应速度和补全建议长度
    • 最大长度:由模型在最大允许范围内自行确定返回内容
  • 候选建议数量:
    • 设置返回候选条目的数量

触发补全事件后,稍等片刻补全内容会以行内补全候选框形式出现,您可以使用 Tab 键接受建议。候选数量大于 1,可以使用 Alt + [ 及 Alt + ](mac: ⌥[ 及 ⌥])来进行翻页浏览,确定要接受的建议项后,使用 Tab 键插入编辑器。

您也可以部分接受结果,使用 Ctrl + → 接受单词建议,或使用 Ctrl + ↓ 接受单行建议。

VS Code 编辑器在触发补全事件后,如遇用户的其他选择、移动、输入行为,则会 取消 补全操作。

代码助手

代码助手通过连续对话方式为您解决问题,我们提供了三种方式来使用代码助手:

  • 侧边栏内代码助手 (GUI):点击 VS Code 侧边栏的 Raccoon 图标激活
  • 编辑器内代码助手 (GUI):在 Raccoon 侧边栏视图中,点击标题栏上的 更多... 选择 新建 Raccoon 代码助手 创建,可以创建多个独立实例,便于多线开发
  • 终端面板代码助手 (CLI):在 Raccoon 侧边栏视图中,点击标题栏上的 更多... 选择 新建 Raccoon 终端 创建,同样的可以创建多个独立实例

GUI 代码助手

在设置页面中,可以配置 GUI 代码助手的

  • 快捷键:
    • 您可以点击配置段落标题右侧的 键盘图标 进入设置来进行修改
  • 结果显示:
    • 配置回答结果以流式实时返回,或等待全部结果生成后一次性返回
快速召唤代码助手
  • 随时通过连按两次 Ctrl 键,召唤侧边栏代码助手
  • 在编辑器内单击右键选择 向 Raccoon 提问...,转到侧边栏代码助手
  • 在编辑器内选择部分代码,通过点击 灯泡图标,或通过补全热键触发 Code Action 菜单,其中将显示可处理代码的 Raccoon 命令,您可以直接选择执行。当有任意编辑器内代码助手页可见时,Code Action 提问请求将优先在该编辑器内代码助手页回答。
提问或使用预设提示

你可以在提问框中输入问题,或通过键入 / 选择预设提示(部分操作可能需要用户补全提示,完成补全后可以点击 发送图标 提交内容)开始对话。

图片来自 https://raw.githubusercontent.com/SenseTime-Copilot/Raccoon/e9694a64624c1d16abfe78c860393952ae830226/media/Raccoon-Chat.gif

如在编辑器内有活动的代码文件内容被选中,则会随问题一起发送,此时发送按钮旁会显示已附加

代码的指示图标。

对话结果默认为 流式输出 模式,即回答将在产生过程中逐步显示,以便于您提早审阅结果,在这种模式下,您可以随时点击 停止回答 按钮来终止此次回答。

图片来自 https://raw.githubusercontent.com/SenseTime-Copilot/Raccoon/e9694a64624c1d16abfe78c860393952ae830226/media/Raccoon-PromptWithCode.gif

您也可以在设置页面中将回答模式改为 整体输出,此时将等待完整结果返回,并一次性显示。

对于结果中可识别的代码内容,插件将以代码框形式显示,并提供 切换自动换行加入代码收藏复制到剪贴板复制到剪贴板 和 插入到当前文件位置 的按钮,便于您的查看和操作。

在对话框内键入 ? 并输入相关关键词,可以向 StackOverflow 发起互联网检索,Raccoon 会展示检索结果,使您不离开 IDE 就能浏览需要的信息。

关于上下文

在提问过程中,Raccoon 会按照算法 token 长度要求,携带合适数量的上下文信息一起发送。当有部分历史对话消息影响回答效果时,您可以通过点击对应问答条目左上角的 × 手动将其移除后再试。

或者您可以点击 Raccoon 侧边栏顶部标题栏上的 + 按钮来新建对话,已有对话会作为历史信息本地缓存。

帮助信息和错误提示等非对话内容,不会作为上下文发送。

您可以通过 ↑/↓ 方向键调取当前对话窗的历史提问,通过 Enter 键直接发送,或使用 Tab 键来填入提示框待修订后发送。

为了提供更加连续的开发体验,对于侧边栏代码助手页面,及工作区中未关闭的代码助手页面,Raccoon 会将历史会话信息本地缓存,这些信息会随着您的问答,操作(删除、清空)等同步更新内容。

历史信息管理

在侧边栏助手或编辑器助手的标题栏内,提供了历史管理按钮,点击 历史 图标,可以选择以往历史对话并继续。您可以对对话历史缓存进行重命名或删除。

评价回答结果

在回答结束或回答被终止后,答案底部将显示评价按钮,如果您接受了 Raccoon 的隐私协议,当您点击对应按钮时,我们将收集你的评价反馈,这对我们改进算法和产品设计很有帮助,十分感谢您的支持。

对于从打开 IDE 前的上次会话恢复而来的旧的历史信息,不支持评价,但仍会在新问题提交时,作为历史信息上文一同发送。

CLI 代码助手

直接在终端提示符后输入问题即可,在终端中的问答同样支持附加代码提问,以及基于上下文的多轮对话,多个终端的上下文相互独立。

相比于侧边栏或编辑器内代码助手,终端代码助手交互能力有限,无法删除前序对话来精细地修改上下文,也无法渲染输出结果及代码段,但如果需要在当前终端中新启会话,可以按 Esc 键,后续对话将不再参考之前的内容。

自定义提示模板

您可以自定义提示模板,以更好地适用于您的使用场景。点击预定义面板上方 编辑图标,或点击标题栏上的 更多... 选择 管理提示模板 ,将为您打开提示模板管理页面,您可以在此创建或管理自己的提示模板,插件将在侧边栏中生成对应的操作按钮。

提示模板中可以包含 {{code}} 来标识该提示需要抓取用户框选的代码,一并提交 Raccoon 处理。包含 {{code}} 的提示模板,也会在 Code Action 中出现,以便选择代码后直接调用。

提示模板中可以包含用户填空,可以使用 {{input}} 来标识需要填写对应位置的信息后再通过主动点击 发送图标 提问。为了更好地提示用户,您可以为当前填空编写占位符,在内容为空时显示提示。如 {{input:language}} 将会显示可编辑文本框,并以 language 作为提示信息占位显示。

图片来自 https://raw.githubusercontent.com/SenseTime-Copilot/Raccoon/e9694a64624c1d16abfe78c860393952ae830226/media/Raccoon-CustomPrompt.gif

以下是几个示例:

编写一个 Dockerfile 模板
将{{input:十进制数}}转换为十六进制
提取以下代码中的所有函数签名
{{code}}
将以下代码翻译为{{input:目标语言}}语言代码
{{code}}

代码收藏

对于经常使用的代码片段,可以加入代码收藏,为其指定一个触发快捷词后,即可在使用对应编程语言编写代码的过程中,通过快捷词快速获取片段并插入。代码收藏完全在您本地保持,无需登录也可使用。

您可以手动创建代码收藏条目,或者可以将 Raccoon 问答过程中产生的代码编辑后加入代码收藏。

图片来自 https://raw.githubusercontent.com/SenseTime-Copilot/Raccoon/e9694a64624c1d16abfe78c860393952ae830226/media/Raccoon-Favorites.gif

在 Raccoon 侧边栏助手视图时,点击标题栏上的 更多... 选择 管理代码收藏,可以打开代码收藏管理页面,在这里可以添加、修改、删除代码片段。

结果中的代码可能不属于易复用的代码片段,则不会提供 加入代码收藏 的操作,但可能提供其他便捷操作(如针对 mermaid 会提供 显示/隐藏图像 的操作)。

Raccoon Notebook 🚧

Raccoon Notebook 可以帮助您创建可交互、可复用的对话流程文件。您可以通过 File > New File... > Raccoon Notebook 来创建示例文件开始了解,或者新建一个任意的扩展名为 .rcnb 的文件来从零开始创建自己的 Notebook。

在 Raccoon Notebook 文件中,可以添加 Markdown 单元格、 Raccoon 或 TypeScript 代码单元格。

图片来自 https://raw.githubusercontent.com/SenseTime-Copilot/Raccoon/e9694a64624c1d16abfe78c860393952ae830226/media/Raccoon-Notebook.gif

撰写提交信息

如当前工作空间存在一个或多个 Git 仓库,在 源代码管理 侧边栏面板中,会看到 魔棒图标 按钮,Raccoon 会理解您已暂存的更改,并在消息框中撰写合适的 Commit Message 建议。

图片来自 https://raw.githubusercontent.com/SenseTime-Copilot/Raccoon/e9694a64624c1d16abfe78c860393952ae830226/media/Raccoon-CommitMessage.gif

关于优联前端

        武汉优联前端科技有限公司由一批从事前端10余年的专业人才创办,是一家致力于H5前端技术研究的科技创新型公司,为合作伙伴提供专业高效的前端解决方案,合作伙伴遍布中国及东南亚地区,行业涵盖广告,教育, 医疗,餐饮等。有效的解决了合作伙伴的前端技术难题,节约了成本,实现合作共赢。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/26783.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么?项目经理也算经理?

今天偶然看到一个有意思的问题:“如何破解项目经理的无权、无利、有责的现状”? 乍看有点费解,细想还挺有意思,这不禁引发了我的思考,项目经理到底算不算经理? 从管理学的角度来看,根据亨利法约…

端口镜像配置举例

1.网络拓扑 2.需求:用户希望通过server对部门1和部门2收发的报文进行监控。 3.配置步骤方案一: #创建本地镜像组 sysSystem View: return to User View with CtrlZ.[H3C]mirroring-group 1 local #为本地镜像组配置源端口和目的端口 [H3C]mirroring-gr…

CV每日论文--2024.6.14

1、ICE-G: Image Conditional Editing of 3D Gaussian Splats 中文标题:ICE-G:3D 高斯斑点的图像条件编辑 简介:近年来,出现了许多技术来创建高质量的3D资产和场景。然而,当涉及到这些3D对象的编辑时,现有方法要么速度慢、要么牺牲质量,要么…

三极管的厄利效应(early effect)

詹姆斯M厄利(James M. Early)发现的现象,厄利效应(英语:Early effect),又译厄尔利效应,也称基区宽度调制效应,是指当双极性晶体管(BJT)的集电极-射极电压VCE改…

精彩回顾!安全智能体的前沿技术研究与实践

(关注“安全极客”,回复“智能体”下载第一期系列专题PPT!) 近日,安全极客和Wisemodel社区联合发起并主办了“AISecurity”系列第1期:大模型与网络空间安全前沿探索线下活动。在这次活动中,云起…

弹幕逆向signature、a_bogus

声明 本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 本文章未经许可禁止转载&a…

【Linux文件篇】磁盘到用户空间:Linux文件系统架构全景

W...Y的主页 😊 代码仓库分享 💕 前言:我们前面的博客中一直提到的是被进程打开的文件,而系统中不仅仅只有被打开的文件还有很多没被打开的文件。如果没有被打开,那么文件是在哪里进行保存的呢?那我们又如何快速定位…

Unity 踩坑记录 用自定义类 创建的List不显示在 inspector面板

在 自定义类上面添加 【Serializable 】 扩展: 1:Serializable 序列化的是可序列化的类或结构。并且只能序列化非抽象非泛型的自定义的类 2:SerializeField是强制对私有字段序列化

Perl 语言入门学习

一、介绍 Perl 是一种高级的、动态的、解释型的通用编程语言,由Larry Wall于1987年开发。它是一种非常灵活和强大的语言,广泛用于文本处理、系统管理、网络编程、图形编程等领域。 Perl 语言的设计理念是“用一种简单的语法,去解决复杂的编…

LabVIEW水箱液位控制系统

介绍了如何使用LabVIEW软件和硬件工具开发水箱液位控制系统。系统集成了数据采集、实时控制和模拟仿真技术,展示了高精度和高可靠性的特点,适用于需要精细水位调节的工业应用。 项目背景 在制造和化工行业,液位控制是保证生产安全与效率的关…

Linux DNS域名解析

DNS系统的作用及类型 整个 Internet 大家庭中连接了数以亿计的服务器、个人主机,其中大部分的网站、邮件等服务器都使用了域名形式的地址,如www.google.com、mail.163.com 等。很显然这种地址形式要比使用 64.233.189.147、202.108.33.74的IP地址形式更…

【教程】从0开始搭建大语言模型:构造GPT模型

从0开始搭建大语言模型:构造GPT模型 从0开始搭建大语言模型:构造GPT模型GPT模型Layer NormalizationGELU激活函数Feed Forward网络增强shortcut连接构造Transformer Block构造GPT模型使用GPT模型生成文本 从0开始搭建大语言模型:构造GPT模型 …

2024-2025最新软考系统架构设计师的复习资料教材,解决如何快速高效通过该考试,试题的重点和难点在哪里?案例分析题和论文题的要点和踩坑点分析

目录 引言考试概述 考试结构考试内容 复习策略 制定复习计划学习资源 知识点详解 系统架构基础设计原则与模式系统分析与设计软件开发过程项目管理系统集成性能与优化安全性设计新兴技术 试题解析 选择题案例分析题论文题 重点与难点分析模拟试题与答案参考资料总结 引言 系…

QT基础-简介,安装(6.7.1编译)

目录 QT简介 一.QT编译 国内镜像网站 1. For windows a.下载:qt-everywhere-src-6.7.1.zip b.下载Cmake c.下载python d.查看readme.md e. x64 native Tools cd 到 源码目录 f.输入 g. 然后输入 ​编辑 h.最后输入 1.2. qt-creator 1.3. 配置编译 2. For Ubu…

驱动开发(三):驱动操作寄存器

驱动开发系列文章: 驱动开发(一):驱动代码的基本框架 驱动开发(二):创建字符设备驱动 驱动开发(三):驱动操作寄存器 ←本文 目录 驱动是如何操作…

使用Python保护或加密Excel文件的7种方法

目录 安装Python Excel库 Python 使用文档打开密码保护 Excel 文件 Python 使用文档修改密码保护 Excel 文件 Python 将 Excel 文件标记为最终版本 Python 保护 Excel 工作表 Python 在保护 Excel 工作表的同时允许编辑某些单元格 Python 锁定 Excel 工作表中的特定单元…

怕怕怕怕怕怕怕怕怕怕

欢迎关注博主 Mindtechnist 或加入【Linux C/C/Python社区】一起学习和分享Linux、C、C、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和…

如何获知lib cell的用途

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧? 拾陆楼知识星球入口 除了databook可以查询cell的用途外,还可以通过在pr工具中获取lib cell属性的方法知晓其用途。 ICC2: report_attribute -app -class lib_cell SDFFXXX 通过看is_…

网络安全等级保护基本要求解读- 安全计算环境-应用系统和数据安全

概述 越来越多的企业用户已将核心业务系统转移到网络上,Web浏览器成为业 务系统的窗口,应用系统面临更多的安全威胁;并且由于各种原因使得其 存在较多的安全漏洞。 在此背景下,如何保障企业的应用安全,尤其是Web应用…

RabbitMQ实践——在管理后台测试消息收发功能

在《RabbitMQ实践——在Ubuntu上安装并启用管理后台》中,我们搭建完RabbitMQ服务以及管理后台。本文我们将管理后台,进行一次简单的消息收发实验。 赋予admin账户权限 登录到管理后台,进入到用户admin的管理页面 点击“set permission”&a…