无需手动写代码,Trae帮你一键生成项目!

举报
是Dream呀 发表于 2025/03/27 11:29:33 2025/03/27
【摘要】 无需手动写代码,Trae帮你一键生成项目!

一、前言

周末闲来无事,刷朋友圈时看到有人提到了一款叫 Trae 的工具,说是能“无需手动写代码”,还能“一键生成项目”。作为一个对新技术充满好奇的人,我立马来了兴趣,心想:这玩意儿真有这么神奇?于是,我决定亲自上手试试,看看它到底真的有那么神奇吗,那么多人都在用。

二、Trae初体验

打开 Trae 的官网,简洁的界面和那句醒目的 “Ship Faster with Trae” 瞬间吸引了我的注意。
image.png

简单来说,Trae 是一款智能协作的 AI IDE,它不仅能帮你写代码,还能像一位“编程搭档”一样,陪你一起分析问题、优化代码,甚至帮你快速定位 Bug。听起来是不是有点像科幻电影里的场景?但实际用起来,还真有点意思!

点击屏幕中大大的Download for Windows,我先下载来试试。就让我就带大家一起看看,Trae 到底有哪些让人眼前一亮的功能,以及它是否真的能让我们不需要写代码就可以完成一整个项目。

1.下载配置过程

打开下载好的Trae,首先选择其主题,这里有三款主题任我们去选择:
image.png

选择完成主题后,我们可以添加命令行,也就是在 Terminal 中使用命令`trae’启动“:
image.png

然后我们需要去登录Trae,这里可以选择谷歌账户登录或者github登录都可:
image.png

在登录完成之后,我们就可以开始体验其功能了,在右侧其有两个功能分别是Chat以及Builder:
image.png

2.对话功能

2.1侧边对话(Chat 模式)

侧边对话(Chat 模式)是编码过程中的全能 AI 伙伴,可以用来回答编码问题、讲解代码仓库、生成代码片段、修复错误等。我们可以通过以下两种方式来使用它:

  1. 使用 command + U 快捷键打开侧边对话框。
  2. 在侧边对话框的左上角,点击 Chat

同时在使用过程中,我们可以通过两种方式唤起内嵌对话:

  • 在编辑器内的光标处,使用 command + I 快捷键。
  • 在编辑器内,选中任意代码,然后使用 command + I 快捷键或点击悬浮菜单中的 编辑 按钮。
    image.png

2.2Builder 模式

Builder 模式可以帮助我们从 0 到 1 开发一个完整的项目。在 Builder 模式下,AI 助手在回答时会根据需求调用不同的工具,包括分析代码文件的工具、编辑代码文件的工具、运行命令的工具等等。从而让回答更精确、更有效。
image.png

除此之外,借助先进的多模式功能,Trae 可以精确理解我们的图像上传,从而简化协作并提高效率。接下来让我们体验一下Builder 模式,看看其能否独立帮助我们完成一整个项目的开发工作。

三、用Trae独立完成一个项目

1.创建过程

接下来我们让它写一个贪吃蛇的项目:
image.png

在创建过程中最令我惊奇的是其可以直接生成可以运行的代码,我们只需要点击运行就可以手动创建文件等一系列操作,简便的同时又让我们自己增加了创建项目的体验感,并且可以统筹整个项目的构建过程及要点。

看到这你是不是感觉到非常的惊喜,这些远远不够,其还有纠正和改错能力! 因为不熟悉操作流程,我在最开始时创建了一个games的文件而不是文件夹,使其不能创建贪吃蛇游戏文件,它竟然可以自动识别出这个问题,帮我删除了games文件,创建games目录,然后再创建贪吃蛇游戏文件:
image.png

在完成这些之后,其直接把代码写入了我们的文件中:
image.png

通过仔细地研究和观察,帮助我们生成的代码中实现了如下基本的游戏功能:

  • 蛇的移动控制(使用方向键)
  • 食物的随机生成
  • 碰撞检测(墙壁和自身)
  • 分数统计
  • 游戏结束和重新开始功能

游戏界面包含:

  • 800x600像素的游戏窗口
  • 绿色的蛇身
  • 红色的食物
  • 实时显示的分数
  • 游戏结束提示

同时我们可以直接运行体验,使用方向键控制蛇的移动,吃到食物可以增加分数,撞到墙壁或自身则游戏结束。游戏结束后可以按空格键重新开始。

2.运行项目

要运行此项目,我们需要点击界面中的终端,然后新建一个终端:
image.png

在终端处运行我们的Python文件,输入命令:python games/snake.py
image.png

3.运行结果

运行之后我们就可以看到如下界面了,使用方向键控制蛇的移动,吃到食物可以增加分数,撞到墙壁或自身则游戏结束,并且游戏结束后可以按空格键重新开始。
image.png

四、不依赖本地环境完成项目

虽然 Trae 已经帮我生成了一个本地运行的贪吃蛇游戏,但考虑到有些朋友可能没有安装 Python 环境,或者不想折腾本地配置,我决定让 Trae 再帮我生成一个网页版的贪吃蛇游戏。这样一来,任何人都可以直接在浏览器中打开并体验游戏,完全不需要依赖本地环境。

我回到 Trae 的 Builder 模式,输入以下需求:
image.png

1. 创建网页版贪吃蛇项目

虽然 Trae 已经帮我生成了一个本地运行的贪吃蛇游戏,但考虑到有些朋友可能没有安装 Python 环境,或者不想折腾本地配置,我决定让 Trae 再帮我生成一个网页版的贪吃蛇游戏。这样一来,任何人都可以直接在浏览器中打开并体验游戏,完全不需要依赖本地环境。

2. 代码解析

Trae 生成的代码非常清晰,以下是核心功能的实现:

  • HTML 结构:定义了一个简单的游戏画布(Canvas)和分数显示区域。

    •   <!DOCTYPE html>
        <html lang="en">
        <head>
            <meta charset="UTF-8">
            <meta name="viewport" content="width=device-width, initial-scale=1.0">
            <title>贪吃蛇游戏</title>
            <link rel="stylesheet" href="style.css">
        </head>
        <body>
            <h1>贪吃蛇游戏</h1>
            <div id="score">分数: 0</div>
            <canvas id="gameCanvas" width="400" height="400"></canvas>
            <script src="script.js"></script>
        </body>
        </html>
      
  • CSS 样式:简单美化游戏界面,让画布和分数显示更直观。

    •   body {
            display: flex;
            flex-direction: column;
            align-items: center;
            font-family: Arial, sans-serif;
        }
        #gameCanvas {
            border: 1px solid #000;
        }
        #score {
            margin: 10px;
            font-size: 20px;
        }
      
  • JavaScript 逻辑:实现贪吃蛇的核心逻辑,包括蛇的移动、食物生成、碰撞检测等。

    •   const canvas = document.getElementById("gameCanvas");
        const ctx = canvas.getContext("2d");
        const gridSize = 20;
        const tileCount = canvas.width / gridSize;
      
        let snake = [{ x: 10, y: 10 }];
        let food = { x: 5, y: 5 };
        let direction = { x: 0, y: 0 };
        let score = 0;
      
        function gameLoop() {
            update();
            draw();
            setTimeout(gameLoop, 100);
        }
      
        function update() {
            const head = { x: snake[0].x + direction.x, y: snake[0].y + direction.y };
      
            // 检测碰撞
            if (head.x < 0 || head.x >= tileCount || head.y < 0 || head.y >= tileCount || snake.some(segment => segment.x === head.x && segment.y === head.y)) {
                resetGame();
                return;
            }
      
            snake.unshift(head);
      
            // 吃到食物
            if (head.x === food.x && head.y === food.y) {
                score++;
                document.getElementById("score").innerText = "分数: " + score;
                placeFood();
            } else {
                snake.pop();
            }
        }
      
        function draw() {
            ctx.clearRect(0, 0, canvas.width, canvas.height);
      
            // 画蛇
            ctx.fillStyle = "green";
            snake.forEach(segment => ctx.fillRect(segment.x * gridSize, segment.y * gridSize, gridSize, gridSize));
      
            // 画食物
            ctx.fillStyle = "red";
            ctx.fillRect(food.x * gridSize, food.y * gridSize, gridSize, gridSize);
        }
      
        function placeFood() {
            food.x = Math.floor(Math.random() * tileCount);
            food.y = Math.floor(Math.random() * tileCount);
        }
      
        function resetGame() {
            snake = [{ x: 10, y: 10 }];
            direction = { x: 0, y: 0 };
            score = 0;
            document.getElementById("score").innerText = "分数: 0";
            placeFood();
        }
      
        document.addEventListener("keydown", e => {
            switch (e.key) {
                case "ArrowUp": if (direction.y === 0) direction = { x: 0, y: -1 }; break;
                case "ArrowDown": if (direction.y === 0) direction = { x: 0, y: 1 }; break;
                case "ArrowLeft": if (direction.x === 0) direction = { x: -1, y: 0 }; break;
                case "ArrowRight": if (direction.x === 0) direction = { x: 1, y: 0 }; break;
            }
        });
      
        placeFood();
        gameLoop();
      

3. 运行网页版贪吃蛇

Trae 生成的代码可以直接在浏览器中运行,双击 index.html 文件,浏览器会自动打开并运行游戏。使用方向键控制蛇的移动,吃到食物后分数会增加,撞到墙壁或自身则游戏结束。
image.png

网页版贪吃蛇的最大优势是无需安装任何环境 。无论是 Windows、Mac 还是 Linux 用户,只要有一个现代浏览器(如 Chrome、Firefox 或 Edge),就可以直接运行游戏。这对于不熟悉编程环境配置的朋友或者不想使用本地配置的伙伴,简直太友好了!

五、总结

这次尝试 Trae,真的让我大开眼界。以前写代码,总是要一点点自己写,非常耗时耗力,遇到问题还要反复调试。但 Trae 的出现,让我感受到了前所未有的轻松和高效。它就像一个懂你的“编程搭子”,降低了技术门槛,也让更多人能够轻松接触编程。

通过这次体验,我真心觉得 Trae 是一个非常有价值的工具,让我看到了 AI 在编程中的巨大潜力。希望未来能有更多像 Trae 这样的工具,让编程变得更简单、更有趣。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。