Skip to content

代码生成 API

本文档描述了 Trae 代码生成功能的 API 接口。

概述

代码生成 API 允许您根据描述、模板或规范自动生成代码,支持多种编程语言和框架。

端点

生成代码

http
POST /api/code-generation/generate

请求参数

参数类型必需描述
promptstring代码生成提示
languagestring目标编程语言
frameworkstring使用的框架
stylestring代码风格
contextobject上下文信息

响应

json
{
  "code": "function calculateSum(a, b) {\n  return a + b;\n}",
  "language": "javascript",
  "explanation": "这个函数计算两个数的和",
  "suggestions": [
    "添加参数类型检查",
    "考虑处理边界情况"
  ]
}

生成测试代码

http
POST /api/code-generation/test

请求参数

参数类型必需描述
source_codestring源代码
test_frameworkstring测试框架
coverage_typestring覆盖类型

响应

json
{
  "test_code": "describe('calculateSum', () => {\n  it('should return sum of two numbers', () => {\n    expect(calculateSum(2, 3)).toBe(5);\n  });\n});",
  "framework": "jest",
  "test_cases": [
    {
      "name": "正常情况测试",
      "input": [2, 3],
      "expected": 5
    }
  ]
}

生成文档

http
POST /api/code-generation/documentation

请求参数

参数类型必需描述
source_codestring源代码
doc_formatstring文档格式 (jsdoc, sphinx, etc.)
languagestring编程语言

响应

json
{
  "documentation": "/**\n * 计算两个数的和\n * @param {number} a - 第一个数\n * @param {number} b - 第二个数\n * @returns {number} 两数之和\n */",
  "format": "jsdoc"
}

支持的语言

  • JavaScript/TypeScript
  • Python
  • Java
  • C#
  • Go
  • Rust
  • PHP
  • Ruby

代码风格选项

  • standard - 标准风格
  • google - Google 风格
  • airbnb - Airbnb 风格
  • prettier - Prettier 风格

示例

生成函数代码

javascript
const response = await fetch('/api/code-generation/generate', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    prompt: '创建一个计算数组平均值的函数',
    language: 'javascript',
    style: 'standard',
    context: {
      project_type: 'node',
      es_version: 'es2020'
    }
  })
});

const result = await response.json();
console.log('生成的代码:', result.code);

生成测试用例

javascript
const sourceCode = `
function calculateAverage(numbers) {
  if (numbers.length === 0) return 0;
  const sum = numbers.reduce((a, b) => a + b, 0);
  return sum / numbers.length;
}
`;

const response = await fetch('/api/code-generation/test', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    source_code: sourceCode,
    test_framework: 'jest',
    coverage_type: 'unit'
  })
});

const testResult = await response.json();
console.log('生成的测试:', testResult.test_code);

您的终极 AI 驱动 IDE 学习指南