不打字也能写代码:Claude Code + 微信输入法语音开发实战

cover

你有没有过这种时刻——脑子里思路飞转,手指却跟不上?

写代码的时候,最痛苦的不是不知道怎么做,而是你已经想清楚了,还得一个字一个字敲出来。尤其是用 Claude Code 这类 AI 编程工具的时候,你的大部分工作其实不是写代码,而是用自然语言告诉 AI 你想干什么

这时候,打字就成了瓶颈。

最近我发现了一个组合拳:Claude Code + 微信输入法语音输入。长按一下 Fn 键,对着电脑说话,AI 就开始帮你干活了。试了一段时间之后,我觉得这可能是目前最被低估的开发效率提升方式。

Claude Code 的交互本质:不是写代码,是说话

如果你还没用过 Claude Code,简单说一下它跟 Copilot 的区别。

Copilot 是”代码补全”——你打几个字母,它帮你补完一行。Claude Code 完全不是这个路子。它跑在终端里,你给它一句话,它自己去翻代码库、改文件、跑命令,整个流程它自己串。

举个例子,我上周要把一个老项目里所有的 console.log 换成统一的 logger,换作以前我得全局搜索、逐个替换、跑测试。现在我就打一句”把所有 console.log 替换成 logger,保留原始日志级别,跑一下测试确认没挂”,然后去倒杯水,回来就搞定了。

所以你发现没有?用 Claude Code 写代码,80% 的时间你不是在写代码,你是在打字描述需求

那问题来了——既然核心交互是打字说人话,为什么不直接用嘴说?

微信输入法语音输入:被忽略的效率神器

微信输入法 Mac 2.0 加了语音输入,操作就两个:

  • 长按 Fn → 开始说话,松手结束
  • Fn + 空格 → 免提模式,按任意键结束

我第一次试的时候,随口说了一句”帮我写一个 React component,用 TypeScript,加上 useEffect hook”——本来以为中英文夹杂肯定识别不了,结果一个字没错,连 useEffect 的大小写都对了。

后来在星巴克也试过,旁边两桌人在聊天,居然也扛住了,识别率基本没掉。说话的时候文字实时蹦出来,没有那种”说完等三秒才出结果”的延迟感。而且不限时长,你可以一口气说两分钟的需求描述,不会被打断。

最关键的一点:它是系统级的输入法,不管你在终端、VS Code 还是浏览器里,长按 Fn 就能用。在 Claude Code 的终端输入框里也一样好使。

实战:语音 + Claude Code 的工作流

光说原理没意思,直接看我日常怎么用的。

场景一:需求描述

前天我要给博客加一篇新文章。以前我得在终端里敲一大串:

帮我在 source/_posts 目录下创建一篇新文章,主题是关于 Docker 部署最佳实践,要包含 frontmatter,标签用 Docker、DevOps、部署,分类用教程。

这段话打字要 30 秒。我长按 Fn 说出来,5 秒搞定,松手,文字直接出现在终端里。按回车,Claude Code 开始干活。

省下的 25 秒不算什么,但省下的是注意力——打字的时候你还得想拼写、想标点,说话的时候你只需要想内容本身。

场景二:代码审查反馈

审查代码的时候需要给修改意见。比如:

这个函数的错误处理不够完善,如果 API 返回 404 应该抛出自定义异常而不是返回 null,另外日志级别应该改成 warn 而不是 info。

这种句子打字很累,脑子想的和手打的节奏对不上。但说出来就很顺,像在跟同事对话一样。语音输入的甜蜜点就是这种20 字以上的自然语言描述

场景三:连续对话调试

调试的时候要跟 Claude Code 来回过招:

  • “运行一下测试看看哪些挂了”
  • “把第三个测试的断言改成检查数组长度”
  • “再跑一次,只跑失败的那几个”

说完一句,看结果,再说下一句。手不碰键盘,眼睛一直盯着输出。有一次我调一个接口超时的 bug,连续说了十几轮指令,从定位问题到修复完成大概十分钟,全程没打一个字。那种感觉有点像在指挥一个很听话的实习生干活。

语音 + Claude Code 工作流程

几个实用技巧

用了两周之后,踩了一些坑,也摸出了一些门道:

1. 复杂需求用免提模式

简单指令长按 Fn 就行。但如果你要描述一个多步骤的重构方案,按着 Fn 说一分钟手会酸。这时候用 Fn + 空格 进入免提模式,可以边想边说,按任意键结束。我重构认证模块那次就是免提模式说的——“帮我重构用户认证模块,第一把 JWT 验证逻辑抽成中间件,第二错误码统一用枚举,第三加上刷新 token 的逻辑”——一口气说完,比打字快了四五倍。

2. 先说目标,再说约束

刚开始用的时候我犯过一个错:想到哪说到哪,结果 Claude Code 拿到的指令乱七八糟,改出来的东西也不对。后来我养成了习惯——先说”我要干什么”,再说”有什么限制条件”。这个技巧不光对语音有用,打字的时候也适用。

3. 中英文随便说

“把这个 useState 改成 useReducer,然后加一个 dispatch action 叫 SET_LOADING”——这种中英文夹杂的句子,微信输入法识别得很准。不用停顿,不用切换,你怎么跟同事说话就怎么对它说。

4. 别想着完全替代键盘

短指令比如”y”、”继续”、”确认”,直接按键盘更快。语音输入的价值在中长句上。我的经验是:10 个字以内打字,10 个字以上说话,找到自己的节奏就好。

5. 有一次翻车了

有一回我想说”把这个 null check 去掉”,结果识别成了”把这个那个 check 去掉”,Claude Code 直接把好几处校验逻辑都删了。幸好有 git,一个 git checkout 就恢复了。从那以后我养成了习惯——说完之后先看一眼转写结果,确认没问题再按回车。安静环境下基本不会出错,但在嘈杂的地方,最好用耳机麦克风。

为什么这个组合被低估了

Andrej Karpathy 说”最热门的编程语言是英语”,国外围绕这个概念已经出了一堆工具——Wispr Flow、Serenade、Talon,一个比一个贵,还都是为英语优化的。

但中文开发者其实有一个更好的选择,只是大部分人不知道。微信输入法的语音功能完全免费,而且中文识别效果吊打这些国外工具。这不奇怪——微信每天处理几十亿条语音消息,中文语音识别是它的看家本领。

我试过 macOS 自带的听写功能,中英文混合的时候经常翻车。微信输入法在这方面甩它好几条街。而且不用注册、不用付费、不用配置,装上就能用。

局限性:语音不是万能的

说实话,语音输入不是什么场景都好使。

你试试用嘴说一个正则表达式:^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$——光是念出来就够呛,更别说让输入法识别了。还有就是,在办公室对着电脑说话,旁边同事的眼神会让你压力很大。

我的结论很简单:语音负责”说需求”,键盘负责”写细节”。 两者配合着来,才是最顺手的状态。

写在最后

昨天晚上写代码写到十一点多,手腕酸得不行。切到语音输入之后又多撑了一个小时,把剩下的三个 bug 全修完了。就是那个时候我决定写这篇文章的——这么好用的东西,不应该只有我一个人知道。

整套方案零成本:微信输入法免费,Claude Code 你本来就在用。装个输入法,按一个键,就这么简单。

第一次用可能会不习惯,毕竟程序员都习惯了闷头打字。但你试一次就知道了——用嘴说需求,比用手打需求,爽太多了。

你平时用 Claude Code 的时候,一般怎么输入需求?有没有试过语音?评论区聊聊。