太好了,IDE 支持满血版 DeepSeek 了,我们有救了!
你好呀,我是歪歪。
今年 1 月,通义灵码 AI 程序员全面上线,同时支持 VS Code、JetBrains IDEs,是国内首个真正落地的 AI 程序员。通过前后端开发全覆盖,全程对话协作实现从 0 到 1 完成复杂编码任务,并引入多文件代码修改能力。
开发者通过 AI 程序员自动完成多文件级编码任务,如需求实现、问题修复、批量生成单元测试等。
除了 AI 程序员的重磅上线外,近期通义灵码能力再升级全新上线模型选择功能,目前已经支持 Qwen2.5、DeepSeek-V3 和 R1 系列模型,用户可以在 VSCode 和 JetBrains 里搜索并下载最新通义灵码插件,在输入框里选择模型,即可轻松切换模型。

在实际开发中,用户可以基于场景需求,自由切换 Qwen 2.5、DeepSeek-V3、DeepSeek-R1。这些模型能精准理解需求,快速生成高质量代码片段,无论是复杂算法还是简单逻辑处理,都能应对自如。
走,和歪师傅一起体验一波:

下载安装指南
通义灵码支持 JetBrains IDEs、Visual Studio Code、Visual Studio,及远程开发场景(Remote SSH、Docker、WSL、Web IDE),安装后登录账号即可开始使用。目前,通义灵码在 JetBrains IDEs、Visual Studio Code 上线了模型选择功能,智能问答支持 Qwen2.5、DeepSeek-V3、DeepSeek-R1 模型,AI 程序员支持 Qwen2.5、DeepSeek-V3。通过让用户根据自身需求选择模型,进一步降低 AI 编程技术的门槛。
JetBrains IDEs 中安装指南
本安装步骤适用于 macOS、Windows 或 Linux 的 JetBrains IDEs 中安装通义灵码。
步骤 1:准备工作
操作系统:Windows 7 及以上、macOS、Linux;
下载并安装兼容的 JetBrains IDEs 2020.3 及以上版本,通义灵码与以下 IDE 兼容:
IntelliJ IDEA(旗舰版、社区版、教育版)
Android Studio
CLion
GoLand
PhpStorm
PyCharm(专业版、社区版、教育版)
Rider
RubyMine
RustRover
WebStorm
...
更多详细信息,请参阅 JetBrains IDE 工具查找器。
https://www.jetbrains.com/products/
步骤 2:在 JetBrains IDEs 中安装通义灵码
Tips:以在 IntelliJ IDEA 中安装通义灵码为例。
方法 1:从插件市场安装
打开 IntelliJ IDEA 设置窗口,在插件市场中搜索 TONGYI Lingma,找到通义灵码后单击安装。
安装完成后,请重启 IntelliJ IDEA。

方法 2:下载安装包安装*
参照通义灵码官网指示:
https://lingma.aliyun.com/lingma/download
步骤 3:登录并开启智能编码之旅
重启 Visual Studio Code 后,单击侧边导航的通义灵码,在通义灵码助手的窗口单击登录按钮。

Tips:如果安装后在侧边导航上找不到通义灵码入口,可鼠标聚焦在侧边导航后右键查看,勾选通义灵码后即可将插件入口配置在侧边导航上。

单击登录后,将前往登录页面,完成登录后可进入 IDE 客户端开始使用。
通义灵码核心能力
1. 智能补全使用指南
通义灵码提供了多种智能补全的方式,可以根据当前代码文件、跨文件的上下文或企业代码规范等,为您生成行级/函数级代码,让您更专注在技术设计。
1.1. 行级/函数级实时补全
当你在 IDE 编辑器区进行代码编写时,在开启自动云端生成的模式下,通义灵码会根据当前代码文件及相关代码文件的上下文,自动为你生成行级/函数级的代码建议,此时你可以使用快捷键采纳、废弃,或查看不同的代码建议。
同时,当你在编码的过程中,也可以通过快捷键 ⌥ P 手动触发生成代码建议。

编辑器中代码建议相关操作的快捷键如下:

1.2. 自然语言生成代码
在编辑器中,可以直接通过自然语言的方式描述需要实现的需求,通义灵码可以在编辑器中生成代码建议,单击 Tab 可直接采纳。

1.3. 企业代码生成增强
企业管理员上传并启用行间代码生成知识库,并设置为组织内开发者可见成员后,开发者在 IDE 的代码编辑器中编写代码时,通过快捷键 ⌥ P 手动触发,通义灵码将根据知识库中的内容自动生成符合企业规范的代码建议。

1.4. 离线单行补全
通义灵码代码补全默认使用云端大模型进行智能续写,当网络情况有限制时,可使用本地补全模式,单击状态栏图标切换至本地补全模式后,编辑器中进行编码时,通义灵码会给出单行的代码建议。

2. 智能问答使用指南
通义灵码,作为您的智能编码助手,可以在您进行编码工作遇到疑问时帮您答疑解惑,并快速为您生成建议代码,能够帮您生成代码注释、生成单元测试、进行代码优化、解释工程和代码文件、修复代码问题、排查编译报错、生成提交信息等。
2.1. 研发智能问答
使用通义灵码的智能问答时,为了通义灵码与您的对话能够更友好、高效,希望您能够在输入问题时:
选中代码,开始输入您的问题,通义灵码将围绕着选中代码与您开展对话;
精准表达问题,以及给出相对详细的上下文输入, 比如选中的代码、日志、报错信息等;
多多互动,告诉通义灵码,所给出代码建议或回答是否满足您的预期,或生成内容存在的具体瑕疵,通义灵码也会不断改进。
2.1.1. 自由问答
当您编码遇到问题,缺乏具体解决思路时,可单击 IDE 侧边工具导航或使用⌘ ⇧ L 唤起通义灵码智能问答助手,无需离开 IDE 客户端,即可快速获得答案和解决思路。


2.1.2. 代码问答
当您对某段代码有疑问或期望针对代码进行一些问题解决时,选中代码后,在智能问答窗口的输入框中输入您的问题,通义灵码将围绕选中代码与您开展对话。

2.1.3. @workspace 本地工程问答
当您需要快速了解一个工程、查找工程内的实现逻辑,或有新的诉求需要进行代码变更时,可以在智能问答窗口中通过 @ 可唤起 @workspace,选中后输入您的问题或诉求。
通义灵码可快速结合当前仓库进行工程理解、代码查询、代码问答等,同时可以通过自然语言描述需求,结合当前工程生成简单需求或缺陷的整体修改建议和相关建议代码。

2.1.4. @terminal 问答
当您遇到执行指令不知道如何写,或者不清楚某个指令的意思时,可以在智能问答窗口中通过 @ 可唤起 @terminal,选择后使用自然语言描述您的需要指令诉求,通义灵码将可以生成您需要的命令。生成指令后,您可以一键插入到 terminal 中进行执行或让通义灵码继续解释。当然,您也可以在选择 @terminal 后,输入指令让通义灵码生成指令解释。

2.1.5. #teamDocs 知识库问答(企业版)
当您需要结合企业内私域知识信息让通义灵码进行回答时,可以在智能问答窗口中通过 # 唤起 #teamDocs,并输入问题,通义灵码将结合企业知识库(当前用户有权限的知识库)对问题进行回答,在回复中也可以单击查看引用的企业知识库内容。

2.1.6. 清空会话上下文历史记忆
当您在会话中时,在智能问答输入框中输入 / 即可看到 /clear context 指令,选择后即可清空当前会话的上下文历史记忆。

2.1.7. 新建会话
在智能问答窗口中,单击右上角的新建按钮即可新建会话窗口,单击后会话窗口将回到默认状态。

2.1.8. 查看会话历史
历史会话功能帮助您检索和回顾与通义灵码的交流记录,方便针对多次的建议进行对比和选择。不管您在哪个 IDE 客户端上、哪个工程中,均可以查看或搜索您和通义灵码的历史会话。

2.2. 智能生成指令
2.2.1. 指令触发方式
通义灵码提供多处触发单元测试生成、代码解释、生成代码注释、代码优化功能的入口,当您选中的代码后,有 3 种触发方式:
在编辑器中,单击右键找到通义灵码功能操作入口,单击对应功能操作;
在智能问答中,直接单击对应功能操作;
在智能问答中,使用 / 查看快捷指令,单击对应功能操作。

当需要针对一个方法实现生成单元测试、代码注释、代码解释、代码优化时,无需选中代码,可直接单击函数上方的快捷入口触发相关功能操作。

2.2.2. 选择指令后输入回答要求
当您选中代码后,并通过在智能问答窗口的输入框输入 / 的方式选中指令后,可以继续输入附加的要求,比如:
选择 /generate unit test 后,继续输入您对单元测试生成的要求,比如使用 JUnit 5 生成;
选择 /generate comment 后,继续输入生成注释的要求,比如开头标明日期,并用英文注释。

2.2.2.1. 指令一:解释代码
覆盖各种编程语言,选中代码后可自动识别编程语言并生成代码解释。跨越语言的边界,让您阅读代码更高效。

2.2.2.2. 指令二:生成单元测试
支持根据 JUnit、Mockito、Spring Test、unit test、pytest 等框架生成单元测试。

2.2.2.3. 指令三:生成注释
一键生成方法注释及行间注释,节省您写代码注释的时间,并能够有效提升代码可读性。

2.2.2.4. 指令四:代码优化
深度分析代码及其上下文,迅速识别潜在的编码问题,从简单的语法错误到复杂的性能瓶颈,均能够指出问题所在,并提供具体的优化建议代码。

2.2.3. 生成回答后快捷操作
针对不同的指令生成回答后,在智能问答区中,可以继续根据诉求进行操作,不同功能的对应操作如下:
生成单元测试:
采纳单元测试代码建议:支持一键插入、复制、或者新建代码文件,可快速采纳生成的单元测试代码建议;
更换单元测试框架:提供基于 JUnit、Mockito、Spring Test、unit test、pytest 等框架生成单元测试代码建议,在回答完成后,可以根据需要切换框架重新生成;
新建文件:支持一键保存单元测试代码为新文件,方便进行查看和修改。
生成代码优化建议
采纳代码优化建议:针对优化建议中的建议代码,支持一键插入、复制,快速采纳生成的建议代码;
查看 Diff:单击查看 Diff 按钮,将快速唤起 IDE Diff 查看窗口,快速了解建议和源代码的变更;
生成代码注释:
采纳代码注释建议:支持一键插入、复制,可快速采纳生成的代码注释建议;
查看 Diff:单击查看 Diff 按钮,将快速唤起 IDE Diff 查看窗口,快速了解建议和源代码的变更。
解释代码:
支持重试、更详细、更简单、中文/英文解释的追问。
2.3. 问题修复建议
2.3.1. 代码问题一键修复
当您在编码过程中出现代码问题需要进行修复时,通义灵码可以一键给出修复建议,帮您快速修复代码问题。可以通过编辑器中报错图标中下拉菜单中或 Problem 窗口中聚焦到报错信息后右键菜单中,单击通义灵码一键修复菜单,即可生成修复建议和相关建议代码。

2.3.2. 异常报错排查(IntelliJ IDEA)
在 IntelliJ IDEA 中,当运行出现异常报错时,在运行标准输出窗口中,即可看到通义灵码的快捷操作按钮,单击后,通义灵码将结合运行代码、异常堆栈等报错上下文,快速给出排查思路或修复建议。

2.3.3. 执行报错、编译报错排查(Visual Studio Code)
在 Visual Studio Code 中,当 terminal 中执行指令后报错、编译或运行后有大量报错,需要进行解释或修复时,可以选中报错信息,右键选择使用通义灵码一键解释,也会为您生成相关命令解释及问题解决建议。

2.4. 提交信息生成
当您有代码变更需要提交,需要写提交信息时,可以通过通义灵码一键生成 Git 提交信息,同时可以在插件设置中配置生成的语言(英文/中文)。

3. AI 程序员使用指南
通义灵码 AI 程序员,具备多文件代码修改(Multi-file Edit)和工具使用(Tool-use)的能力,可以与开发者协同完成编码任务,如需求实现、问题解决、单元测试用例生成、批量代码修改等。
AI 程序员可以帮助开发者快速完成一个研发任务的代码编写工作,在与 AI 程序员对话过程中,可以遵循以下几点建议:
清晰的需求描述:首先需要澄清我们需要 AI 程序员帮我们做什么,建议包含一个明确的目标,并通过步骤式的结构化描述,详细地描述你期望完成的开发任务要求;
指定需要的上下文:选择代码文件、图片、codebase、codeChanges 等上下文,可以帮助 AI 程序员获取需求相关的语境。同时,结合详细执行步骤和要求,AI 程序员更精准地了解你的意图,生成最佳的方案和建议代码;
明确生成要求:告诉 AI 程序员在生成代码修改建议时,你期望它遵循的要求,比如语言、规范、格式、变更目标等,如“生成变更时,同时为每个方法生成英文注释”;
善用快照功能:当 AI 生成内容不符合预期,或你的需求有变化时,可以通过快照功能回退到之前的对话轮次和代码变更,继续重新提问;
审查和修改变更:AI 程序员完成多个文件的代码变更后,开发者可以通过变更对比查看视图(Diff View)进行审查,以及对局部代码片段进行接受、拒绝、修改,保证最后得到符合预期的代码变更。
通义灵码,每天进步不止一点点,可以和开发者协同完成编码任务。
3.1. 唤起 AI 程序员(Summon your AI Developer)
当开发者期望和 AI 程序员一起完成一个研发任务时,可以通过 IDE 扩展导航打开通义灵码插件的窗口,并切换到 AI 程序员模块,或使用快捷键 ⌘ ⇧ I 唤起 AI 程序员,即可开始使用。

3.2. 与 AI 程序员一起编程(Coding with AI Developer)
AI 程序员与开发者一起围绕开发任务进行编码工作时,开发者需要输入清晰的需求描述和要求,AI 程序员可以为开发者在工程内进行多个文件的修改,开发者审查并接受相关代码变更即可。

同时,通义灵码提供了相关的交互界面帮助开发者与 AI 程序员进行对话和交互,整体交互界面区域如下:

新建会话:如果和 AI 程序员正在对话并有文件变更,单击后将出现二次确认,确认后会终止或取消当前文件变更,同时创建一个新的会话;
AI 程序员对话区域:展示开发者(问题)和 AI 程序员(回答)对话的过程,如果涉及到文件变更、计划确认等,也将在会话流的回答卡片中进行状态展示或操作;
工作区:承载代码变更文件的展示,以及针对当前会话流中的多次对话产生的多次变更文件进行快照管理,同时提供查看、拒绝、接受代码变更的相关操作入口;
需求描述输入区域:开发者进行需求描述输入的区域,提供了选择上下文、自然语言输入、自然语言和上下文组装的能力;
变更对比查看和操作区域:当前快照下文件与其对应本地文件的变更差异查看视图,并提供针对代码变更片段进行修改、拒绝或接受的操作,以及文件级别的变更接受或拒绝操作。
3.3. 需求描述输入(User Input)
打开 AI 程序员后,即可看到需求输入区域,在输入框内单击 ➕ 或者输入 #即可选择需要的相关上下文。输入完成后发送即可,AI 程序员将根据需求描述自动进行需求理解、相关信息检索、任务拆解、编码实现等。


3.4. 多文件代码修改(Multi-file Edit)
3.4.1. 变更文件生成过程
当 AI 程序员对工程内多个代码文件进行修改时,每一个文件的修改将至少经历生成、应用的过程,生成代码变更的过程中,可在 AI 程序员的回答卡片中和工作区中看到相关的变更文件,以及相应的状态:
生成中(Generating):根据任务拆解的修改计划生成对各个文件的代码片段修改建议的过程;
应用中(Applying):某文件的代码片段修改建议生成完成后,将自动结合原文件内容和代码片段修改建议,生成相关代码变更文件(非原文件);
应用完成(Applied):代码变更文件生成完成。
回答卡片中的文件或工作区的文件在生成中、应用中的状态时,单击对应文件,即可看到对应文件的代码修改建议生成过程、代码变更文件与原文件变更对比(Diff)生成过程。
AI 程序员完成的代码变更文件将聚合在工作区,方便开发者进行查看和操作。

3.4.2. 审查、接受、拒绝代码变更
单击工作区的查看变更按钮或单击文件列表中的某文件,即可看到对应文件的变更对比查看视图(Diff View),开发者在此视图中可以进行如下操作:
单击上下键进行切换查看当前文件的多个变更点;
单击某变更点上的拒绝、采纳按钮进行决策操作;
单击文件级操作区的前后键进行多个变更文件的查看;
单击文件级操作区的拒绝、采纳按钮进行决策操作;
局部修改当前变更文件。
JetBrains IDEs 的视图和操作位置,示意如下::

VS Code 的视图和操作位置,示意如下:

说明
开发者基于当前快照的代码变更文件产生的修改,将统一进入当前快照的最新内容中,进行拒绝或接受操作时,将统一被拒绝或接受;
当单击接受某片段、某文件的代码变更时,变更内容将被合并到原文件代码内容中。
当所有代码变更文件均被操作过拒绝或接受变更后,当前快照会变为已接受、部分接受、已拒绝状态,各个状态的相关释义如下:
已接受:某文件有代码变更接受,视为该文件为已接受状态;所有文件为已接受状态,当前快照为已接受状态;
部分接受:某文件有代码变更接受,视为该文件为已接受状态;有部分文件为已接受状态,当前快照为部分接受状态;
已拒绝:某文件在无代码变更被接受,视为该文件为已拒绝状态;所有文件为已拒绝状态,当前快照为已拒绝状态。
3.5. 多轮对话及变更快照(Multi-turns & Snapshot)
3.5.1. 进行多轮次需求对话
当进行了一轮对话并生成代码变更文件后,如需继续补充需求或者修改需求,可在当前任务的会话流中继续提问,AI 程序员将结合前序轮次生成的代码变更分析补充的需求,并生成新的代码修改建议,产生一个或多个新的代码变更文件。

3.5.2. 快照查看和变更回退
当需要查看或回退到前序轮次的修改时,可单击下拉箭头查看当前会话任务中产生的多次代码变更快照,选择后,可以看到相关信息变化或进行切换操作:
会话流中自动定位到产生该快照代码变更文件的回答卡片;
快照下方文件列表自动切换到所选快照下的代码变更文件,单击后可查看代码变更内容;
单击“切换”按钮,将当前代码变更回退到所选快照的代码变更状态。

4. 单元测试生成(UnitTest Agent)
单元测试智能体是 AI 程序员所具备的一种专项能力,可以针对代码变更(#codeChanges)、单个或多个代码文件批量生成单元测试文件。
开发者输入被测内容、生成要求,AI 程序员即可自动生成测试计划、测试用例、编译、运行以及根据错误信息进行自动修复,大幅提升测试用例覆盖度和用例的生成质量,降低开发者编写单元测试用例的成本。
4.1. 选择被测代码并输入测试要求
打开 AI 程序员后,在输入框内单击 ➕ 或者输入 #即可选择需要的相关上下文,并输入相关的指令要求(建议输入和生成单元测试相关要求的内容),输入完成后发送即可,AI 程序员会自动感知意图,开始进入生成单元测试的流程。

4.2. 选择和确认环境信息
收到测试要求后,AI 程序员会自动检测本地环境 Java 版本、构建工具、测试框架、Mock 框架等信息,如果检测到多个版本,开发者可主动选择需要的版本;如果无法识别,将看到提示错误,单击“如何修复”按钮,开发者可以进一步了解如何配置相关组件。

4.3. 确定被测方法
环境信息检查通过后,AI 程序员将自动分析被测文件,并生成测试计划,开发者可以主动选择需要覆盖的方法,选择并确认完成后,单击确定按钮,即可开始为每个方法生成单元测试用例。
说明:
每次至少选择 1 个方法为其生成测试用例,最多选择 20 个方法;
选择方法后,会提示整体生成过程预计需要的时间,以供参考。

4.4. 查看生成进展
在确定被测方法后,AI 程序员将自动根据开发者选择的被测方法进行单测用例生成工作,并自动对生成的结果进行编译、运行和自动修复。最终的结果会展示在界面中,状态及释义如下:


当所有方法的用例生成完成后,AI 程序员自动将编译通过和运行通过的用例合并成最终测试用例文件,并根据被测文件自动进行命名。
对于编译失败的测试用例代码,开发者可自行选择是否需要,所有用例代码确认后,可单击完成按钮,测试用例文件将自动与原测试用例文件进行差异对比。

4.5. 审查、接受测试用例文件代码
确认完成后,测试用例文件会出现在工作区中,开发者可单击工作区的查看变更按钮或单击文件列表中的某文件,即可看到对应文件的变更对比查看视图(Diff View),开发者可进行审查、局部修改、接受或拒绝部分代码等。
确认所有代码变更后,单击接受按钮,测试用例文件变更代码将正式进入到当前代码工程。

4.6. 查看会话历史
如果需要回顾历史的会话任务,可单击会话历史按钮。你与 AI 程序员的会话均有 @AI Developer 标签,单击后即可查看相关对话过程。

相关链接:
通义灵码官网:https://lingma.aliyun.com/lingma/
通义灵码插件下载:https://lingma.aliyun.com/lingma/download
点击此处,下载通义灵码即刻体验。
版权声明: 本文为 InfoQ 作者【阿里云云效】的原创文章。
原文链接:【http://xie.infoq.cn/article/b8d11b3fd1e23704b906ba6dd】。文章转载请联系作者。
评论