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

news2024/12/23 18:01:06

认识 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.coloradmin.cn/o/1821292.html

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

相关文章

OpenGL3.3_C++_Windows(3)

GLSL Shader基础 Shader(把输入转化为输出,运行在GPU上):首先要声明版本,有各自的入口点main()顶点数据上限:16个包含4分量:16 * 4 64个分量向量:容器vec。使用.x、.y、.z和.w&am…

docker一些常用命令以及镜像构建完后部署到K8s上

docker一些常用命令以及镜像构建完后部署到K8s上 1.创建文件夹2.删除文件3.复制现有文件内容到新建文件4.打开某个文件5.查看文件列表6.解压文件(tar格式)7.解压镜像8.查看镜像9.删除镜像10.查看容器11.删除容器12.停止运行容器13.构建镜像14.启动容器15…

200元的5G热点机能作为渗透测试测试机,还能当128G移动硬盘,怎么算都值

最近,迫于很多的app渗透测试,急需一个真机,在咸鱼上发现了一款低价5G手机,平时可以当随身WiFi,还可以进行app渗透测试,它就是中兴远航30。 中兴远航30是2022年4月发布的机器,全系只有4G128G和6G…

单例模式、工厂模式 c++关键字 static

static 关键字的作用: 主要作用在于 控制变量或函数的作用域、生命周期以及它们如何被不同部分的程序访问,从而帮助程序员管理内存、避免命名冲突,并实现特定的设计模式(如单例模式)。 1. 静态局部变量:当…

Unity Protobuf+RPC+UniTask

远程过程调用(RPC)协议详解 什么是RPC协议RPC的基本原理RPC的关键组件RPC的优缺点Protobuf函数绑定CallEncodeRecvDecodeSocket.Send和Recv项目地址 什么是RPC协议 远程过程调用(Remote Procedure Call,简称RPC)是一种…

配置Windows客户端连接iSCSI设备

1、运行iSCSI发起程序 控制面板–>系统和安全–>管理工具–>iSCSI发起程序。 2、更改客户端iqn属性 3、点击连接,就会在本次磁盘新加一款硬盘。 4、通过格式化新建卷就可使用该硬盘。

eBay测评,自养号应该如何做?

测评自养号就是自己搭建国外的服务器和IP环境,实现自己注册eBay的买家账号,通过电脑端环境一台电脑就可以无限养号,一次可以开十几个窗口同时浏览下单,每个窗口都是独立的环境,一账号一环境一IP一卡 买家账号掌握在卖…

ARM32开发--存储器介绍

知不足而奋进 望远山而前行 目录 文章目录 前言 存储器分类 RAM ROM EEPROM Flash 总结 前言 在现代计算机系统中,存储器扮演着至关重要的角色,不仅影响着数据的存取速度和稳定性,还直接关系到计算机系统的性能和应用场景的选择。存…

ARM32开发--IIC时钟案例

知不足而奋进 望远山而前行 目录 文章目录 前言 目标 内容 需求 开发流程 移植驱动 修改I2C实现 测试功能 总结 前言 在现代嵌入式系统开发中,移植外设驱动并测试其功能是一项常见的任务。本次学习的目标是掌握移植方法和测试方法,以实现对开…

热门开源大模型项目推荐

一:开源大模型热门项目推荐 NNI:由微软发布的开源AutoML工具包,支持神经网络超参数调整。最新版本对机器学习生命周期的各个环节做了全面支持,包括特征工程、神经网络架构搜索(NAS)、超参调优和模型压缩。适用于各种机器学习项目&…

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

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

DETR实现目标检测(二)-利用自己训练的模型进行预测

1、图片预测(CPU) 关于DETR模型训练自己的数据集参考上篇文章: DETR实现目标检测(一)-训练自己的数据集-CSDN博客 训练完成后的模型文件保存位置如下: 准备好要预测的图片: 然后直接调用模型进行预测,并设…

基于springboot实现入校申报审批系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现入校申报审批系统演示 摘要 传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装入校申报审批系统软…

ChatGPT中文镜像网站分享

ChatGPT 是什么? ChatGPT 是 OpenAI 开发的一款基于生成预训练变换器(GPT)架构的大型语言模型。主要通过机器学习生成文本,能够执行包括问答、文章撰写、翻译等多种文本生成任务。截至 2023 年初,ChatGPT 的月活跃用户…

CV每日论文--2024.6.14

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

基于Python+OpenCV高速公路行驶车辆的速度检测系统

简介: 基于Python和OpenCV的高速公路行驶车辆的速度检测系统旨在实时监测高速公路上的车辆,并测量它们的速度。该系统可以用于交通监控、道路安全管理等领域,为相关部门提供重要的数据支持。 系统实现: 视频流输入:系…

Java项目中使用OpenCV检测人脸的应用

Java项目中使用OpenCV检测人脸的应用 一、准备工作 将下载好的opencv的jar包放在项目的根目录下&#xff0c;可以新建一个lib的文件夹&#xff0c;将其放在此处&#xff1b; 在pom文件中引入&#xff1a; <profiles><!-- 生产环境 --><profile><id>…

用智能插件(Fitten Code: Faster and Better AI Assistant)再次修改vue3 <script setup>留言板

<template><div><button class"openForm" click"openForm" v-if"!formVisible">编辑</button><button click"closeForm" v-if"formVisible">取消编辑</button><hr /><formv-i…

Java求职季 必备知识脑图 收藏起来 !!!

Java初中级知识脑图 面试超实用 1.Git 下载链接 导图下载地址 &#xff1a; https://mm.edrawsoft.cn/mobile-share/index.html?uuid31d00742157057-src&share_type1 2.JUC 下载链接 https://mm.edrawsoft.cn/mobile-share/index.html?uuid6c0be457444921-src&s…

自动控制:滑模控制(Sliding Mode Control, SMC)

自动控制&#xff1a;滑模控制(Sliding Mode Control, SMC) 滑模控制&#xff08;Sliding Mode Control, SMC&#xff09;是一种在处理非线性系统时非常有效的控制技术。它通过驱动系统状态达到并保持在特定的滑模面附近&#xff0c;来实现控制目标。本文将介绍滑模控制的基本…