Skip to content

Gemini CLI 使用示例

不确定从哪里开始使用 Gemini CLI?本文档涵盖了如何使用 Gemini CLI 完成各种任务的示例。

注意: 结果是旨在展示潜在用例的示例。你的结果可能会有所不同。

根据内容重命名照片

场景:你有一个包含以下文件的文件夹:

bash
photos/photo1.png
photos/photo2.png
photos/photo3.png

给 Gemini 以下提示:

Rename the photos in my "photos" directory based on their contents.

结果:Gemini 会请求重命名文件的权限。

选择 Allow once,你的文件将被重命名:

bash
photos/yellow_flowers.png
photos/antique_dresser.png
photos/green_android_robot.png

通过阅读代码解释仓库

场景:你想通过检查代码(而不仅仅是 README)来了解一个流行的开源工具是如何工作的。

给 Gemini CLI 以下提示:

Clone the 'chalk' repository from https://github.com/chalk/chalk, read its key source files, and explain how it works.

结果:Gemini 将执行一系列操作来回答你的请求。

  1. 首先,它会请求运行 git clone 下载仓库的权限。
  2. 接下来,它会找到重要的源文件并请求读取它们的权限。
  3. 最后,在分析代码后,它会提供摘要。

Gemini CLI 将根据实际源代码返回解释:

markdown
`chalk` 库是一个流行的 npm 包,用于使用颜色样式化终端输出。
分析源代码后,以下是它的工作原理:

- **核心功能:** 主文件设置了一个可链式调用的 API。每个颜色或
  修饰符(如 `bold``italic`)是一个 getter,它将相应的
  ANSI 转义码附加到内部堆栈。

- **可链式 API:** 当你调用 `chalk.red.bold('Hello')` 时,你正在访问
  getter。`red` getter 添加红色代码,`bold` getter 添加
  粗体代码。

- **输出生成:** 当链被视为字符串时(例如在 `console.log` 中),
  会调用最终的 `toString()` 方法。此方法连接所有存储的 ANSI 代码,
  将它们包裹在输入字符串('Hello')周围,并在末尾添加重置代码。
  这产生了终端可以渲染的最终样式化字符串。

将两个电子表格合并为一个

场景:你有两个 .csv 文件:Revenue - 2023.csvRevenue - 2024.csv。每个文件包含月度收入数据,如下所示:

csv
January,0
February,0
March,0
April,900
May,1000
June,1000
July,1200
August,1800
September,2000
October,2400
November,3400
December,2100

你想将这两个 .csv 文件合并为一个 .csv 文件。

给 Gemini CLI 以下提示:

Combine the two .csv files into a single .csv file, with each year a different column.

结果:Gemini CLI 将读取每个文件,然后请求写入新文件的权限。提供你的许可,Gemini CLI 将提供以下 .csv:

csv
Month,2023,2024
January,0,1000
February,0,1200
March,0,2400
April,900,500
May,1000,800
June,1000,900
July,1200,1000
August,1800,400
September,2000,2000
October,2400,3400
November,3400,1800
December,2100,9000

运行单元测试

场景:你编写了一个简单的登录页面。你希望编写单元测试以确保登录页面有代码覆盖。

给 Gemini CLI 以下提示:

Write unit tests for Login.js.

结果:Gemini CLI 会请求写入新文件的权限,并为你的登录页面创建测试。

Gemini 将生成包含以下测试用例的测试文件:

  • 正确渲染登录表单
  • 使用无效凭据显示错误消息
  • 使用有效凭据成功登录
  • 提交时禁用提交按钮

这些测试使用 React Testing Library 和 Jest 进行模拟和断言。

aicodex 文档网站