当前位置: 首页 > article >正文

工程师 - VSCode的AI编码插件介绍: MarsCode

豆包 MarsCode 

MarsCode AI: Coding Assistant

Code and Innovate Faster with AI

豆包 MarsCode - 编程助手

安装完成并使能后,会在下方状态栏上显示MarsCode AI。

安装完并重启VSCode后,要使用这个插件,需要注册一下账号。然后授权VSCode。

我好像是用手机加验证短信登录的,AI这个东西现在很敏感,好像是随便用,但还真不随便。比如公司里都不让用的。

成功后,会对整个Workspace进行索引,需要一些时间。

在最左侧导航栏中,就会出现一个图标,用来切换到MarsCode AI窗口。

目前这个工具只支持VSCode和JetBrains。

在线文档:

豆包 MarsCode - 文档

前置条件
使用快捷键(Windows: Ctrl + U;macOS:Command + U)唤起侧边对话框。

什么是MarsCode AI  // What is MarsCode AI
MarsCode 是豆包旗下的智能编程助手,提供以智能代码补全为代表的核心能力,支持主流编程语言及 IDE,能在编码过程中提供单行或整个函数的建议,同时支持在用户编码过程中提供代码解释、单测生成、问题修复、技术问答等辅助功能,在编程的各个阶段提供协助支持,提升编码效率与质量,节省开发时间,释放脑海中的创造力。

MarsCode Extension is an AI programming assistant that offers core capabilities such as code completion, supporting mainstream programming languages and IDEs. It provides suggestions for single lines or entire functions during the coding process, and also supports code explanation, unit test generation, bug fix, and AI Q&A during the coding process, thereby enhancing the efficiency and quality of coding.

代码补全 Code Completion
在编码过程中提供单行或多行的代码推荐,并支持通过注释生成代码片段,提升代码编写速度。

It provides single-line or entire function suggestions during the coding process and supports generating code snippets through comments.

场景一:在对应代码处,敲击回车键换行。豆包 MarsCode 编程助手会阅读并理解当前代码,然后自动补全后续代码。

场景二:在对应位置添加注释,然后敲击回车键换行。豆包 MarsCode 编程助手会阅读并理解代码注释,然后直接生成代码。

将鼠标悬浮至自动补全的代码区域,然后按需进行一下后续操作:
点击 接受 按钮或按下 Tab 键,添加自动补全的所有代码。
点击 接收 Word 按钮或使用 Ctrl + → 快捷键,逐字添加自动补全的代码。

代码补全 Pro(beta) // Code Completion Pro (beta)

在修改或重构代码时,支持基于编辑行为和代码情况预测下一个改动点,并给出推荐,协助完整的编码过程。

During code modification or refactoring, it predicts the next modification point and provides recommendations based on editing behaviors and code context to assist in the complete coding process.

1, 光标停在期望触发的位置时,可以通过快捷键 Ctrl+Shift+Enter 主动触发推荐,并通过 Tab 采纳。
2, 当采纳了某个推荐内容后,会触发预测下一个改动点的推荐,点击 Tab 跳转到相应预测行,再点击 Tab 采纳推荐内容。该功能目前仅支持 Visual Studio Code。

代码解释 Code Explain

精确解释项目代码,帮助开发人员快速熟悉项目。

Precisely explains project code for quick development onboarding.

选中代码片段后,你可以向豆包 MarsCode 编程助手发送代码解释指令。编程助手将解释选中的代码片段。发送指令方式如下:

  • 在侧边对话视图的输入框中输入自然语言描述,例如:解释选中的代码片段;
  • 在侧边对话视图的输入框中输入 /explain 指令;
  • 选中代码片段后右键,然后在快捷菜单中选择 MarsCode > Explain Code;
  • 点击代码顶部(Visual Studio Code)或左侧 Logo 中(JetBrains)的 Explain 按钮。

单测生成 Unit Test Generation


为选中函数生成单测,提升单测覆盖率,提升代码质量。

Generate unit tests for the selected function to improve the unit test coverage rate, thereby enhancing code quality.

选中代码片段后,向豆包 MarsCode 编程助手发送单元测试生成指令。编程助手将为选中的代码片段生成单元测试。发送指令的方式如下:

  • 在侧边对话视图的输入框中输入自然语言描述,例如:为所选代码片段生成单元测试;
  • 在侧边对话视图的输入框中输入 /test 指令;
  • 选中代码片段后右键,然后在快捷菜单中选择 MarsCode > Generate Test;
  • 点击代码顶部(Visual Studio Code)或左侧 Logo 中(JetBrains)的 Test 按钮。

注释生成 Generate documentation

为整个函数或每行代码生成注释,提升代码可读性,方便协同开发。

Generate documentation for the entire function or each line of code to improve code readability, facilitating collaborative development.

选中代码片段后,向豆包 MarsCode 编程助手发送代码注释生成指令。编程将为选中的代码片段生成代码注释。

提示:豆包 MarsCode 编程助手默认生成函数级注释,你可以通过自然语言指定生成更详细的行间注释。

发送指令的方式如下:

  • 在侧边对话视图的输入框中输入自然语言描述,例如:为所选代码片段生成注释;
  • 在侧边对话视图的输入框中输入 /doc 指令;
  • 点击代码顶部(Visual Studio Code)或左侧 Logo 中(JetBrains)的 Doc 按钮。

生成代码注释后,你可以按需进行以下操作:

编号 / 说明
1 点击 复制 按钮,复制代码框中的代码注释和代码片段。
2 点击 插入 按钮,将代码注释插入代码片段中对应的位置。
3 点击 添加文件 按钮,将代码片段和代码注释生成为一个单独的文件。
 

代码生成

豆包 MarsCode 编程助手可以根据你的自然语言描述生成对应的代码片段。
1, 在输入框中用自然语言描述你的需求。
2, 点击 发送 按钮或敲击回车键。
豆包 MarsCode 编程助手将生成所需代码片段。

3, 按需进行以下操作:

编号 / 说明
① 点击 复制 按钮,复制代码框中的代码片段。
② 点击 插入 按钮,将代码片段插入至对应的位置。
③ 点击 添加文件 按钮,将代码片段生成为一个单独的文件。
 

智能修复 AI Fix

一键修改代码bug,提升代码修复效率。
Fix code bugs with a single click, enhancing code repair efficiency.

当代码中存在错误时,窗口中的代码文件名称会高亮,名称右侧会提示错误数量。
选中有问题代码片段后,在对话框中输入自然语言描述(例如:修复选中的代码片段)或 /fix 指令,然后点击右侧的 发送 按钮或敲击键盘上的回车键。豆包 MarsCode 编程助手将为选中的代码片段进行智能修复。

智能问答 AI Q&A

针对研发领域定向优化问答质量,提供更精准的问答结果。

Targeted optimization of Q&A quality offering more precise Q&A results.

唤起对话框后,你可以在输入框中输入你的问题,然后点击 发送 按钮或敲击回车键,豆包 MarsCode 编程助手将回答你的问题。你可以进行多轮问答,不断补充细节,从而使插件的回答更加准确。

切换对话语言
智能问答中,你可以设置编程助手的回复语言。点击问答对话框右上角的设置按钮,选择你想切换的语言。

支持的 IDE及语言 // Multiple IDEs and Various Programming Languages
支持 Python、Go、JS、TS、C++、Java、Kotlin、C、Rust 等主流语言且兼容VSCode 及 Jetbrains 主流编辑器

比如,后端Go语言,前端HTML,应用端Swift,其他语言如Shell,SQL等。

MarsCode AI Extension supports over 100 languages, with particular proficiency in Python, Go, JS, TS, C++, Java, Kotlin, C, and Rust. It also seamlessly integrates with VSCode and JetBrains.

管理快捷键
你可以在 IDE 中管理豆包 MarsCode 编程助手的快捷键。

Visual Studio Code
1,打开 Visual Studio Code。
2,点击左下角的 管理 按钮,然后在快捷菜单中选择 键盘快捷方式。

3,在 键盘快捷方式 窗口的输入框中,输入 “MarsCode” 关键词,筛选出豆包 MarsCode 编程助手的快捷键。
4,按需修改组合键

JetBrains
打开 JetBrains IDE (以 IntelliJ IDEA 为例) 。
1, 点击 管理 按钮,然后在快捷菜单中选择 Settings,打开 Settings 窗口。

2, 在 Settings 窗口的左侧导航栏中,点击 Keymap。
3, 在 Keymap 面板的输入框处,输入 “MarsCode” 关键词,筛选出豆包 MarsCode 编程助手的快捷键。
4, 按需修改组合键。

代码练习
你可以在 MarsCode(代码练习版)中练习编程题目并使用 AI 助手获取解答灵感。你可以使用 MarsCode 的内置题目或创建自定义题目。

感受

对于潮流的新东西,你可以不买单,但你不能不了解,因为就算是个陷阱,跳进去也多了个避坑技巧。但若机会大于风险,那就是你的损失了,这损失可大可小。

对于同一类型的各种新事物新工具,不必非要选到最好最适用的一款,先用起来,大差不差的。同一类型的东西,主要功能总是差不多的把,这个了解知道会用了,类比另一个也会容易些。
 

相关文章:

工程师 - VSCode的AI编码插件介绍: MarsCode

豆包 MarsCode MarsCode AI: Coding Assistant Code and Innovate Faster with AI 豆包 MarsCode - 编程助手 安装完成并使能后,会在下方状态栏上显示MarsCode AI。 安装完并重启VSCode后,要使用这个插件,需要注册一下账号。然后授权VSCod…...

VOS3000线路对接、路由配置与路由分析操作教程

一、VOS3000简介 VOS3000是一款常用的VoIP运营平台,支持多种线路对接和路由配置,适合新手快速上手。本教程将带你了解如何对接线路、配置路由以及进行路由分析。 二、线路对接 准备工作 获取线路信息:从供应商处获取线路的IP地址、端口、用…...

学习Linux准备2

使用win10系统带的wsl配置ubuntu系统,通过wsl功能我们可以更简单更轻松的获得Linux系统环境。 首先开启Windows自带的wsl功能 打开控制面板,选中启用或关闭Windows功能 这里我们点击进入 将上图红√点击上,点击确定,然后重新启动…...

Java IO 和 NIO 的基本概念和 API

一、 Java IO (Blocking IO) 基本概念: Java IO 是 Java 平台提供的用于进行输入和输出操作的 API。Java IO 基于 流 (Stream) 的模型,数据像水流一样从一个地方流向另一个地方。Java IO 主要是 阻塞式 I/O (Blocking I/O),即线程在执行 I/O …...

【数据结构】快指针和慢指针

一、 给你单链表的头结点 head ,请你找出并返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。 要求:只遍历一遍链表 可以使用快慢指针:fast 一次走两步,slow 一次走一步。当 fast NULL(偶数个结点)或…...

四、综合案例(Unity2D)

一、2D渲染 1、2D相机基本设置 上面是透视,下面是正交 2、图片资源 在Unity中,常规图片导入之后,一般不在Unity中直接使用,而是转为精灵图Sprite 将图片更改为即可使用Unity内置的图片切割功能 无论精灵图片是单个的还是多个的…...

全面汇总windows进程通信(三)

在Windows操作系统下,实现进程间通信(IPC, Inter-Process Communication)有几种常见的方法,包括使用管道(Pipe)、共享内存(Shared Memory)、消息队列(Message Queue)、命名管道(Named Pipe)、套接字(Socket)等。本文介绍如下几种: RPC(远程过程调用,Remote Pr…...

Caffeine:高性能的Java本地缓存库

文章目录 引言什么是Caffeine?Caffeine的主要特点Caffeine的使用方法Caffeine与Google Guava Cache的对比Caffeine与Ehcache的对比总结 引言 在现代软件开发中,缓存是提高应用性能的重要手段之一。通过缓存,可以减少对数据库或其他外部系统的…...

Codes 开源免费研发项目管理平台 2025年第一个大版本3.0.0 版本发布及创新的轻IPD实现

Codes 简介 Codes 是国内首款重新定义 SaaS 模式的开源项目管理平台,支持云端认证、本地部署、全部功能开放,并且对 30 人以下团队免费。它通过创新的方式简化研发协同工作,使敏捷开发更易于实施。并提供低成本的敏捷开发解决方案&#xff0…...

flowable 全生命周期涉及到的api及mysql表

要了解Flowable从流程创建到审批过程中涉及的API和MySQL表。之前对工作流引擎有一些基础了解,但具体到Flowable的细节可能不太熟悉。需要先回忆一下Flowable的基本概念,比如流程定义、流程实例、任务、执行实例等,然后逐步思考每个步骤会用到…...

Golang | 每日一练 (3)

💢欢迎来到张胤尘的技术站 💥技术如江河,汇聚众志成。代码似星辰,照亮行征程。开源精神长,传承永不忘。携手共前行,未来更辉煌💥 文章目录 Golang | 每日一练 (3)题目参考答案map 实现原理hmapb…...

【java】类声明的两种形式

在 Java 中,类的声明有两种形式: public class Test class Test 它们的区别主要在于访问权限和文件名的要求。下面我会详细解释这两种形式的区别。 1. public class Test 访问权限: public 表示这个类是公共的,可以被其他包&am…...

VSCode 中设置 Git 忽略仅因时间戳修改导致的文件变更【使用deepseek生成的一篇文章】

在 VSCode 中设置 Git 忽略仅因时间戳修改导致的文件变更&#xff0c;可通过以下步骤实现&#xff1a; 确认是否为纯时间戳修改 首先确认文件的修改是否仅涉及时间戳&#xff0c;使用终端运行&#xff1a; git diff -- <file>若输出为空但 Git 仍提示修改&#xff0c;可…...

Docker入门及基本概念

让我们从最基础的概念开始逐步理解。假设你已经准备好了docker 环境。 第一步&#xff0c;让我们先通过实际操作来看看当前系统中的镜像(images)和容器(containers)状态&#xff1a; docker images # 查看所有镜像 docker ps -a # 查看所有容器&#xff08;包括未运行…...

java八股文-消息队列

一、MQ基础篇 1. 什么是消息队列&#xff1f; 消息队列&#xff08;MQ&#xff09;是分布式系统中实现异步通信的中间件&#xff0c;解耦生产者和消费者。 2. 使用场景有哪些&#xff1f; 异步处理&#xff08;如注册后发送邮件&#xff09;系统解耦&#xff08;不同服务通过…...

设备唯一ID获取,支持安卓/iOS/鸿蒙Next(uni-device-id)UTS插件

设备唯一ID获取 支持安卓/iOS/鸿蒙(uni-device-id)UTS插件 介绍 获取设备唯一ID、设备唯一标识&#xff0c;支持安卓&#xff08;AndroidId/OAID/IMEI/MEID/MacAddress/Serial/UUID/设备基础信息&#xff09;,iOS&#xff08;Identifier/UUID&#xff09;&#xff0c;鸿蒙&am…...

基于Springboot医院预约挂号小程序系统【附源码】

基于Springboot医院预约挂号小程序系统 效果如下&#xff1a; 小程序主页面 帖子页面 医生账号页面 留言内容页面 管理员主页面 用户管理页面 我的挂号页面 医生管理页面 研究背景 随着信息技术的飞速发展和互联网医疗的兴起&#xff0c;传统的医疗服务模式正面临着深刻的变…...

微信小程序 - 页面跳转(wx.navigateTo、wx.redirectTo、wx.switchTab、wx.reLaunch)

API 跳转 1、wx.navigateTo &#xff08;1&#xff09;基本介绍 功能&#xff1a;保留当前页面&#xff0c;跳转到应用内的某个页面&#xff0c;使用该方法跳转后可以通过返回按钮返回到原页面 使用场景&#xff1a;适用于需要保留当前页面状态&#xff0c;后续还需返回的情…...

如何手动设置u-boot的以太网的IP地址、子网掩码、网关信息、TFTP的服务器地址,并进行测试

设置IP地址 运行下面这条命令设置u-boot的以太网的IP地址&#xff1a; setenv ipaddr 192.168.5.9设置子网掩码 运行下面这条命令设置u-boot的以太网的子网掩码&#xff1a; setenv netmask 255.255.255.0设置网关信息 运行下面这条命令设置u-boot的网关信息&#xff1a; …...

小红书运营教程(内容笔记01)

# 小红书笔记引流实战指南:合规涨粉与精准引流策略## 一、引流底层逻辑:平台算法与用户心理### 1.1 小红书流量推荐机制 ```mermaid graph TD A[笔记发布] --> B(机器初审) B --> C{内容质量检测} C -->|通过| D[进入初级流量池200-500曝光] D --> E{互动率达标?…...

tortoiseGit的使用和上传拉取

tortoiseGit的使用和上传拉取 下载TortoiseGit 通过网盘分享的文件&#xff1a;tortoiseGit.zip 链接: https://pan.baidu.com/s/1EOT_UsM9_OysRqXa8gES4A?pwd1234 提取码: 1234 在电脑桌面新建文件夹并进入 右击鼠标 将网址复制上去 用户名和密码是在git注册的用户名和…...

IDEA通过Maven使用JBLJavaToWeb插件创建Web项目

第一步&#xff1a;IDEA下载JBLJavaToWeb插件 File--->Settings--->Plugins--->Marketplace搜索: JBLJavaToWeb 第二步&#xff1a;创建普通Maven工程 第三步&#xff1a; 将普通Maven项目转换为Web项目...

【新手初学】SQL注入之二次注入、中转注入

二次注入 一、概念 二次注入可以理解为&#xff0c;攻击者构造的恶意数据存储在数据库后&#xff0c;恶意数据被读取并进入到SQL查询语句所导致的注入。 二、原理 防御者可能在用户输入恶意数据时对其中的特殊字符进行了转义处理&#xff0c;但在恶意数据插入到数据库时被处…...

【第四节】C++设计模式(创建型模式)-Builder(建造者)模式

目录 引言 一、Builder 模式概述 二、Builder 模式举例 三、Builder 模式的结构 四、Builder 模式的实现 五、Builder 模式的优缺点 六、总结 引言 Builder 模式是一种创建型设计模式&#xff0c;旨在将复杂对象的构建过程与其表示分离。通过一步步构建对象&#xff0c;…...

本地部署AI模型 --- DeepSeek(二)---更新中

目录 FAQ 1.Failed to load the model Exit code: 18446744072635812000 FAQ 1.Failed to load the model Exit code: 18446744072635812000 问题描述&#xff1a; &#x1f972; Failed to load the model Error loading model. (Exit code: 18446744072635812000). Unkn…...

MariaDB 历史版本下载地址 —— 筑梦之路

MariaDB 官方yum源里面只有目前在维护的版本&#xff0c;而有时候对于老项目来说还是需要老版本的rpm包&#xff0c;国内很多镜像站都是同步的官方仓库&#xff0c;因此下载老版本也不好找&#xff0c;这里主要记录下从哪里可以下载到历史版本的MariaDB rpm包。 1. 官方归档网…...

Qt中使用QPdfWriter类结合QPainter类绘制并输出PDF文件

一.类的介绍 1.QPdfWriter介绍 Qt中提供了一个直接可以处理PDF的类&#xff0c;这就是QPdfWriter类。 &#xff08;1&#xff09;PDF文件生成 支持创建新的PDF文件或覆盖已有文件&#xff0c;通过构造函数直接绑定文件路径或QFile对象&#xff1b; 默认生成矢量图形PDF&#…...

使用 Promptic 进行对话管理需要具备python技术中的那些编程能力?

使用 Promptic 进行对话管理时,需要掌握一些基础的编程知识和技能,以下是详细说明: 1. Python 编程基础 Promptic 是一个基于 Python 的开发框架,因此需要具备一定的 Python 编程能力,包括: 函数定义与使用:了解如何定义函数、使用参数和返回值。类型注解:熟悉 Python…...

使用 DeepSeek 生成流程图、甘特图与思维导图:结合 Typora 和 XMind 的高效工作流

在现代工作与学习中&#xff0c;可视化工具如流程图、甘特图和思维导图能够极大地提升信息整理与表达的效率。本文将详细介绍如何使用 DeepSeek 生成 Mermaid 文本&#xff0c;结合 Typora 快速生成流程图和甘特图&#xff0c;并通过 Markdown 格式生成思维导图&#xff0c;最终…...

遗传算法初探

组成要素 编码 分为二进制编码、实数编码和顺序编码 初始种群的产生 分为随机方法、基于反向学习优化的种群产生。 基于反向学习优化的种群其思想是先随机生成一个种群P(N)&#xff0c;然后按照反向学习方法生成新的种群OP(N),合并两个种群&#xff0c;得到一个新的种群S(N…...