Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>lava-auto-codeNew to Visual Studio Code? Get it now.
lava-auto-code

lava-auto-code

yonyou auto

|
1 install
| (0) | Free
VS Code workflow entry for lava-auto-code Lava project setup.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

lava-auto-code

lava-auto-code 是一个面向公司 AI coding 流程的 VS Code 扩展原型。它把开发者进入工作流的第一段流程收敛到 VS Code 内:登录门禁、环境预检、Lava 工作区识别与项目初始化。当前版本是扩展基础版,后续 PRD 导入、设计生成、任务拆分、Claude Code prompt 交接、构建验证和发布流程仍是占位能力。

项目定位

公司的目标是在不建设重型 AI Workflow 平台的前提下,把标准化研发流程落到开发者本地 VS Code 工作区。lava-auto-code 作为公司插件入口,负责流程状态、环境检查、项目上下文和后续发布验证;代码生成阶段计划交给 Claude Code 等本地 coding 工具承载。

当前实现聚焦 MVP 基础能力:

  • 提供 VS Code Activity Bar 中的 lava-auto-code 侧栏入口。
  • 未登录时侧栏展示登录页,登录后侧栏展示身份信息和流程步骤。
  • 在 VS Code 编辑器内容区打开详情页签,展示当前步骤的详细操作页面。
  • 使用 mock session 模拟企业登录,后续可替换为真实 SSO。
  • 在项目操作前检查必需 VS Code 插件和本地工具链。
  • 扫描当前工作区第一层目录中的 Lava server/web 项目结构。
  • 采集参数并创建最小 Lava 项目结构。
  • 将 PRD、设计、任务、验证和发布流程展示为后续占位入口。

技术栈

模块 技术
VS Code 扩展主进程 TypeScript, VS Code Extension API
Webview UI Vue 3, Vite, TypeScript
单元测试 Vitest, Vue Test Utils, jsdom
构建与打包 TypeScript, Vite, vsce
XML 解析 fast-xml-parser

运行要求:

  • Node.js 20 或兼容版本
  • npm
  • VS Code 1.90.0+
  • Git
  • Java
  • Maven
  • Gradle 可选

功能说明

1. 登录门禁

MockAuthProvider 使用 VS Code SecretStorage 保存本地 mock session。用户输入任意非空企业账号和工作空间即可登录,退出登录会清除 session、环境预检结果和已识别项目。

该实现只用于第一版产品状态验证,不具备真实权限控制。真实 SSO 可通过替换 AuthProvider 接口实现。

2. 环境预检

环境预检由 EnvironmentPreflightService 执行,检查结果会决定项目扫描和初始化是否可用。

必需 VS Code 插件:

  • lava-auto-code 自身
  • Claude Code,支持 anthropic.claude-code 和 claude.claude-code
  • Java / Spring Boot 开发支持,支持 vscjava.vscode-java-pack 和 vmware.vscode-spring-boot

本地工具链:

  • git --version
  • java -version
  • mvn -version
  • gradle -version,可选,缺失时只提示 warning

必需 Skill 会检查当前用户主目录下的 Claude Code 目录:

  • ~/.claude/skills/db-design-guide/SKILL.md
  • ~/.claude/skills/lava-backend-guide/SKILL.md
  • ~/.claude/skills/lava-frontend-guide/SKILL.md

缺少 VS Code 插件时,界面会打开 VS Code 扩展搜索入口;本地命令失败时会展示失败原因并允许重新检查。

3. Lava 工作区扫描

LavaWorkspaceScanner 会从当前 VS Code workspace folder 开始,只检查当前根目录和第一层文件夹。只要某个目录的直接子目录同时包含 *-server 和 *-web,就会识别为一个 Lava 工作区项目。

例如目录结构如下时:

lava-order-admin/
├── lava-order-admin-server/
└── lava-order-admin-web/

扫描结果会显示第一层文件夹名称 lava-order-admin。扫描时会跳过 node_modules、target、build 和 .git 目录。识别成功后会展示:

  • 项目名称
  • 根路径
  • Git remote
  • server/web 结构摘要
  • 技术栈摘要
  • 识别置信度

该扫描面向多微服务工作区,不要求用户在 PRD 导入前选择单个项目。

4. Lava 项目初始化

LavaProjectInitializer 支持采集项目元数据并在当前 workspace root 下创建最小项目结构。

表单字段包括:

  • Git 仓库地址
  • 项目名称
  • Artifact ID
  • Group ID
  • 基础包名
  • Java 版本
  • Spring Boot 版本
  • 构建工具,Maven 或 Gradle
  • 服务端口
  • Lava 核心组件

Maven 项目会生成 pom.xml、src/main/java 包目录和 src/main/resources。Gradle 项目会生成 settings.gradle、build.gradle 和相同源码目录。当前只是最小结构,不是完整企业脚手架。

目录结构

.
├── src/
│   ├── auth/                 # AuthProvider 抽象和 mock 登录实现
│   ├── environment/          # 环境预检和命令执行
│   ├── lava/                 # Lava 项目扫描和初始化
│   ├── shared/               # extension 与 webview 的共享协议类型
│   ├── webview/              # VS Code Webview Provider
│   └── extension.ts          # 扩展激活入口
├── webview-ui/
│   ├── src/
│   │   ├── components/       # Vue 工作台组件
│   │   ├── App.vue           # Webview 根组件和状态流转
│   │   └── main.ts
│   ├── vite.config.ts
│   └── tsconfig.json
├── prototype/                # 静态原型保留目录
├── openspec/                 # OpenSpec 变更说明、设计和任务
├── resources/                # 扩展图标等资源
├── dist/                     # 构建输出
├── package.json
├── tsconfig.json
├── tsconfig.extension.json
└── vitest.config.ts

快速开始

安装依赖:

npm install

运行类型检查:

npm run typecheck

运行测试:

npm test

启动 Webview 本地预览:

npm run dev

侧栏预览默认打开在 /,详情页签预览可访问 /?surface=detail。

构建扩展和 Webview:

npm run build

打包 VSIX:

npm run package

打包成功后会生成:

dist/lava-auto-code-0.1.5.vsix

开发命令

命令 说明
npm run dev 启动 Webview UI 的 Vite 本地预览,使用浏览器 mock 的 VS Code API
npm run build 先构建 Webview,再编译扩展主进程
npm run build:webview 使用 Vite 构建 Vue Webview 到 dist/webview
npm run build:extension 使用 tsc 编译扩展代码到 dist/extension
npm run typecheck 同时检查扩展和 Webview 类型
npm run typecheck:extension 只检查扩展 TypeScript
npm run typecheck:webview 使用 vue-tsc 检查 Webview
npm run lint 当前等同于 npm run typecheck
npm test 运行 Vitest 单元测试
npm run package 构建并使用 vsce 打包 VSIX

在 VS Code 中调试

  1. 运行 npm install。
  2. 运行 npm run build,确保 dist/webview 和 dist/extension 已生成。
  3. 在 VS Code 中打开项目根目录。
  4. 启动 Extension Development Host。
  5. 在新窗口 Activity Bar 中打开 lava-auto-code。
  6. 登录后在侧栏点击流程步骤或详情按钮,在编辑器内容区打开 lava-auto-code 详情页签。
  7. 也可以执行命令 lava-auto-code: Open Workbench 打开侧栏并聚焦详情页签。

如果 Webview 中提示 请先运行 npm run build:webview,说明 Webview 静态资源还没有构建。

工作流状态机

当前工作台状态由 extension host 管理,并通过 message protocol 同步到侧栏 Webview 和编辑器详情 WebviewPanel。

login
  -> environment
  -> project
  -> workspace-ready

状态说明:

  • login:未登录,只展示登录页。
  • environment:已登录,等待或展示环境预检结果。
  • project:环境已通过,但还没有已准备 Lava 项目。
  • workspace-ready:已扫描或创建至少一个 Lava 项目。

受保护操作会在 extension host 中再次校验 session 和环境状态,避免只依赖前端按钮禁用。

登录后 UI 分为两个 surface:

  • 侧栏:显示账号、工作空间、当前项目摘要、流程步骤、打开详情页签和退出登录。
  • 详情页签:显示环境预检、Lava 项目准备,以及后续流程的详细页面。

侧栏点击流程步骤时会打开或聚焦详情页签,并由 extension host 更新共享 stage。详情页签内运行预检、扫描或创建项目后,侧栏步骤状态会同步更新。

Extension 与 Webview 通信

共享协议位于 src/shared/protocol.ts。

Webview 发往 Extension 的消息包括:

  • ready
  • login
  • logout
  • openDetailPanel
  • navigateStage
  • runPreflight
  • installDependency
  • scanWorkspace
  • createProject
  • openPrdPlaceholder

Extension 发往 Webview 的消息包括:

  • state
  • toast

测试覆盖

当前测试重点覆盖:

  • mock 登录校验、session 保存和退出登录
  • 环境预检依赖状态、缺失插件和可选 Gradle warning
  • Maven / Gradle Lava 项目扫描
  • 无 Lava 项目时返回空列表
  • Vue 登录、侧栏导航、详情页渲染和工作台组件基础交互
  • 扩展端详情页签单例打开和多 Webview 状态广播

运行:

npm test

打包和安装

生成 VSIX:

npm run package

在 VS Code 中安装:

code --install-extension dist/lava-auto-code-0.1.5.vsix

安装后可以通过 Activity Bar 中的 lava-auto-code 图标进入侧栏工作台,也可以执行命令:

lava-auto-code: Open Workbench

退出登录命令:

lava-auto-code: Logout

当前边界

当前版本不包含以下能力:

  • 真实 SSO、用户权限、团队或 workflow 版本接口
  • 公司后端或模型网关调用
  • PRD 上传和解析
  • 概要设计、详细设计和任务拆分生成
  • Claude Code prompt 生成或自动发送
  • Claude Code 会话状态监听
  • 自动构建、测试、打包和发布
  • 完整 Lava 企业脚手架模板
  • 本地 workflow / skill pack 缓存、签名和加密

这些内容已在 2026-06-01-ai-coding-workbench-requirements.md 和 openspec/changes/add-auto-code-plugin-foundation/ 中作为后续规划方向保留。

后续演进方向

  • 将 MockAuthProvider 替换为真实 SSO provider。
  • 接入公司后端,获取用户、项目、团队、workflow pack 和权限。
  • 实现 PRD 导入、hash 记录和任务上下文创建。
  • 通过公司模型网关生成设计文档、任务拆分和一次性 coding prompt。
  • 调研 Claude Code VS Code 插件可用的 URI 或命令入口,支持 prompt 交接。
  • 在用户标记编码完成后执行 git diff、构建和测试命令。
  • 将验证结果、diff 摘要和发布状态回写流程数据。

相关文档

  • 2026-06-01-ai-coding-workbench-requirements.md:AI coding workbench 的完整需求框架。
  • openspec/changes/add-auto-code-plugin-foundation/proposal.md:当前基础版本的变更提案。
  • openspec/changes/add-auto-code-plugin-foundation/design.md:当前基础版本的架构设计和取舍。
  • openspec/changes/add-auto-code-plugin-foundation/tasks.md:当前基础版本的任务清单。
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft