Gemini Code Assist 可以在 VS Code 中协助写代码。为了让生成结果可检查,不要只问“帮我写一个程序”:给出输入格式、预期输出、禁止改动的范围和验证命令。本文用一个小型 CSV 分类汇总任务演示;数据是虚构示例,示例脚本是本文整理的参考结果,不是声称由 Gemini 实际生成。
准备一个范围清楚的小任务
目标是读取 sales.csv,按 category 汇总 amount 并输出分类总额。先在项目中新建一个空目录或测试文件,不要让助手直接重写已有的重要模块。可在 Gemini Code Assist 聊天中输入:

请为 Python 3 写一个只用标准库的脚本,读取 sales.csv。
表头为 category,amount;按 category 求金额总和,保留两位小数。
空文件输出提示;非数字 amount 报出行号并退出,不要静默跳过。
只创建 summarize.py,先说明输入假设,并给出一条运行命令和三条测试数据。
如果在 VS Code 使用 Gemini Code Assist Agent mode,官方文档的入口是打开 Gemini Code Assist 聊天并切到 Agent;它可能申请执行命令或修改文件。先检查它的计划和文件差异,只允许当前任务所需操作。
用最小样例检查输出
用虚构输入:
category,amount
书籍,12.5
文具,3
书籍,7.5
脚本应输出书籍 20.00、文具 3.00。一个可对照的标准库实现如下:
import csv
from collections import defaultdict
from decimal import Decimal, InvalidOperation
from pathlib import Path
sums = defaultdict(Decimal)
with Path('sales.csv').open(encoding='utf-8', newline='') as f:
reader = csv.DictReader(f)
if not reader.fieldnames or not {'category', 'amount'}.issubset(reader.fieldnames):
raise SystemExit('CSV 必须包含 category,amount 表头')
for line_no, row in enumerate(reader, start=2):
category = (row.get('category') or '').strip()
if not category:
raise SystemExit(f'第 {line_no} 行 category 不能为空')
try:
amount = Decimal(row['amount'])
if not amount.is_finite():
raise InvalidOperation
except (InvalidOperation, TypeError):
raise SystemExit(f'第 {line_no} 行 amount 不是有限数字')
sums[category] += amount
for category, total in sorted(sums.items()):
print(f'{category}: {total:.2f}')
保存后在终端运行 python summarize.py,将输出逐行与手算结果核对;再测试缺表头、空文件、非法数字和负数。负数是否允许取决于退款等业务口径,模型不能替你决定。
先审查差异,再运行代码
- 确认代码只读预期 CSV,没有自行联网、删除文件或读取仓库中的其他数据。
- 检查异常处理是否指出行号,数字运算是否会引入浮点舍入误差。
- 逐个跑正常和异常样例。Agent 若执行了命令,仍要自己核对命令、退出状态和输出。
- 通过测试后再把逻辑接入真实项目,并把文件路径、编码、金额单位、重复表头等生产约束补进测试。
Gemini Code Assist 的界面和可用功能会随版本、账号和发布阶段变化。Google 当前 Agent mode 文档标注为 Preview;它会修改项目资源,且文档特别提醒 IDE 外部资源的改动不一定有撤销入口。本文没有在已登录的 Gemini 环境实测操作,菜单或授权提示若变化,以当前官方文档和 IDE 界面为准。
官方资料
Ai菜鸟网。发布者:AI小管家,转载请注明出处:https://www.alyyhw.com/32361.html