翻倍代码编写速度的关键在于将重复决策自动化。使用copilot生成整块逻辑、配置vs code代码片段、优化eslint/prettier协作,能显著减少查文档、重写、类型错误等耗时操作。

代码编写速度不会靠“更快敲键盘”翻倍,真正拖慢你的,是反复查文档、重写相似逻辑、在 IDE 里点来点去找函数、以及修复本可避免的类型错误。翻倍的关键,在于把「重复决策」变成「自动执行」。
用 vscode + TabNine 或 GitHub Copilot 补全整行/整块逻辑,而不是只补变量名
很多人装了 Copilot 却只让它补函数名或参数,这浪费了 80% 能力。它真正省时间的地方,是根据注释或上下文生成完整语句块。
- 写
// fetch user by id and log error if not found后按Ctrl+Enter(Copilot 默认快捷键),它大概率直接生成带try/catch和console.error的完整调用 - 在 React 组件里输入
useMemo(() => {,接着打// filter active items,再触发补全,它常能推断出items.filter(item => item.active)这类表达式 - 别接受第一版建议——按
Alt+[/Alt+]切换多个候选,选最贴合当前数据结构和命名风格的那条 - 禁用「自动插入」模式(设置里关掉
editor.suggest.insertMode),手动确认每一条,避免把data.map错补成data.forEach
把高频操作录成 VS Code 用户代码段(snippets),而非依赖记忆
你每周至少写 5 次的 useEffect 清理函数、axios 请求封装、或 zod schema 定义,不该靠手敲。VS Code 的代码段支持变量占位和顺序跳转,比任何模板插件都轻量可靠。
- 在用户代码片段文件(
code --open-user-snippets→ 选javascript.json或typescriptreact.json)里加一段:
"zod object": {
"prefix": "zodobj",
"body": ["z.object({", " $1: z.$2(),", " $3: z.$4(),", "})"]
}
- 输入
zodobj+Tab,光标会依次停在$1(字段名)、$2(类型如string或number)等位置,不用打断思路去写引号和逗号 - 别塞太多嵌套逻辑进 snippet——比如「生成一个带 loading/error 状态的 React Query hook」这种,应拆成
useQuery基础 snippet + 单独的useQueryStatesnippet,组合更灵活 - JSX 中慎用含
{}的 snippet,VS Code 对 JSX 内大括号解析不稳定,容易错位
用 eslint + prettier + save without format 配合,让格式化不打断编码流
手动格式化、或者保存时卡顿 1 秒以上,都会打断思维节奏。问题不在工具本身,而在触发时机和配置粒度。
- 关掉 VS Code 的
editor.formatOnSave,改用editor.codeActionsOnSave只在保存时运行source.fixAll.eslint—— 它比 Prettier 快,且只修 ESLint 覆盖的规则(如分号、引号、no-unused-vars) -
prettier改为仅在提交前通过Husky+lint-staged运行,避免编辑时干扰 - 在
.eslintrc.cjs中显式关闭与 Prettier 冲突的规则,例如:"no-mixed-spaces-and-tabs": "off"、"quotes": "off",否则 ESLint 会报错又不自动修 - 如果团队用 Prettier,本地开发时可临时加
// eslint-disable-next-line prettier/prettier跳过某行,比等格式化完成快得多
真正卡住编码速度的,从来不是语法生疏,而是每次都要重新决定「这里该用 map 还是 forEach」「这个 API 返回的是 Promise 还是直接值」「useState 初始化该用 null 还是 undefined」。把这些决策收口到工具链里,比练十小时盲打有用得多。










