最近几年,AI 辅助编程领域发展迅猛,各种AI辅助编程软件层出不穷。从 GitHub Copilot 到 ChatGPT、Claude、Cursor 等工具,不知道你是否体验过?最近,这个领域又迎来了一位重量级选手:Windsurf AI编辑器。Windsurf AI编辑器希望带给你魔法般的体验,就像你第一次使用ChatGPT时的那种惊艳感觉。本文将深入介绍Windsurf AI编辑器的各个方面,包括主要的产品特性、使用说明、实际案例和最佳实践。
什么是 Windsurf AI编辑器,它能做什么?
Windsurf 是一款集成了AI能力的代码编辑器,或者用创始人的话来说,是世界上第一款具有 AI Agent 能力的 IDE(the world’s first agentic IDE)。Windsurf AI 编辑器基于开源的 VS Code 编辑器构建,因此它支持VS Code已经支持的所有编程语言,并兼容VS Code的插件生态。Windsurf AI编辑器使用 OpenAI 的GPT 4o和 Claude 3.5 Sonnet 等大模型作为其提供核心 AI 能力,此外他们还提供了自研了 Cascade Base、Codeium Fast 模型,带给用户多种选择。
Windsurf 提供的主要功能有代码自动补全、甚于深度上下文感知的 AI 代码生成、类似 AI Agent 一样的自动多步骤操作以解决复杂问题的能力等。创始团队希望 Windsurf 既可以像 Copilot 一样与开发者默契配合,不喧宾夺主,又可以像 AI Agent 一样拥有独立解决复杂问题的能力,创始团队把这种体验称之为 “Flows”,希望 Windsurf 给代码开发者如流水般丝滑顺畅的体验。
主要功能
- Cascade AI 智能助手:Cascade 具有 AI Agent 能力,可以自动对你给出的命令进行分析和拆解,同时扫描项目中的代码一步一步完成复杂的任务。
- 自动补全:自动预测你接下来准备写的代码,一键补全。
- 超级补全:基于上下文以及意图感知的预测,不仅仅是新增代码,还包括对于已有代码的前后一致的修改建议。
- 编辑器内聊天:可以可以用于小段代码的解释、重构、生成注释或文档。
- 指定特定文件或代码作为上下文,可以在 Cascade 中输入
@
,然后就可以选择特定的文件,目录或者代码块作为上下文,和 AI 聊天时可以做到更加精准的上下文控制。 - 深度上下文感知与理解与实时深度意图感知:Windsurf 融入了 Codeium 几年来在这个领域的积累,可以对代码库进行深度扫描和理解,从而结合项目代码给出更有效的输出和建议。
- 自动提示你执行相关命令行操作。比如你要求 Windsurf 完成某个功能,这个功能需要用到某些第三方依赖,Windsurf 会自动修改好相关文件,然后提示你执行安装依赖的命令,你只需要点击一下确认执行即可。
- 多文件同时修改功能。可以同时修改多个文件,同时保证对多个文件的修改是保持一致的。
- 代码透镜。顶部的面包屑导航中会展示解释(Explain),重构(Reactor),Add Docstring(添加文档注释)等快捷操作,方便你一键执行相关操作。
- 命令行 Chat:在命令行也可以使用 Chat 功能,让 AI 帮你一键生成准备执行的命令,省去自己编写或者使用搜索引擎查询的麻烦。
深度功能介绍
Cascade 概览
Cascade 是 Windsurf 给其 AI 助手取的一个名字,Cascade 拥有代码库深度理解能力,高级的内置工具使用能力,用户意图实时感知能力,通过这些能力的结合,Cascade 希望能够带给开发者瀑布般自然流畅的体验。
点击 Windsurf 编辑器菜单栏右上角的 Cascade 图标就可以打开 Cascade 窗口,如下图所示
Cascade 主要有两大模式,纯聊天模式(Chat Mode)和编辑模式(Write Mode)。如下图所示:
Write Mode
Chat Mode
点击 Write/Chat with Cascade 上边的图标可以在两种模式中进行切换。也可以点击聊天框下方的切换按钮或者使用快捷键进行切换。(Windows 为 Ctrl
+ .
,Mac 为 ⌘
+ .
)
在编辑模式下,Cascade 可以执行修改代码,编辑已有文件,添加新文件等操作,适合执行一些和实际编写代码相关的一些操作。
在聊天模式(Chat Mode)下,Cascade 只会在聊天窗口进行回复而不是直接尝试修改文件,适合询问一些和代码本身无关的问题或者不希望 Cascade 直接修改代码的场景。
Cascade 深度上下文感知能力
Cascade 的深度上下文感知能力来源于 Windsurf 创始团队 Codeium 在相关领域几年研究经验的积累。通过深度上下文感知,即使是面对生产环境的大型代码库,Cascade 依然可以做到让 AI 深度参考项目中相关的代码生成结果和建议,而不是仅仅根据 AI 自己本身的知识库。
下边有一段视频示例,从示例中我们可以看出,Cascade 会像 AI Agent 一样对自己面对的任务进行分析并分步骤操作,先找出项目中和本次任务相关的内容,然后一步一步完成要求。
Cascade 自动命令行操作建议
在 Cascade 以 AI Agent 一样的方式帮你写代码的过程中,如果发现中途需要执行某些命令行操作之后才能正常继续,Cascade 会直接在聊天窗口中提示你要执行的命令并求情你的允许。你只需要点击确认执行即可让 Cascade 继续执行,Cascade 会自动读取执行之后得到的结果并基于结果进行下一步操作。
Cascade 实时深度意图感知
一般情况下,我们写代码并不是百分百的时间都需要使用 AI 帮忙。更多的时候,我们可能是自己写一会儿,然后让 AI 帮助一下,然后再自己完成一些逻辑。如果是 AI 辅助编程工具对于这种情况没有优化,就很可能会因为缺少上下文而无法给出更好的结果,Windsurf 给 Cascade 加上了强大的推理能力,结合用户当前的操作深度分析用户意图,无论你何时需要 Cascade 的帮助,Cascade 总是能更准确地理解你当前想要做什么。这在很多时候可以让你省去麻烦,不必再反复向 AI 复述你刚刚做了什么接下来想做什么。当然,对 AI 给出更清晰的要求总是好的,但是有时候如果能省去一些麻烦,不是更好吗?
Cascade 多文件同时修改
对于简单的任务,往往只需要在单个文件中编写和修改。但是对于一些复杂的任务,往往是涉及多个文件,多种不同类型的文件的修改。对于 AI 辅助编程工具来说,不仅仅要知道应该修改哪些文件的同时,同时还要保证对不同文件的修改是前后一致、相互呼应的。Cascade 凭借其深度上下文感知能力、像 AI Agent 一样分步骤完成工作的能力就能很好地实现这一点。
自动补全
自动补全功能可以对你接下来准备写的代码进行预测,不仅仅可以进行单行代码的预测,还可以生成大段的预测代码。在 Windsurf 诞生之前,Codeium 已经在这里领域有好几年的积累了,现在这个能力被直接内置到了 Windsurf 编辑器中。
超级自动补全
为什么有了自动补全还要有超级自动补全呢?因为自动补全属于“只增”类型的预测,只会帮你预测准备新增的代码。而超级自动补全,可以在你编写或者修改代码的同时,预测有哪些相关的代码需要修改。比如,当你修改了一个字段名的时候,超级自动补全可以自动检测到所有用到的这个变量名的地方并建议你进行修改,你只需要使用 Tab 键一键接受既可。超级自动补全的时机是 Windsurf 根据上下文智能预测的,只要符合一些条件,就会自动触发提示。一些常见的会触发的场景除了上边举的例子之外一,还有修改类型定义时,有拼写错误时,可能要给表单绑定事件处理函数时等场景。
编辑器内聊天辅助
你可以在编辑器内直接通过快捷键(Windows 为 Ctrl
+ I
,Mac 为 ⌘
+ I
)在任意位置打开内联的聊天窗口。
或者,当你选中一段代码之后,选中代码的旁边会有自动的气泡提示。
命令行 AI 聊天
除了在写代码时可以使用 AI 协助,在命令行操作中也可以让 AI 为你生成一些忘记的命令行操作,这在有些时候可以省去一些查找资料的麻烦。但是这里温馨提醒一下,AI 生成的命令也可能是有缺陷的,一定注意确认后再执行哦。
代码透镜
在菜单栏的最上方,有一些常用操作的按钮,比如解释代码,重构,添加文档注释,点击即可一键执行。
常见问题
Windsurf 和别的 AI 代码编辑器(比如 Cursor、Cognition)有什么区别?
都是 AI 辅助编程软件,但是在产品形式和可用性上会有差别。
举个例子,拿 Cognition(Devin) 来说,Cognition 是独立于 IDE 之外的,更加倾向于让 AI 独立完成复杂的大型任务,而不是和开发者实时协作。
如果和 Cursor 对比,Cursor 的 Composer 也可以像 AI Agent 一样执行复杂的任务,但是 Cursor 目前还没有很大规模的宣传和推广。就作者的体验而言,凭借于 Codeium 在深度代码上下文理解领域几年的积累,在面对复杂任务和大型代码库时,Windsurf 可能会更有优势一些。
Windsurf 免费吗?
Codeium 在他们的网站中说,他们预计会允许用户免费使用 Cascade 的很多功能,但是由于成本原因,更全面的能力只能付费使用。但是目前新用户注册有两周的免费试用期,可以先去体验一下。