Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>LeetCode Go Test GeneratorNew to Visual Studio Code? Get it now.
LeetCode Go Test Generator

LeetCode Go Test Generator

liyunhua

|
2 installs
| (0) | Free
快速生成 LeetCode Go 语言测试用例的便捷工具
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

LeetCode Go Test Generator

一个便捷的 VSCode 插件,用于快速生成 LeetCode Go 语言测试用例。只需从 LeetCode 复制粘贴测试用例,插件会自动生成格式化的 Go 测试代码。

✨ 主要功能

  • 🎯 智能识别测试函数:自动识别当前测试函数,无需手动指定
  • 📝 分步输入:先输入所有测试用例的参数,再输入所有输出,交互清晰
  • 🔄 自动格式转换:自动将 LeetCode 数组格式转换为 Go 格式
    • 一维数组:[1,2,3] → []int{1,2,3}
    • 二维数组:[[1,2],[3,4]] → [][]int{{1,2},{3,4}}
    • 三维数组:[[[1,2]]] → [][][]int{{{1,2}}}
    • 字符串数组:["a","b"] → []string{"a","b"}
  • 🔢 智能命名:测试用例名称自动递增,基于已有测试用例数量
  • 📍 精确定位:在用户右键位置插入代码,支持任意位置

🚀 快速开始

安装

  1. 克隆或下载此项目
  2. 在项目根目录运行:
    npm install
    npm run compile
    
  3. 按 F5 启动调试,或打包为 .vsix 文件安装

使用方法

  1. 在 Go 测试文件中,找到要添加测试用例的位置(可以是 TODO 注释处,或任意位置)
  2. 右键点击,选择 "生成 LeetCode 测试用例" 命令
  3. 第一步:在弹出的输入框中输入所有测试用例的输入参数(每行一个用例)
  4. 第二步:在弹出的输入框中输入所有测试用例的输出(每行一个输出,与输入顺序对应)

📖 使用示例

示例 1:基本用法

假设有以下测试函数:

func Test_sumAndMultiply(t *testing.T) {
	type args struct {
		s       string
		queries [][]int
	}
	tests := []struct {
		name string
		args args
		want []int
	}{
		// TODO: Add test cases.
	}
	// ...
}

第一步输入(输入参数):

s = "10203004", queries = [[0,7],[1,3],[4,6]]
s = "abc", queries = [[0,1]]

第二步输入(输出):

[12340, 4, 9]
[1, 2]

生成的代码:

{
    name: "1",
    args: args{
        s:       "10203004",
        queries: [][]int{{0, 7}, {1, 3}, {4, 6}},
    },
    want: []int{12340, 4, 9},
},
{
    name: "2",
    args: args{
        s:       "abc",
        queries: [][]int{{0, 1}},
    },
    want: []int{1, 2},
},

示例 2:不带参数名的格式

第一步输入:

"10203004",[[0,7],[1,3],[4,6]]
"abc",[[0,1]]

第二步输入:

[12340, 4, 9]
[1, 2]

插件会自动按顺序将值赋给函数参数。

示例 3:一维数组

第一步输入:

nums = [1,2,3], goal = 4
nums = [4,5,6], goal = 7

第二步输入:

2
3

生成的代码:

{
    name: "1",
    args: args{
        nums: []int{1, 2, 3},
        goal: 4,
    },
    want: 2,
},
{
    name: "2",
    args: args{
        nums: []int{4, 5, 6},
        goal: 7,
    },
    want: 3,
},

📋 支持的输入格式

输入参数格式

插件支持两种输入格式,通过是否包含 = 号自动识别:

格式 1:带参数名(推荐)

s = "10203004", queries = [[0,7],[1,3],[4,6]]
nums = [1,2,3], goal = 4

格式 2:按顺序的值

"10203004",[[0,7],[1,3],[4,6]]
[1,2,3], 4

输出格式

输出直接输入值即可,支持数组格式:

[12340, 4, 9]
2
"result"

🎯 核心特性

1. 自动识别测试函数

插件会自动从当前光标位置向上查找最近的测试函数(Test_xxx),无需手动指定。

2. 智能数组格式转换

  • 一维数组:[1,2,3] → []int{1,2,3}
  • 二维数组:[[1,2],[3,4]] → [][]int{{1,2},{3,4}}
  • 三维数组:[[[1,2]]] → [][][]int{{{1,2}}}
  • 字符串数组:["a","b"] → []string{"a","b"}
  • 自动类型检测:根据内容自动判断是 int 还是 string

3. 测试用例名称自动递增

  • 如果当前函数已有测试用例(name: "1", "2", "3"),新生成的用例会从 "4" 开始
  • 如果没有已有用例,从 "1" 开始

4. 精确定位插入

  • 在用户右键位置插入代码
  • 如果右键在 TODO 注释行,会自动删除 TODO 并插入代码
  • 支持在任意位置插入

🛠️ 开发

# 安装依赖
npm install

# 编译
npm run compile

# 监听模式(自动编译)
npm run watch

调试

  1. 按 F5 启动调试
  2. 会打开一个新的 VSCode 窗口(Extension Development Host)
  3. 在新窗口中打开你的 Go 测试文件进行测试

打包

# 安装 vsce(如果还没有)
npm install -g vsce

# 打包为 .vsix 文件
vsce package

# 安装打包的插件
code --install-extension leetcode-go-test-generator-0.0.1.vsix

⚙️ 技术细节

  • 语言:TypeScript
  • VSCode API:使用 VSCode Extension API
  • 解析算法:智能解析嵌套数组、字符串、参数匹配

📝 注意事项

  1. 测试函数格式:确保测试函数符合标准 Go 测试模板,包含 args struct 定义
  2. 参数顺序:使用不带参数名的格式时,确保输入顺序与函数参数顺序一致
  3. 数组格式:LeetCode 的数组格式会自动转换,无需手动修改
  4. 多行输入:每个测试用例占一行,支持一次输入多个用例

🤝 贡献

欢迎提交 Issue 和 Pull Request!

📄 许可证

MIT License

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft