在软件开发领域,提升效率一直是开发者追求的目标。最近,字节推出了一款新产品 Trae,它与 AI 深度集成,为开发者提供了智能问答、代码自动补全以及基于 Agent 的 AI 自动编程能力。本文将通过实际案例,详细介绍 Trae 的功能和使用体验。
Trae IDE 最显著的特点是与 AI 的深度结合,提供了以下四个核心功能:
作者有一个需求,希望实现一个脚本,当当前文件夹内的内容有变更时,每半小时自动提交一次代码。具体要求如下:
git add .
、git commit -s -m "i"
、git pull origin main
、git push origin main
。作者向 Trae 提出了上述需求,Trae 很快生成了满足需求的脚本代码
#!/bin/bash
# 解决冲突的函数
resolve_conflicts() {
if [[ $(git status --porcelain | grep "^UU") ]]; then
echo "检测到冲突文件,尝试解决..."
# 使用我们的更改解决冲突
git status --porcelain | grep "^UU" | awk '{print $2}' | while read file; do
echo "自动解决文件冲突: $file"
git checkout --ours "$file"
git add "$file"
done
# 提交解决的冲突
git commit -s -m "Resolve conflicts: Auto-merged using our changes"
return 0
fi
return 1
}
while true
do
# 获取当前小时
current_hour=$(date +%H)
# 检查是否在工作时间内(8点到24点)
if [ $current_hour -ge 8 ] && [ $current_hour -lt 24 ]; then
# 检查是否有文件变更
if [[ $(git status --porcelain) ]]; then
echo "检测到文件变更,开始提交 - $(date)"
# 先进行pull操作
echo "拉取远程更新..."
if ! git pull origin main; then
# 如果pull失败,可能是有冲突
if resolve_conflicts; then
echo "冲突已自动解决"
else
echo "Pull 失败,但没有检测到冲突,跳过本次提交"
sleep 1800
continue
fi
fi
# 获取变更摘要
changes=$(git status --porcelain | awk '{print $2}' | xargs echo)
commit_msg="Auto commit: Changed files - ${changes}"
if git add .; then
if git commit -s -m "$commit_msg"; then
# 再次pull确保没有新的更改
git pull origin main
if git push origin main; then
echo "提交成功!提交信息:$commit_msg"
else
echo "Push 失败!"
fi
else
echo "Commit 失败!"
fi
else
echo "Add 失败!"
fi
else
echo "没有检测到文件变更 - $(date)"
fi
else
echo "当前不在工作时间范围内 - $(date)"
fi
echo "等待 30 分钟后进行下一次检查..."
sleep 1800
done
Trae 生成的脚本具有以下优点:
chmod +x smart_commit.sh
./smart_commit.sh
nohup ./smart_commit.sh > commit_log.txt 2>&1 &
image-20250220084048458
在 Chat 模式下,根据开发者的需求,AI 助手会自动创建新文件或编辑已有文件并自动保存生成的代码。开发者可以接受或拒绝变更,操作方式如下:
image-20250220084119031
Chat 模式下,AI 助手会提供可一键运行的 Shell 命令,开发者可以按需进行以下操作:
image-20250218075459585
点击 “Chat” 窗口右上角的 “历史会话” 按钮后,左侧会显示 “历史记录” 窗口,展示 Chat 模式和 Builder 模式的所有对话记录,方便开发者随时查看和回顾。
Trae 作为一款与 AI 深度集成的智能开发助手,为开发者提供了强大的功能支持。通过实际应用案例,我们看到了 Trae 在提升开发效率方面的显著优势。无论是自动提交代码脚本的生成,还是 Chat 模式下的代码管理和命令运行,Trae 都展现出了其智能、便捷的特点。对于开发者来说,Trae 是一个值得尝试的工具,能够帮助他们在日常开发工作中更加高效地完成任务。
官网文档[1]
感谢 Trae 团队的辛勤工作,为开发者带来了这样一款优秀的工具。同时,也感谢所有为 Trae 提供反馈和支持的开发者,共同推动这款产品的不断进步。
参考资料
[1]
官网文档: https://docs.trae.ai/docs/what-is-trae?_lang=zh