【人工智能通识专栏】第二十八讲:IDE集成Deepseek
上节介绍了Deepseek作为编程助手的各种用途,但操作繁琐,不能实时交互。只有在IDE中直接集成Deepseek才能简化处理流程实现代码上下文的实时感知与无缝交互,使AI编程逐步从辅助工具向生产力核心转变。
9.3.1 VS Code集成Deepseek
VSCode具有强大的跨平台兼容性、丰富的扩展生态系统和高效的编辑调试功能,在编程中被广泛应用。在VSCode中集成DeepSeek,开发者无需离开熟悉的编辑环境,就能获得即时准确的智能代码补全、错误修正和自动化任务处理能力,提升开发效率与代码质量。
安装Continue插件
DeepSeek 官方工具箱(Awesome DeepSeek Integration)推荐的VS Code插件包括Continue、Cline等。Continue是开源的AI编程插件,支持对话编程、代码补全、错误修复、指令生成、调试解释、文档联想等功能。Cline是开源的AI编程插件,支持代码生成、终端命令执行、Web 开发辅助等功能,其升级版RooCode功能更加丰富。本书以Continue插件进行介绍。
1. 注册Deepseek账号并获取API Key。
2. 打开VSCode,点击左侧工具栏“Extensions”按钮或快捷键 Ctrl+Shift+X打开扩展市场,在搜索栏输入“Continue”搜索Continue插件,单击“Install”安装插件,如图9-10所示。
3. 安装完成后,重启VSCode生效,在左侧工具栏出现“Continue”图标按钮。
图9-10:在VS Code中安装Continue插件
配置Deepseek模型
1. 点击左侧工具栏“Continue”按钮(图9-11①),打开Continue插件的侧边栏。
2. 点击“Select model”,选择“Add Chat model”(图9-11②)打开模型配置页。
3. 在模型服务提供商(图9-11③)中选择“Deepseek”(图9-11④),也可以选择其它模型接入服务商。
4. 在模型选择中选择“Deepseek Coder”(图9-11⑤),也可以选择Deepseek Chat或Deepseek Reasoner模型。
5. 在API Key输入用户的Deepseek API Key(图9-11⑥)。
6. 点击“Connect”按钮(图9-11⑦)完成模型配置,并将配置内容添加到 config文件,文件地址通常为"C:\Users\***\.continue\config.yaml"。
7. 保存 config.yaml 配置文件,重启VSCode生效。
注意:用户可以选择Deepseek官网或第三方服务商,但只能使用从该服务商获取的API Key。例如选择硅基流动作为Deepseek模型接入商,则要修改 config.yaml 文件内容如下。
name: Local Assistant
version: 1.0.0
schema: v1
models:
- name: DeepSeek Coder
provider: deepseek
model: deepseek-coder
apiKey: sk-*************************(Deepseek官网API key)
- name: siliconflow Deepseek-chat
provider: siliconflow
model: deepseek-ai/DeepSeek-V3
apiKey: sk-*************************(硅基流动API key)
代码生成
1. 打开VSCode,创建一个新的 python(*.py)文件。
2. 点击左侧工具栏“Continue”按钮(图9-12①),打开Continue插件的侧边栏。
3. 在对话输入框(图9-12②)输入自然语言指令,例如【请用Python语言写一个冒泡排序函数】,Deepseek就在侧边栏的聊天记录框(图9-12③)生成代码片段和代码说明。
4. 点击代码区首行中的“Apply”按钮(图9-12④),就能将生成的代码片段一键插入右侧的代码区(图9-12⑤)。
5. 保存并运行代码,程序运行结果显示在Terminal区(图9-12⑥)。
使用“Ctrl+I”快捷键,也可以快速进入Contiune插件的代码生成功能。对于生成的代码,可以继续输入指令进行多轮对话来进行优化。
图9-11:在Continue插件设置Deepseek模型
图9-12:VS Code+Continue实现Deepseek代码生成
图9-13:基于指令的Deepseek代码补全
图9-14:基于上下文自动生成的行内实时补全
图9-15:VS Code+Continue实现智能调试
代码补全
Continue插件的代码补全功能,既可以通过自然语言描述需求实现,也可以在输入代码的过程中通过上下文感知智能地补全代码。
基于指令的代码补全的操作与代码生成类似,在输入框通过自然语言描述输入补全指令。
1. 点击左侧工具栏“Continue”按钮,打开Continue插件的侧边栏。
2. 在代码区编写代码(图9-13①),注意我们只写了前2行;
3. 在对话框(图9-13②)输入自然语言指令,例如【请补全冒泡排序函数】,Deepseek就在代码区自动续写出剩下的内容(图9-13③),并以其它颜色标识以区别于原有代码。
4. 点击“Accept”按钮(图9-13④)可以接受补全的代码,点击“Reject”按钮则拒绝使用自动补全代码。
Continue还可以基于上下文自动生成建议,实现行内实时补全。Continue会在你输入时提供代码建议:有时是当前行的补全,有时是全新的代码块。你可以接受全部或部分建议,也可以继续输入并忽略建议。
如图9-14所示,我们正在编写冒泡排序函数,只写了函数名和参数(图9-14①)。不需要进行任何操作,只要略微停顿一下,Continue就自动生成了后续的内容(图9-14②),并以浅色斜体字符与原有代码区别。我们可以用“Accept”按钮(图9-14③)确认接受建议的内容,也可以用“Reject”按钮拒绝建议的内容。更方便地,我们也可以用“Tab”快捷键来接受整个建议内容,用“Ctrl+Right”快捷键来接受建议的下一个单词或下一行。
行内实时补全让开发者无需离开编辑器就能完成操作,可以减少思维中断或注意力分散,能大幅提升开发效率,减少语法错误,是新手程序员的编程神器。
智能调试
Continue结合DeepSeek模型,可以帮助开发者分析代码错误、解释复杂错误信息和生成修复建议。结合VSCode的断点、变量监视等调试工具,还可以构建高效的调试工作流。
如图9-15所示,例程中有一个漏掉引号的语法错误,在编译运行时报错。
1. 错误信息窗“PROBLEMS”显示了错误信息,将鼠标移动到错误信息行(图9-15②),点击右键唤出菜单并选择“Ask Continuue”(图9-15③)。
2. 错误信息及对应的源代码都被自动送入Continue的输入框(图9-14④),要求解释错误原因并进行修复。
3. 在对话输出框给出了错误原因分析及修复示例代码(图9-14⑤),点击代码区首行的“Apply”按钮就将修复代码复制到代码区,代替原来的错误代码。
4. 再次编译运行,错误消除,程序可以正常运行。
9.3.2 PyCharm集成Deepseek
PyCharm是应用十分广泛的Python集成开发环境,已成为Python生态的核心生产力平台。在PyCharm中集成DeepSeek插件,可以无缝嵌入和即时使用Deepseek强大的代码能力,尤其适合Python语言的开发人员。
安装Continue插件
DeepSeek 官方工具箱(Awesome DeepSeek Integration)推荐的PyChatm插件包括Continue、AutoDev、AIGitCommit等。为便于读者学习,本书仍以Continue插件进行介绍。Continue通过调用Deepseek模型,使用和创建AI编程助手。
1. 注册Deepseek账号并获取API Key。
2. 打开PyCharm,依次点击“文件→设置→插件”,在插件搜索栏输入“Continue”搜索,单击“安装”安装Continue插件,如图9-16所示。
3. 安装完成后,点击“应用”,Continue插件安装成功。重启PyCharm后生效,在右侧工具栏出现“Continue”图标按钮。
图9-16:在PyCharm中安装Continue插件
图9-17:在Continue插件设置Deepseek模型
配置Deepseek模型
1. 点击右侧工具栏“Continue”按钮(图9-17①),打开Continue插件的侧边栏。
2. 点击“Select model”,选择“Add Chat model”(图9-17②)打开模型配置页。
3. 在模型服务提供商(图9-17③)中选择“Deepseek”(图9-17④),也可以选择其它模型接入服务商。
4. 在模型选择中选择“Deepseek Coder”(图9-17⑤),也可以选择Deepseek Chat或Deepseek Reasoner模型。
5. 在API Key输入用户的Deepseek API Key(图9-17⑥)。
6. 点击“Connect”按钮(图9-17⑦)完成模型配置,并将配置内容添加到 config文件,文件地址通常为"C:\Users\***\.continue\config.yaml"。
7. 保存 config.yaml 配置文件,重启PyCharm生效。
注意:用户可以选择Deepseek官网或第三方服务商,但只能使用从该服务商获取的API Key。例如选择硅基流动作为Deepseek模型接入商,则要修改 config.yaml 文件内容如下。
name: Local Assistant
version: 1.0.0
schema: v1
models:
- name: DeepSeek Coder
provider: deepseek
model: deepseek-coder
apiKey: sk-*************************(Deepseek官网API key)
- name: siliconflow Deepseek-reasoner
provider: siliconflow
model: deepseek-ai/DeepSeek-R1
apiKey: sk-*************************(硅基流动API key)
聊天功能
在Continue侧边栏中聊天以理解和迭代优化代码,开发者无需离开PyCharm就可以便捷地向Deepseek模型寻求帮助。
发送一个任务,可以附带相关的上下文信息,模型将返回所需的文本/代码。如果结果不理想,可以通过多轮对话来逐步优化直至任务完成。
1. 鼠标选择代码段,按下“Ctrl+J”即可将该代码段高亮显示,作为上下文发送到Continue侧边栏的对话框,然后可以就该代码段提出问题,例如要求解释、注释、修改或诊断。
2. 在对话输入框发送请求时,按下“Alt+Enter”即可将当前打开的文件作为上下文。
3. 在对话输入框输入“@Files”并选择文件可以将所选文件作为上下文,输入“@Folder”并选择文件夹可以将所选文件夹作为上下文。
4. 对于Deepseek模型回复中的代码段,点击“Apply”接受,可以将生成的代码复制到代码区,代替原来的代码。
5. 在会话结束时,按下“Ctrl+J”可以清除所有的上下文,并开启新对话。
自动补全
自动补全在输入代码时提供行内代码补全建议。点击 PyCharm 右下角状态栏的 “Continue”图标(图9-17⑧),或在“设置→工具→Continue”中勾选“Enable Tab Autocomplete”,启用行内自动补全功能。
如图9-18所示,我们正在代码编辑区(图9-18①)编写排序函数,只写了外循环的部分代码(图9-18②)。当我们按回车键进入下一行时,不需要进行任何操作,只要略微停顿一下,Continue就自动生成了该行的代码(图9-18③)和后续行的建议内容(图9-18④)。按快捷键“Tab”可以接受当前行的建议代码,再按一次快捷键“Tab”可以接受全部建议内容。
行内实时补全让开发者无需离开编辑器操作,可以减少思维中断或注意力分散,能大幅提升开发效率,减少语法错误,是新手程序员的编程神器。
编辑功能
聊天功能要在侧边栏中与模型进行交互,编辑功能在代码编辑区就可以高效地修改代码,典型应用场景为添加注释、错误修复、重构代码逻辑。
1. 点击左侧工具栏“Continue”按钮,打开Continue插件的侧边栏。
2. 鼠标选择代码段,按下“Ctrl+I”即可高亮显示该代码段,并在代码编辑区(图9-19①)内弹出对话输入框(图9-19②),然后可以在输入框内描述代码编辑的需求,例如要求注释、优化或诊断。
3. Continue插件根据需求描述生成代码差异(diff),以对照形式嵌入当前代码文件中,例如修改内容以绿色背景(图9-19③)显示以区别于原有代码。
4. 通过快捷键或鼠标操作选择接受(Accept)或拒绝(Reject)修改(图9-19④)。
编辑功能让开发者无需离开编辑器就能直接修改代码,可以减少思维中断或注意力分散,能大幅提升开发效率。
图9-18:PyCharm+Continue实现行内自动补全代码
图9-19:在代码区使用编辑功能修改代码
Continue插件还支持智能代理(Agent)功能,允许对代码库进行更复杂的系统性修改。通过为聊天模型配备多样化工具集,代理功能可自主决策并执行编码任务,省去人工查找上下文和手动操作的工作量。我们将在后续章节进行介绍代理功能。
本章小结
本章展示了DeepSeek在编程中的应用,模型正逐渐成为编程学习与实践中的智能助手。用好DeepSeek编程助手,不仅能够快速跨越编程门槛,更能在复杂开发任务中实现效率与质量的双重提升。
在下一章中,我们将把视野转向学术研究,探索DeepSeek在文献检索与分析中的独特价值,帮助读者提升科研效率与学术表达能力。
本章参考文献
1. Continue Dev, Inc, User Guide of Continue, 2024, https://docs.continue.dev/
2. 陶炜, 文科生零基础AI编程, 2025.2, https://io.neepu.edu.cn/info/1133/4993.htm
往期回顾:
【人工智能通识专栏】第二十六讲:Deepseek网页代码生成
【人工智能通识专栏】第二十七讲:Deepseek编程助手