Skip to content

VS Code 扩展 / JetBrains 插件使用文档 ​

CodeWave IDE 是一款集成在 VS Code 与 JetBrains IDE(WebStorm、IntelliJ IDEA 等)中的 AI 辅助编程插件,两者共享同一聊天界面。本文档介绍插件的安装登录与差异化能力,其余 AI 能力与桌面端保持一致,详见 桌面端产品文档。

快速入门 ​

VS Code 扩展 ​

在 VS Code 扩展市场搜索 CodeWave IDE(扩展 ID:wave-codechat.wave-vscode)安装。安装后可通过三种方式打开聊天面板:

  • 侧边栏:点击活动栏的 CodeWave IDE 图标在侧边栏打开,或命令面板(Cmd/Ctrl+Shift+P)执行「在侧边栏打开代码智聊」。
  • 新标签页:执行「在新标签页打开代码智聊」,在编辑器区域以标签页形式打开,可与文件并排查看。
  • 新窗口:执行「在新窗口打开代码智聊」,在独立窗口打开,适合多显示器并行使用。

打开聊天面板点击欢迎页的「登录」按钮完成 SSO 登录。

未登录欢迎页

JetBrains 插件 ​

在 JetBrains 插件市场(IDE「设置 → 插件」)搜索 CodeWave IDE 安装。打开聊天面板点击欢迎页的「登录」按钮完成 SSO 登录。

代码补全 ​

在编辑器里写代码时,Wave 会在光标停顿时给出行内续写建议(灰字幽灵文本):建议只是预览,不写入文件、不进撤销栈,按 Tab 采纳才会落到文档里。该能力由插件端提供(VS Code / JetBrains),补全请求与聊天互不排队——补全不会拖慢正在进行的对话。

  • 触发方式:自动(输入停顿后请求,等待时长随补全服务近期延迟自适应,约 0.1–1 秒)或手动立即触发(VS Code 默认 Alt+\,走平台内置的 editor.action.inlineSuggest.trigger,跳过等待;JetBrains 侧复用平台的行内补全触发动作,按键以 IDE 键位为准)。
  • 上下文范围:光标前最多 150 行、光标后最多 30 行,拼起来总长上限 12000 字符,超出时从离光标最远处截断;不建代码库索引,也不做全文检索。除此之外两端还会带上光标处符号的定义、本文件 import 进来的符号的定义(VS Code 另含光标所在函数/类的声明),统共最多 3 段、采集超过 100ms 就放弃这一部分照常请求。
  • 跨文件定义怎么找:VS Code 侧先用本地语法解析(TS / TSX / JS / JSX / Python / Java,其它语言不带跨文件片段)挑出值得问的符号,再交给语言服务定位定义;JetBrains 侧把 import 行里的标识符和光标前后的引用交给 IDE 自己的引用解析,因此只受该语言插件是否有 PSI 支持限制。两端都不带同文件内的定义——那份代码已经在光标前缀里了。
  • 超时:单个请求 3 秒,超时按「没有建议」静默处理——更晚的建议对正在打字的人已没有价值。
  • 不提供补全的情况:只读 / 不可写文件;未命名缓冲区与非 file 协议的虚拟文档(设置页、计划预览、SCM 与 diff 视图、notebook 单元格等);光标处有选区或多个光标;文件过大(VS Code 超过 20000 行或 1MB,JetBrains 超过 1MB);文档处于合并冲突 / 内联差异等特殊渲染状态。同一时刻只有聚焦的那个编辑器持有请求,切换编辑器会取消。
  • 会话前提:补全用的模型与网关凭据都来自 CLI 侧的会话,所以扩展未激活(本次启动还没打开过 Wave 聊天面板)时不显示补全——避免为了补全在每次 IDE 启动时都拉起一个 CLI 进程。
  • 隐私:光标前后的代码片段,以及上述几段跨文件定义,会随请求发到你已配置的模型服务(与对话同一个网关和凭据);不会上传整个文件或整个仓库。

也就是说,你在 B 文件里就能用上 A 文件里那个你还没看过的函数。比如:

ts
// helper.ts —— 第一个参数是个对象,字段名只有这里有
export type Money = { cents: number; currency: string };

export function formatPrice(money: Money, locale = "zh-CN"): string { /* … */ }

// answer.ts —— 只有 import,没有定义,也不知道 Money 长什么样
import { formatPrice } from "./helper";

const amount = 1999;
const currency = "CNY";
const label = ▍ // ← 建议给出 formatPrice({ cents: amount, currency }, "zh-CN")

实际效果——answer.ts 里既没有 cents 这个名字,也不知道第一个参数该传什么形状,补全(灰色部分,按 Tab 接受)直接把 amount、currency 组装成 { cents, currency },连第二个参数的默认值一起给全:

VS Code:在只 import、没有定义的文件里,补全按另一个文件的定义组装出了参数

补全默认跟随「快速模型」;你也可以在设置页「全局设置 → 基础设置」里单独指定补全专用模型、或用开关整体关掉补全(关闭后不再发起任何补全请求,也不消耗模型调用):

设置页:补全与下一步编辑建议开关、补全模型

下一步编辑建议 ​

补全管的是「光标处往下写什么」,下一步编辑建议管的是「你刚改的那处,别处还该跟着改」:改完一个字段名、多加一个参数之后,Wave 会看你这几笔改动,预测同一文件里下一处该改的代码,给出可直接采纳的重写——可以只改几行,也可以是删掉几行。

默认关闭,可在设置页「全局设置 → 基础设置 → 下一步编辑建议」打开。它用的模型与补全相同(默认跟随快速模型),请求与对话、补全都不互相排队。

  • 触发:每次编辑后停顿约 0.2 秒请求一次;单个请求 3 秒超时,超时或模型没给出可用的重写就当作这次不提示。
  • 建议从哪来:最近几笔改动里被删掉的与新增的文本、光标上下各 5 行(模型可以改写的范围),以及范围外再 40 行只读上下文与文件路径。
  • VS Code 怎么显示与采纳:建议要改的正是光标所在处时,与补全一样显示灰字,Tab 采纳;不在光标处时,在被改的那几行上划掉旧行、行尾预览新文本,并在光标所在行给出提示,按 Ctrl+Alt+Enter 采纳、Ctrl+Alt+] 跳到建议处。
  • JetBrains 怎么显示与采纳:在被改的代码旁弹出差异浮层,Tab 或 Ctrl+Alt+Enter 采纳,Esc 拒绝。
  • 采纳前不写入:提示只是预览,不碰文档、不进撤销栈;采纳时只替换建议里那几行,并且是一次独立的撤销步骤。
  • 不提示的情况:最近 30 秒没有任何编辑;文件只读;光标处有选区或有多个光标;文件过大;本次启动还没打开过 Wave 聊天面板(模型与凭据来自会话)。
  • 隐私:与补全同一条链路——只有上述编辑片段、光标附近的代码与文件路径会随请求发到你已配置的模型服务,不会上传整个文件或整个仓库。

VS Code:被改的行划掉旧文本、行尾预览新文本,光标所在行给出采纳提示

JetBrains:要改的那行直接在代码上划掉,浮层给出替换写法,Tab 接受、Esc 拒绝

画廊 ​

1. 核心聊天体验 ​

2. 智能输入与上下文 ​

3. 代码理解与操作 ​

4. 权限与安全 ​

5. 任务管理 ​

6. 多 Agents 与并发 ​

7. 能力扩展 ​

8. 会话与持久化 ​

在输入框中输入 /resume 可打开与顶部「历史对话」按钮完全相同的会话列表(范围一致:当前工作区目录,含命令行在同一目录创建的会话),不用离开聊天面板即可切换会话。

聊天面板顶部的会话标题也可以直接点击改名:标题就地变成输入框并全选原文,Enter 或点击别处保存、Esc 取消;保存失败时回滚为原标题并给出可见提示。标题以 custom-title 保留条目写在会话自己的 JSONL 文件里,因此与命令行、桌面端读到的标题一致——命令行 /rename、选择器内 Ctrl+R 改过的名字,在插件端头部也会显示。

9. 配置管理 ​

10. 插件系统 ​