跳到主要内容

使用IDE和CLI混合工作流进行AI编程

·143 字·1 分钟

最近读了一篇文章 I Finally Tried Cursor CLI After Weeks of Ignoring It,讲述了作者从完全依赖 IDE 转向 CLI 与 IDE 混合使用的经历,总结一下。

为什么一直用 IDE #

用 IDE 的理由很直接:

  • 文件树、代码、终端、Git 变更,所有信息一屏呈现
  • 鼠标点击跳转,操作直觉,上手快
  • 语法高亮、自动补全、内联报错、调试工具,功能完整
  • 用久了形成肌肉记忆,切换成本高

终端主要用于执行命令,IDE 里本来就有内置终端,需要跑命令直接在里面跑就行了,没必要单独开一个窗口。

真正去试了 CLI 之后 #

作者某天出于好奇,打开终端,用 Cursor CLI 生成了一个简单函数。命令发出去,代码出来了,没有任何多余的步骤。他又试了几次,然后就回不去了。

他总结了三点感受:

速度快。 CLI 的响应几乎是即时的,不需要等界面渲染、面板刷新、复制粘贴。每次迭代大约节省 15 秒,一个开发会话下来能省好几分钟。时间本身不是关键,关键是更低的摩擦让人更愿意频繁尝试。

更专注。 IDE 界面上同时有文件树、Git 面板、AI 聊天窗口、各种通知,即使不需要,它们也在视野里。CLI 只有提示词和输出,没有其他干扰,更容易进入心流状态。

更直接。 IDE 里用 AI 生成代码的流程是:打开聊天面板 → 输入 → 等待 → 查看输出 → 复制 → 切回编辑器。CLI 是:输入 → 得到代码。少了好几个中间步骤。

CLI 适合做什么 #

在实践中总结出了 CLI 比较适合的场景:

  • 从零编写新代码:新函数、新组件、新模块,描述清楚需求,直接拿到代码,快速迭代
  • 生成一次性脚本:备份脚本、文件处理脚本、正则表达式,不需要打开完整项目
  • 探索多种方案:让 CLI 同时给出三种实现思路,快速比较,再去 IDE 里落地

这些场景的共同点是:任务明确、自包含、不需要太多上下文。

IDE 还是不可替代的 #

CLI 没有取代 IDE,只是补充了它。有几类任务,IDE 的优势是 CLI 无法弥补的:

调试。 可视化断点、逐行步进、变量监视、调用栈查看,这些工具在终端里做起来很笨拙。遇到 bug,还是得回到 IDE。

重构。 全局重命名、查找所有引用、可视化 Diff,这些操作需要看到改动在整个代码库里的影响范围,IDE 的视觉上下文是必要的。

大型项目导航。 几十上百个文件的项目,需要文件树、多标签页、跨文件 Git 变更视图,CLI 的专注反而成了局限。

阅读和理解代码。 语法高亮、代码折叠、结构化的视觉呈现,让阅读已有代码更轻松。

混合工作流 #

作者最终形成的工作流大概是这样:

CLI 生成初始代码
     ↓
IDE 集成到现有代码库
     ↓
CLI 迭代优化具体函数
     ↓
IDE 调试、清理、提交

决策逻辑也很简单:

场景工具
新建功能/函数CLI
快速脚本CLI
探索方案CLI
调试问题IDE
重构代码IDE
大型项目导航IDE
阅读理解代码IDE

一点感想 #

这篇文章让我想到一个普遍的问题:习惯用的工具不一定是最合适的工具。

IDE 用久了,会觉得它是唯一正确的选择。但工具本身没有高下,只有适不适合当前的任务。CLI 的速度和专注适合生成新代码,IDE 的视觉上下文适合理解和修改已有代码。两者结合,比单独用任何一个都要好。

如果你也是 IDE 重度用户,可以试着从一个小场景开始,比如只用 CLI 来生成工具函数,坚持一周,看看有没有什么变化。