Trae入门
Trae是由字节跳动(ByteDance)推出的一款AI 原生集成开发环境(IDE),简单来说,它是一款专为程序员打造的、深度集成了人工智能的“写代码神器”。
你可以把它理解为一个“能自己写代码、修 Bug 的智能编程助手”。它基于 VS Code 的内核开发的,因此如果习惯用 VS Code,上手 Trae 会非常顺滑。
1.安装
官网:
https://www.trae.cn/
下载:
下载后的文件:
直接双击安装即可。
2.界面介绍
进入trae,可以看到去界面布局和VsCode非常相似,所以我们主要是学习右边的ai相关的知识。
1.ctrl+u可以快速调出侧边栏,如果选中了代码ctrl+u,会把选中的代码提问词里。
2.@符号可以选择模式
chat模式类似于你问我答的形式,比如之前的腾讯元宝,deepseek等
Builder模式可以根据需求描述直接在目录里生成代码文件。
不管是chat模式还是Builder模式,界面是一致的。
3.上下文引用
直接粘贴和使用 # 引用在技术原理、效率和准确度上有着本质的区别。#引用这通常不计入你的“对话记忆”限制(或者占用极少)
4.上传图片,语音输入,多模态。
3.Builder模式基本演示
chat模式主要是根据我们输入的提示词做出回答,而Builder模式可以根据需求描述直接在目录里生成代码文件。
新建一个springboot项目,生成一个HelloController方法,我访问hello返回字符串Hello,你好。
点击新建项目:
生成了四个文件,这里选择全部保留:
这里配置了jdk
查看HelloController:
package com.example.demo.controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class HelloController { @GetMapping("/hello") public String hello() { return "Hello, 你好"; } }启动类:
package com.example.demo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); System.out.println("Hello, 你好"); } }依赖:
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.example</groupId> <artifactId>demo</artifactId> <version>1.0.0</version> <packaging>jar</packaging> <name>demo</name> <description>Spring Boot Demo Project</description> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.7.14</version> <relativePath/> </parent> <properties> <java.version>17</java.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>application.properties:
server.port=8080右击启动:
报错:
org.apache.tomcat.embed:tomcat-embed-core:jar:9.0.78 failed to transfer from https://repo.maven.apache.org/maven2 during a previous attempt. This failure was cached in the local repository and resolution is not reattempted until the update interval of central has elapsed or updates are forced. Original error: Could not transfer artifact org.apache.tomcat.embed:tomcat-embed-core:jar:9.0.78 from/to central (https://repo.maven.apache.org/maven2): Read timed out org.eclipse.aether.transfer.ArtifactTransferException: org.apache.tomcat.embed:tomcat-embed-core:jar:9.0.78 failed to transfer from https://repo.maven.apache.org/maven2 during a previous attempt. This failure was cached in the local repository and resolution is not reattempted until the update interval of central has elapsed or updates are forced. Original error: Could not transfer artifact org.apache.tomcat.embed:tomcat-embed-core:jar:9.0.78 from/to central (https://repo.maven.apache.org/maven2): Read timed out at org.eclipse.aether.internal.impl.DefaultUpdateCheckManager.newException(DefaultUpdateCheckManager.java:235) at org.eclipse.aether.internal.impl.DefaultUpdateCheckManager.checkArtifact(DefaultUpdateCheckManager.java:201) at org.eclipse.aether.internal.impl.DefaultArtifactResolver.gatherDownloads(DefaultArtifactResolver.java:586) at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:525) at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:449) at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:261) at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveDependencies(DefaultRepositorySystem.java:353) at org.apache.maven.project.DefaultProjectDependenciesResolver.resolve(DefaultProjectDependenciesResolver.java:184) at org.apache.maven.project.DefaultProjectBuilder.resolveDependencies(DefaultProjectBuilder.java:224) at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:202) at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:123) at org.eclipse.m2e.core.internal.IMavenToolbox.readMavenProject(IMavenToolbox.java:97) at org.eclipse.m2e.core.internal.project.registry.DefaultMavenDependencyResolver.lambda$0(DefaultMavenDependencyResolver.java:70) at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:462) at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:342) at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:281) at org.eclipse.m2e.core.internal.project.registry.DefaultMavenDependencyResolver.resolveProjectDependencies(DefaultMavenDependencyResolver.java:66) at org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.refreshPhase2(ProjectRegistryManager.java:584) at org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.lambda$5(ProjectRegistryManager.java:492) at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:462) at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:342) at org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.refresh(ProjectRegistryManager.java:490) at org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.refresh(ProjectRegistryManager.java:370) at org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.refresh(ProjectRegistryManager.java:322) at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.updateProjectConfiguration0(ProjectConfigurationManager.java:388) at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.lambda$3(ProjectConfigurationManager.java:340) at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:462) at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:342) at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:281) at org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:1094) at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.updateProjectConfiguration(ProjectConfigurationManager.java:339) at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.updateProjectConfiguration(ProjectConfigurationManager.java:326) at org.eclipse.jdt.ls.core.internal.managers.MavenBuildSupport.update(MavenBuildSupport.java:82) at org.eclipse.jdt.ls.core.internal.managers.ProjectsManager$UpdateProjectsWorkspaceJob.updateProject(ProjectsManager.java:805) at org.eclipse.jdt.ls.core.internal.managers.ProjectsManager$UpdateProjectsWorkspaceJob.runInWorkspace(ProjectsManager.java:766) at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:43) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)找不到依赖。trae默认会使用c盘下的仓库和配置文件。
可以在项目的settings.json里上设置,添加userSettings配置,使用D盘下的仓库。
{ "redhat.telemetry.enabled": true, "workbench.colorTheme": "Deep Blue", "maven.executable.options": "", // 添加下面的配置。 "java.configuration.maven.userSettings": "D:\\software\\java\\maven\\apache-maven-3.6.3\\conf\\settings.xml" }但是这样只在此项目里生效,打开新项目一样存在问题,所以可以在全局配置文件里修改:
比如我这里全局配置文件的地址是:C:\Users\29531\AppData\Roaming\Trae CN\User
再次右击启动:
启动成功!
浏览器访问也正常。
我们也可以直接使用mvn的命令启动项目:
我们可以在终端里通过下面命令启动springboot项目:
D:\software\java\maven\apache-maven-3.6.3\bin\mvn.cmd spring-boot:run可以启动成功,但是每次输出这么长的地址太麻烦了,添加配置:
{ "redhat.telemetry.enabled": true, "workbench.colorTheme": "Deep Blue", "maven.executable.options": "", // 添加下面的命令 "terminal.integrated.env.windows": { "Path": "D:\\software\\java\\maven\\apache-maven-3.6.3\\bin;C:\\Windows;C:\\Windows\\System32;C:\\Windows\\System32\\WindowsPowerShell\\v1.0;C:\\Program Files\\dotnet;D:\\software\\java\\jdk\\jdk-17.0.7\\bin;C:\\Users\\29531\\AppData\\Local\\Microsoft\\WindowsApps;D:\\software\\java\\nodejs;C:\\Users\\29531\\AppData\\Local\\Programs\\Microsoft VS Code\\bin" }, "java.configuration.maven.userSettings": "D:\\software\\java\\maven\\apache-maven-3.6.3\\conf\\settings.xml" }这样只需要在终端输入下面命令即可运行springBoot:
maven spring-boot:run