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难以复制的核心技术壁垒!





"👍点赞" "✍️评论" "收藏❤️"

大家的支持就是我坚持下去的动力!

如果以上内容有任何错误或者不准确的地方,🤗🤗🤗欢迎在下面 👇👇👇 留个言指出、或者你有更好的想法,
欢迎一起交流学习❤️❤️💛💛💚💚


更多好玩 好用 好看的干货教程可以点击下方关注❤️微信公众号❤️
说不定有意料之外的收获哦..🤗嘿嘿嘿、嘻嘻嘻🤗!
🌽🍓🍎🍍🍉🍇






posted @ 2025-09-18 15:02  极客小俊  阅读(11)  评论(0)    收藏  举报