代码自动生成工具实战-Cursor

简介: 之前看过github copilot 的代码生成能力。可以说解放了码农的双手,基础的代码完全可以来生成。可是后来它收费了。

Cursor code generate介绍

之前看过github copilot 的代码生成能力。可以说解放了码农的双手,基础的代码完全可以来生成。可是后来它收费了。

今天在网上发现这个免费的code generate。

下面官网537721b5cb224942b723223d573c38ad.png

Cursor 代码生成实战

prompt1

prompts : 比较两个数据库的差异,数据库的ip地址是10.50.10.170,…

bd35c4300cb241f7b4caea4f1d13380a.png

prompt2

我的prompts: 是两个数据库比较差异,第二个数据库是的ip是10.50.10.171. 两个数据库的port都是5432

# 导入所需库
import psycopg2
# 连接数据库
connection1 = psycopg2.connect(host='10.50.10.170', port=5432, user='username', password='xxx', dbname='qmstst')
cursor1 = connection1.cursor()
connection2 = psycopg2.connect(host='10.50.10.171', port=5432, user='username', password='xxx', dbname='qmstst')
cursor2 = connection2.cursor()
# 从文件中获取表名
with open("tables.txt", "r") as file:
    table_names = [line.strip() for line in file.readlines()]
differences = []
for i in range(len(table_names) - 1):
    # 查询两个表的数据量
    cursor1.execute(f"SELECT COUNT(*) FROM {table_names[i]}")
    table1_count = cursor1.fetchone()[0]
    cursor2.execute(f"SELECT COUNT(*) FROM {table_names[i+1]}")
    table2_count = cursor2.fetchone()[0]
    # 计算数据量差异
    difference = abs(table1_count - table2_count)
    differences.append(difference)
# 输出结果到文件
with open("output.txt", "w") as output_file:
    for i in range(len(differences)):
        output_file.write(f"表 {table_names[i]} 和表 {table_names[i+1]} 的数据量差异为: {differences[i]}\n")
# 关闭数据库连接
cursor1.close()
connection1.close()
cursor2.close()
connection2.close()

prompt3

promtps : 最终输出结果是有差异的表,结果需要有时间。需要包含哪个ip的哪个表。

1ff9444b0e784165ab73559e276b4a5a.png

# 导入所需库
import psycopg2
from datetime import datetime
# 连接数据库
connection1 = psycopg2.connect(host='10.50.10.170', port=5432, user='username', password='xxx', dbname='qmstst')
cursor1 = connection1.cursor()
connection2 = psycopg2.connect(host='10.50.10.171', port=5432, user='username', password='xxx', dbname='qmstst')
cursor2 = connection2.cursor()
# 从文件中获取表名
with open("tables.txt", "r") as file:
    table_names = [line.strip() for line in file.readlines()]
differences = []
for i in range(len(table_names) - 1):
    # 查询两个表的数据量
    cursor1.execute(f"SELECT COUNT(*) FROM {table_names[i]}")
    table1_count = cursor1.fetchone()[0]
    cursor2.execute(f"SELECT COUNT(*) FROM {table_names[i+1]}")
    table2_count = cursor2.fetchone()[0]
    # 计算数据量差异
    difference = abs(table1_count - table2_count)
    if difference > 0:
        differences.append((table_names[i], table_names[i+1], difference))
# 输出结果
current_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
for table1, table2, difference in differences:
    message = f"{current_time} - IP: 10.50.10.170 表 {table1} 和 IP: 10.50.10.171 表 {table2} 的数据量差异为: {difference}"
    print(message)
connection1.close()
cursor2.close()
connection2.close()

prompt4

将输出结果推送到企业微信

from datetime import datetime
# 连接数据库
connection1 = psycopg2.connect(host='10.50.10.170', port=5432, user='username', password='xxx', dbname='qmstst')
cursor1 = connection1.cursor()
connection2 = psycopg2.connect(host='10.50.10.171', port=5432, user='username', password='xxx', dbname='qmstst')
cursor2 = connection2.cursor()
# 从文件中获取表名
with open("tables.txt", "r") as file:
    table_names = [line.strip() for line in file.readlines()]
differences = []
for i in range(len(table_names) - 1):
    # 查询两个表的数据量
    cursor1.execute(f"SELECT COUNT(*) FROM {table_names[i]}")
    table1_count = cursor1.fetchone()[0]
    cursor2.execute(f"SELECT COUNT(*) FROM {table_names[i+1]}")
    table2_count = cursor2.fetchone()[0]
    # 计算数据量差异
    difference = abs(table1_count - table2_count)
    if difference > 0:
        differences.append((table_names[i], table_names[i+1], difference))
# 导入企业微信库
from wxwork_bot import WxWorkBot
# 初始化企业微信机器人
bot = WxWorkBot("your_bot_key")
# 输出结果并发送到企业微信报警
current_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
for table1, table2, difference in differences:
    message = f"{current_time} - IP: 10.50.10.170 表 {table1} 和 IP: 10.50.10.171 表 {table2} 的数据量差异为: {difference}"
    bot.send_text(message)
connection1.close()
cursor2.close()
connection2.close()

我的感受

  • 从prompt1可以看出代码生成之后还会提示合并还是丢弃,这个比较人性化。因为不确定cursor对prompts的理解,这样的好处是可以及时调整prompts来生成更加符合要求的结果
  • 从prompt3来看这个还是会一行一行扫描,而不是直接定位到需要修改的地方。这一点比较慢。
  • 其实可以只对部分代码进行框选进行优化,这个速度应该会提升。
  • 竟然可以回滚prompt。


目录
相关文章
|
供应链 芯片
电商黑话之 spu sku
SPU = Standard Product Unit (标准化产品单元),SPU是商品信息聚合的最小单位,是一组可复用、易检索的标准化信息的集合,该集合描述了一个产品的基本特性。因此在电商类产品库建立时,通常会根据SPU来建立。
电商黑话之 spu sku
|
安全
阿里云短信服务是可以发送包含下载链接的文本内容的,
阿里云短信服务是可以发送包含下载链接的文本内容的,但是需要注意以下几点:
1020 1
|
机器学习/深度学习 开发工具 计算机视觉
YOLOv8 目标检测 | 自定义数据集
YOLOv8 目标检测 | 自定义数据集
|
8月前
|
人工智能 IDE JavaScript
MCP编程与AI的结合:基于Cursor的智能开发实践
本文介绍了如何通过将 Apifox MCP Server 与支持 AI 编程的 IDE(如 Cursor、VSCode + Cline 等)集成,实现 AI 直接读取和利用最新的 API 文档,从而大幅提升开发效率。文章详细说明了配置过程,包括获取 Apifox Access Token 和项目 ID,以及在 Cursor 中设置 MCP 配置的方法。此外,还展示了多个实际应用场景,例如快速生成模型代码、同步更新接口文档与代码、生成完整的 CRUD 操作、搜索 API 文档以及自动生成测试用例。
|
开发工具 Android开发
Appium之获取app的package和activity以及UI界面定位方法
一、获取APP的package(包名)和activity 在使用android自动化测试工具monkeyrunner和appium中启动应用时,需要填写被测程序的包名和启动的Activity,以下有几种查看应用包名package和入口activity名称的方法: 1.
3094 0
|
11月前
|
人工智能 数据可视化 IDE
AI编程:cursor使用教程
这是小卷对AI编程工具学习的首篇文章,以Cursor为例,介绍其安装与基本功能。Cursor分为狭义和广义两类,前者辅助程序员高效编程,后者让无基础用户也能创建应用。文章详细讲解了Cursor的安装、快捷键、代码生成、修改、补全及项目理解等功能,并展示了如何通过提示词实现需求,帮助小白轻松上手编程。
2315 77
|
缓存 Linux 开发工具
CentOS 7- 配置阿里镜像源
阿里镜像官方地址http://mirrors.aliyun.com/ 1、点击官方提供的相应系统的帮助 :2、查看不同版本的系统操作: 下载源1、安装wget yum install -y wget2、下载CentOS 7的repo文件wget -O /etc/yum.
262704 0
|
9月前
|
人工智能 自然语言处理 IDE
Trae 接入 Claude 3.7:AI 编程工具界的“卷王”,完全免费使用!
Trae 是一款完全免费的AI编程工具,现已接入 Claude 3.7 模型,提供代码生成、调试等强大功能,支持多模态输入和上下文理解,用户可享受24小时高速服务,无需担心付费限制。Trae 支持多平台,安装简便,适合开发者快速上手。
3504 24
Trae 接入 Claude 3.7:AI 编程工具界的“卷王”,完全免费使用!
|
9月前
|
编解码 Linux 虚拟化
在Hyper-V虚拟化的图形处理中,怎么调整虚拟机的屏幕分辨率?
在Hyper-V虚拟化中,调整虚拟机屏幕分辨率对提升用户体验和确保应用程序兼容性至关重要。高分辨率可提供清晰图像、提高工作效率,并避免显示异常。调整方法包括通过增强会话模式、虚拟机内部设置或手动编辑配置文件。注意事项包括正确安装显卡驱动、避免过高分辨率及及时保存设置。
|
人工智能 自然语言处理 前端开发
从客服场景谈:大模型如何接入业务系统
本文探讨了大模型在AI客服中的应用。大模型虽具有强大的知识生成能力,但在处理具体业务如订单咨询、物流跟踪等问题时,需结合数据库查询、API调用等手段。文章提出用Function Call连接大模型与业务系统,允许大模型调用函数获取私域知识。通过具体示例展示了如何设计系统提示词、实现多轮对话、定义Function Call函数,并利用RAG技术检索文档内容。最后,展示了该方案在订单查询和产品咨询中的实际效果。

热门文章

最新文章