IntelliJ IDEA 接入 AI 编程助手(Copilot、DeepSeek、GPT-4o Mini)

IntelliJ IDEA 接入 AI 编程助手(Copilot、DeepSeek、GPT-4o Mini)

📊 引言

近年来,AI 编程助手已成为开发者的高效工具,它们可以加速代码编写、优化代码结构,并提供智能提示。本文介绍如何在 IntelliJ IDEA 中集成 DeepSeek、GPT-4o Mini、GitHub Copilot,并探索 本地 AI 编程助手 方案,帮助开发者在不同场景下提升编程效率。


👨‍💻 1. GitHub Copilot 集成

Copilot 是由 GitHub 和 OpenAI 推出的 AI 代码补全工具,它可以根据上下文智能生成代码片段。
GitHub Copilot 免费版 vs 付费版对比。

功能免费版付费版
代码补全每月 2,000 次代码补全建议无限制代码建议
Copilot Chat每月 50 条聊天消息无限制聊天消息
AI 模型选择可选择 Claude 3.5 Sonnet 或 GPT-4o额外提供 o1-preview 和 o1-mini 模型
跨文件编辑支持支持
Copilot 扩展生态系统访问支持支持
拉取请求摘要不支持支持
组织范围的策略管理不支持支持
审核日志不支持支持
增加的 GitHub 模型速率限制不支持支持
Copilot 知识库不支持支持
大语言模型微调不支持支持

1.1 安装 GitHub Copilot 插件

  1. 打开 IntelliJ IDEA,进入 File > Settings(Windows)或 Preferences(Mac)。
  2. Plugins 搜索 GitHub Copilot
  3. 点击 Install 并重启 IDEA。

在这里插入图片描述

1.2 配置 GitHub Copilot

  1. 进入 Settings > GitHub Copilot,登录 GitHub 账户。
  2. 启用 Copilot SuggestionsCopilot Chat
  3. 在代码编辑器中尝试输入 /** 或函数定义或者注释,Copilot 会自动补全。

在这里插入图片描述

需要个人 Github 账号开启 Copilot,插件下载完成后按照指引进行登录 Github 并进行功能授权验证,验证完成后即可体验 Github Copilot。

1.3 Copilot 代码辅助示例

代码自动补全(通过注释理解我们需要写的代码逻辑进行补全)。

在这里插入图片描述
可选择指定代码文件点击 Copilot Chat 进行对话代码推理分析,优化我们的代码或者帮我们完成描述的需求。

请添加图片描述


🤖 2. DeepSeek 集成

DeepSeek 是国产 AI 编程助手,支持类代码补全,具备更强的中文理解能力。DeepSeek 需要通过 API 方式接入或本地部署。这里介绍一款插件 CodeGPT,一款人工智能代码助手,已经支持集成市面上常见的大模型,我们通过它接入 DeepSeek。

2.1 安装 CodeGPT 插件

  1. 在 IDEA 插件市场 搜索 CodeGPT
  2. 安装插件并重启。

2.2 配置 API Key 或本地部署

如果使用本地部署,需要运行本地模型,并配置请求地址(具体步骤可参考【DeepSeek + Ollama 本地部署全流程】),下面主要演示 API Key 配置场景。

1.进入 Settings > Tools > CodeGPT > Providers,选择 Custom OpenAI

在这里插入图片描述
2.配置 Custom OpenAI,选择 OpenAI(DeepSeek接口有考虑 OpenAI 兼容,所有大致参数可不变),输入DeepSeek的 API Key(可从 DeepSeek API 官网获取)。

在这里插入图片描述
填写 DeepSeek 上创建的 API Key。

在这里插入图片描述
3.通过 Custom OpenAI 这种方式需要手动填写 DeepSeek API 地址,可以参考官方文档:https://api-docs.deepseek.com/zh-cn/

在这里插入图片描述
按照官网对应的URL进行填写:https://api.deepseek.com/chat/completions
在这里插入图片描述
注意请求的 Headers 可不用变更,需要将 Body 中的 model 修改为:deepseek-reasoner,保存即可。
deepseek-chat 模型已全面升级为 DeepSeek-V3,接口不变。 通过指定 model=‘deepseek-chat’ 即可调用 DeepSeek-V3。
deepseek-reasoner 是 DeepSeek 最新推出的推理模型 DeepSeek-R1。通过指定 model=‘deepseek-reasoner’,即可调用 DeepSeek-R1。

在这里插入图片描述
注意由于当前DeepSeek现在已经停止API接口服务充值,新用户需要等待后续恢复之后再尝试使用。

🛠️ 3. GPT-4o Mini 集成

GPT-4o Mini 是 OpenAI 推出的轻量级 GPT-4o 版本,通过 CodeGPT 插件接入 IntelliJ IDEA,并且是 免费 使用的(每月有次数限制)。

3.1 安装 CodeGPT 插件

  1. 在 IDEA 插件市场 搜索 CodeGPT
  2. 安装插件并重启。

3.2 配置 GPT-4o Mini

  1. 进入 Settings > Tools > CodeGPT > Providers,选择 CodeGPT。
  2. 填写 CodeGPT 的 API Key (CodeGPT官网)
  3. Chat 模型选择 GPT-4o Mini 。启用 Enable Code AssistantEnable code completions 选项。
    在这里插入图片描述

3.3 GPT-4o Mini 智能分析代码示例

使用后觉得效果很不错。

在这里插入图片描述


🔄 4. AI 代码助手对比分析

工具特点适用场景
GitHub Copilot云端 AI 代码补全适合日常开发,智能推荐代码
DeepSeek强中文理解能力,需 API适合国内开发者,支持 API 调用
GPT-4o Mini免费使用,通过 CodeGPT 插件接入适合初学者或轻量 AI 辅助
Ollama + DeepSeek本地模型运行适合私有部署,保护代码隐私

📈 总结

本文介绍了 IntelliJ IDEA 接入 AI 编程助手 的多种方式,包括 GitHub Copilot、DeepSeek、GPT-4o Mini,以及 本地 AI 部署方案。开发者可根据 需求、安全性、网络环境 选择合适的 AI 助手。

如果你有更好的 AI 代码助手推荐,欢迎在评论区交流!


🌟 你的支持是我持续创作的动力,欢迎点赞、收藏、分享!

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

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

相关文章

2025.2.20总结

今晚评测试报告,评到一半,由于看板数据没有分析完,最后让我搞完再评. 尽管工作了多年的同事告诉我,活没干完,差距比较大,没资格评报告,但还是本着试试的态度,结果没想到评审如此严苛…

ok113i——交叉编译音视频动态库

提示:buildroot支持ffmpeg和SDL,但博主的ffmpeg是按下面方法编译通过,SDL使用buildroot直接编译也通过; 1. 下载ffmpeg源码 下载链接:https://github.com/FFmpeg/FFmpeg/tags 根据版本需要自行下载压缩包&#xff0c…

什么叫不可变数据结构?

不可变数据结构(Immutable Data Structures)是指一旦创建之后,其内容就不能被修改的数据结构。这意味着任何对不可变数据结构的“修改”操作实际上都会返回一个新的数据结构,而原始数据结构保持不变。 一、不可变数据结构的核心特点 不可变性:一旦创建后,数据结构的内容…

深度学习之图像分类(一)

前言 图像回归主要是对全连接进行理解 而图像分类任务主要是对卷积的过程进行理解 这一部分会介绍一些基础的概念 卷积的过程(包括单通道和多通道) 理解一个卷积神经网络工作的过程 以及常见的模型的类别和创新点 图像分类是什么 定义 图像分类是指将输…

AutoDock CrankPep or ADCP进行蛋白质多肽对接

需求描述 使用AutoDock CrankPep or ADCP进行蛋白质多肽对接 硬件及系统配置 自用电脑型号如下: 电脑:Precision Tower 7810 (Dell Inc.) CPU : Intel Xeon CPU E5-2686 v4 2.30GHz GPU: NVIDIA GeForce GTX 1070 Linux版本&a…

Django 5实用指南(二)项目结构与管理

2.1 Django5项目结构概述 当你创建一个新的 Django 项目时,Django 会自动生成一个默认的项目结构。这个结构是根据 Django 的最佳实践来设计的,以便开发者能够清晰地管理和维护项目中的各种组件。理解并管理好这些文件和目录结构是 Django 开发的基础。…

LabVIEW利用CANopen的Batch SDO写入

本示例展示了如何通过CANopen协议向设备写入Batch SDO(批量服务数据对象)。Batch SDO允许用户在一次操作中配置多个参数,适用于设备的批量配置和参数设置。此方法能够简化多个参数的写入过程,提高设备管理效率。 主要步骤&#xf…

WPF9-数据绑定进阶

目录 1. 定义2. 背景3. Binding源3.1. 使用Data Context作为Binding的源3.2. 使用LINQ检索结果作为Binding的源 4. Binding对数据的转换和校验4.1. 需求4.2. 实现步骤4.3. 值转换和校验的好处4.3.1. 数据转换的好处 4.4. 数据校验的好处4.5. 原理4.5.1. 值转换器原理4.5.2. 数据…

大数据治理:数字时代的关键密码

大数据治理:数字时代的关键密码 在信息技术飞速发展的今天,数字化浪潮席卷全球,深刻地改变着我们的生活和工作方式。数据,作为数字化时代的核心资产,正以前所未有的速度增长和积累。据国际数据公司(IDC&am…

LeetCode 1299.将每个元素替换为右侧最大元素:倒序遍历,维护最大值,原地修改

【LetMeFly】1299.将每个元素替换为右侧最大元素:倒序遍历,维护最大值,原地修改 力扣题目链接:https://leetcode.cn/problems/replace-elements-with-greatest-element-on-right-side/ 给你一个数组 arr ,请你将每个…

机器学习面试题汇总

1. 基础知识 什么是监督学习和无监督学习? 监督学习是基于已标注的训练数据来学习预测模型;无监督学习则是在没有标签的数据上进行学习,寻找数据的结构或模式。什么是过拟合和欠拟合? 过拟合是指模型在训练数据上表现很好,但在测试数据上表现差。欠拟合是指模型在训练数据…

【SQL教程|07】sql中条件查询where用法示例

SQL WHERE 条件查询教程 在SQL中,WHERE 条件用于在 SELECT 语句后过滤结果集,只返回符合条件的记录。它帮助我们从大量数据中提取所需的信息。以下是使用 WHERE 条件的逐步指南。 1. 基本语法 SELECT [字段] FROM [表] WHERE [条件];SELECT&#xff1a…

力扣 跳跃游戏 II

贪心算法,存下每一步的最远,去达到全局的最小跳跃次数。 题目 从题中要达到最少次数,肯定是每一步尽可能走远一点。但注意j被限制了范围,这种不用想每一步遍历时肯定选最大的num[i],但要注意,题中是可以到…

如何查看 Linux 服务器的 MAC 地址:深入解析与实践指南

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

Linux驱动学习(二)--字符设备

设备分类 字符设备块设备网络设备 内核结构图&#xff1a; 字符设备号 字符设备号是32位的无符号整型值 高12位&#xff1a;主设备号低20位&#xff1a;次设备号 查看设备号 cat /proc/devices 设备号构造 直接使用宏MKDEV #define MKDEV(ma,mi) (((ma) << MINORBITS…

开发小技巧分享 02:xml解析工具

1.百度词条 可扩展标记语言 (Extensible Markup Language, XML) &#xff0c;标准通用标记语言的子集&#xff0c;可以用来标记数据、定义数据类型&#xff0c;是一种允许用户对自己的标记语言进行定义的源语言。 XML是标准通用标记语言 可扩展性良好,内容与形式分离,遵循严格的…

ffmpeg configure 研究1-命令行参数的分析

author: hjjdebug date: 2025年 02月 14日 星期五 17:16:12 CST description: ffmpeg configure 研究1 ./configure 命令行参数的分析 文章目录 1 configure 对命令行参数的分析,在4019行1.1 函数名称: is_in1.2. 函数名称: enable1.3. 函数名称: set_all 2 执行退出判断的关键…

Linux操作系统:从分布式计算到容器化的实践

Linux集群与高可用性技术&#xff1a;从分布式计算到容器化的实践 摘要 随着云计算和大数据技术的飞速发展&#xff0c;Linux集群和高可用性技术已成为现代IT架构的核心组成部分。本文以幽默风趣的方式&#xff0c;深入探讨了Linux集群技术&#xff08;如Hadoop、Spark等分布…

python和pycharm 和Anaconda的关系

好的&#xff0c;下面我会详细说明 Python、PyCharm 和 Anaconda 三者的关系&#xff0c;并逐一解释它们的功能和作用。 1. Python&#xff08;编程语言&#xff09; 定义&#xff1a;Python 是一种高级编程语言&#xff0c;设计简洁&#xff0c;易于学习&#xff0c;且功能强…

STM32 外部中断和NVIC嵌套中断向量控制器

目录 背景 外部中断/事件控制器(EXTI) 主要特性 功能说明 外部中断线 嵌套向量中断控制器 特性 ‌中断线&#xff08;Interrupt Line&#xff09; 中断线的定义和作用 STM32中断线的分类和数量 优先级分组 抢占优先级&#xff08;Preemption Priority&#xff09; …