CodeGPT AI代码狂潮来袭!个人完全免费使用谷歌Gemini大模型 超越DeepSeek几乎是地表最强
🚀 个人主页 极客小俊
✍🏻 作者简介:web开发者、设计师、技术分享
🐋 希望大家多多支持, 我们一起学习和进步!
🏅 欢迎评论 ❤️点赞💬评论 📂收藏 📂加关注
CodeGPT是什么
CodeGPT
是一款基于AI人工智能
的编程辅助插件,它就像一个贴心的编程小助手,能帮你更高效地编写代码。
CodeGPT
插件官网: https://www.codegpt.ee
如图
不管是代码生成、优化、错误分析
,还是生成单元测试,它都能轻松应对。
对于刚入门的新手开发来说,它是个很好的学习和参考插件, 而对于经验丰富的老板凳来说也能节省不少时间,提升开发效率~
最关键的是官方开放了很多API
提供商提供对许多模型的访问
并且对个人是完全免费开放的,比如GPT-4o mini
其中就有谷歌发布的新一代人工智能
AI大模型Gemini 2.0
可供免费访问使用.
所以还等什么~~用起来啊~
CodeGPT安装
这里我以PyCharm Community Edition IDE
为例
如果你电脑里面还没有这个IDE
就去官网下载一个安装即可~这个IDE
是完全免费
前面我讲过了!
https://www.jetbrains.com.cn/pycharm/download/?section=windows
如图
安装好之后,我们打开PyCharm IDE
选择File-->Settings-->Plugins
搜索关键字ProxyAI
或者CodeGPT
都可以~
如图
然后单击 Install
安装即可,安装完成并重新启动PyCharm IDE
你会在``File-->Settings-->Tools中看到
CodeGPT`的选项~这样就表示安装成功了!
如图
CodeGPT配置Gemini Flash模型
重启IDE
之后,点击右侧
的GPT图标
打开ProxyAI
聊天界面~
如图
注意
由于国内网络的大环境情况下,我们在使用之前,还需要做一些简单的配置才能够进行使用
展开菜单选项:File-->Settings-->Tools-->CodeGPT-->Providers-->CodeGPT
在这里选择一个用于对话交互的AI大模型
!
在Chat model
中选择Gemini 2.0 Flash
这个是谷歌
推出的具备原生多模态生成能力的AI模型
它的功能也是非常强大~支持文本、图像、音频
等多模态输入输出,可通过自然语言交互实现图像编辑、文本生成等功能!
如图
然后Code model
代码模型中,选择一个适合代码相关任务的AI模型
我选择的是Qwen2.5 Coder
Qwen2.5 Coder AI
是阿里云通义大模型
团队推出的专门针对代码生成、补全、错误修复
和数学推理
等任务的开源大型语言模型系列也是非常不错的
配置完成之后,点击OK
更多详细配置大家可以到官网上去获取插件以及使用文档~
CodeGPT使用
回到模型对话界面,我们选择Gemini 2.0 Flash
如图
现在我们就可以开始对话了~~
代码生成
例如
编写一个快速排序算法
~
如图
AI生成代码如下
def quicksort(arr, low, high):
"""
快速排序函数
:param arr: 待排序的数组
:param low: 起始索引
:param high: 结束索引
"""
if low < high:
# 分区操作,获取pivot索引
pi = partition(arr, low, high)
# 递归排序pivot左边的子数组
quicksort(arr, low, pi - 1)
# 递归排序pivot右边的子数组
quicksort(arr, pi + 1, high)
def partition(arr, low, high):
"""
分区函数
:param arr: 待分区的数组
:param low: 起始索引
:param high: 结束索引
:return: pivot索引
"""
# 选择最后一个元素作为pivot
pivot = arr[high]
# i指向小于pivot的最后一个元素的索引
i = low - 1
# 遍历数组,将小于等于pivot的元素放到左边
for j in range(low, high):
if arr[j] <= pivot:
# i加1,交换arr[i]和arr[j]
i = i + 1
arr[i], arr[j] = arr[j], arr[i]
# 将pivot放到正确的位置
arr[i + 1], arr[high] = arr[high], arr[i + 1]
# 返回pivot索引
return i + 1
# 示例数组
arr = [10, 7, 8, 9, 1, 5]
n = len(arr)
quicksort(arr, 0, n - 1)
print("排序后的数组:", arr)
我们在让它来生成一个Python
版本的贪吃蛇的游戏看看效果怎么样~~
比如
给我使用python写一个贪吃蛇游戏,玩家控制蛇吃掉食物,避免碰到自己或墙壁,不断增长度!
如图
AI生成代码如下
import pygame
import random
# 初始化 Pygame
pygame.init()
# 屏幕尺寸
screen_width = 600
screen_height = 480
screen = pygame.display.set_mode((screen_width, screen_height))
pygame.display.set_caption("贪吃蛇")
# 颜色
black = (0, 0, 0)
white = (255, 255, 255)
red = (255, 0, 0)
green = (0, 255, 0)
blue = (0, 0, 255)
# 蛇的初始位置和大小
snake_block_size = 20
snake_speed = 10
# 字体
pygame.font.init() # 确保字体系统已初始化
font_style = pygame.font.SysFont("SimHei", 25) # 使用支持中文的字体
score_font = pygame.font.SysFont("SimHei", 35)
def show_score(score):
value = score_font.render("分数: " + str(score), True, white)
screen.blit(value, [0, 0])
def draw_snake(snake_block_size, snake_list):
for x in snake_list:
pygame.draw.rect(screen, green, [x[0], x[1], snake_block_size, snake_block_size])
def message(msg, color):
mesg = font_style.render(msg, True, color)
screen.blit(mesg, [screen_width / 6, screen_height / 3])
def game_loop():
game_over = False
game_close = False
# 蛇的初始位置
x1 = screen_width / 2
y1 = screen_height / 2
x1_change = 0
y1_change = 0
snake_list = []
snake_length = 1
# 食物的随机位置
foodx = round(random.randrange(0, screen_width - snake_block_size) / 20.0) * 20.0
foody = round(random.randrange(0, screen_height - snake_block_size) / 20.0) * 20.0
clock = pygame.time.Clock()
while not game_over:
while game_close == True:
screen.fill(black)
message("你输了! 按 C-重新开始 或 Q-退出", red)
show_score(snake_length - 1)
pygame.display.update()
for event in pygame.event.get():
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_q:
game_over = True
game_close = False
if event.key == pygame.K_c:
game_loop()
for event in pygame.event.get():
if event.type == pygame.QUIT:
game_over = True
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT:
x1_change = -snake_block_size
y1_change = 0
elif event.key == pygame.K_RIGHT:
x1_change = snake_block_size
y1_change = 0
elif event.key == pygame.K_UP:
y1_change = -snake_block_size
x1_change = 0
elif event.key == pygame.K_DOWN:
y1_change = snake_block_size
x1_change = 0
if x1 >= screen_width or x1 < 0 or y1 >= screen_height or y1 < 0:
game_close = True
x1 += x1_change
y1 += y1_change
screen.fill(black)
pygame.draw.rect(screen, blue, [foodx, foody, snake_block_size, snake_block_size])
snake_head = []
snake_head.append(x1)
snake_head.append(y1)
snake_list.append(snake_head)
if len(snake_list) > snake_length:
del snake_list[0]
for x in snake_list[:-1]:
if x == snake_head:
game_close = True
draw_snake(snake_block_size, snake_list)
show_score(snake_length - 1)
pygame.display.update()
if x1 == foodx and y1 == foody:
foodx = round(random.randrange(0, screen_width - snake_block_size) / 20.0) * 20.0
foody = round(random.randrange(0, screen_height - snake_block_size) / 20.0) * 20.0
snake_length += 1
clock.tick(snake_speed)
pygame.quit()
quit()
game_loop()
试试看效果怎么样~~
如图
怎么样,还不错吧
虽然还不够完善,但是有点那味了~
代码优化
需要优化现有代码,提高性能或可读性。
我们来看一段代码!
如下
def find_max_in_list(numbers):
max_value = None
for num in numbers:
if max_value is None or num > max_value:
max_value = num
return max_value
numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
max_number = find_max_in_list(numbers)
print(max_number)
这段代码定义了一个名为find_max_in_list
的函数,它接受一个数字列表作为输入,并返回列表中的最大值。如果列表为空,则返回 None
我们也可以使用CodeGPT
来优化这一段代码~~
选中需要优化的代码,右键点击,选择 CodeGPT-->Optimize
如图
然后AI
就帮我们生成了优化之后的代码了
如图
优化之后
def find_max_in_list(numbers):
if not numbers:
return None # Handle empty list case
return max(numbers) # Use Python's built-in max function
numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
max_number = find_max_in_list(numbers)
print(max_number)
代码理解
如果你不知道这段代码是在干啥,你也可以选中这一段代码
然后右键点击
选择 CodeGPT-->Explain
来给定我们答案!
如图
还有其他很多功能,这里就不挨个介绍了,大家可以自行查看官网文档即可!~
最后
随着AI技术不断突破,其颠覆性影响势必渗透至各个行业领域,包括编程领域也难以独善其身
所以...我们自己也需要全面发展个人的全栈开发能力,掌握AI
难以复制的核心技术壁垒!


"👍点赞" "✍️评论" "收藏❤️"
欢迎一起交流学习❤️❤️💛💛💚💚
好玩 好用 好看
的干货教程可以点击下方关注❤️微信公众号❤️
说不定有意料之外的收获哦..🤗嘿嘿嘿、嘻嘻嘻🤗!
🌽🍓🍎🍍🍉🍇


