yiliang114
4ad377b0d8
chore(vscode-ide-companion): update lock
2025-11-24 10:04:03 +08:00
yiliang114
b7f9acf0ff
refactor(vscode-ide-companion): migrate session save to CLI /chat save command
...
- Replace manual checkpoint file writing with CLI's native /chat save command
- Add saveCheckpointViaCommand method to use CLI's built-in save functionality
- Deprecate saveSessionViaAcp as CLI doesn't support session/save ACP method
- Update saveCheckpoint to delegate to CLI command for complete context preservation
- Enhanced error logging in acpSessionManager session load
- Mark saveSessionViaAcp as deprecated with fallback to command-based save
- Fix ESLint errors: remove unused imports and catch variables, wrap case block declarations
This ensures checkpoints are saved with complete session context including tool calls,
leveraging CLI's native save functionality instead of manual file operations.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-11-24 01:00:31 +08:00
yiliang114
4dfbdcddca
feat(vscode-ide-companion): 增强工具调用与输入表单组件功能
...
- 新增 InProgressToolCall 组件用于展示进行中的工具调用状态
- 重构 InputForm 为独立组件,提升代码可维护性
- 改进 tool_call_update 处理逻辑,支持创建缺失的初始工具调用
- 添加思考块(thought chunk)日志以便调试 AI 思维过程
- 更新样式以支持新的进行中工具调用卡片显示
- 在权限请求时自动创建对应的工具调用记录
```
2025-11-23 22:28:11 +08:00
yiliang114
826516581b
feat(vscode-ide-companion): send initial active editor state to WebView on initialization
...
- Send activeEditorChanged message with initial editor state when WebView is created
- Include fileName, filePath, and selection info if available
- Applied in both side panel and editor panel initialization
This ensures the WebView displays the current file context immediately on load.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-11-23 21:45:44 +08:00
yiliang114
4f964b5281
refactor(vscode-ide-companion): extract AssistantMessage as standalone component with Claude Code styles
...
- Extract AssistantMessage component from inline implementation
- Add status prop support (default, success, error, warning, loading)
- Implement bullet point indicator using CSS pseudo-elements (::before)
- Use inline styles for layout to prevent Tailwind override
- Add AssistantMessage.css with pseudo-element styles for different states
- Import AssistantMessage.css in ClaudeCodeStyles.css
Restores Claude Code DOM structure and styling:
- Outer container with padding-left: 30px for bullet spacing
- Bullet point colors based on status (green, red, yellow, gray)
- Loading state with pulse animation
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-11-23 21:44:40 +08:00
yiliang114
de8ea0678d
feat(vscode-ide-companion): refactor message components with modular architecture
...
Refactor UI message rendering by extracting message types into dedicated components. Add ChatHeader component for better session management interface.
- Extract message components: UserMessage, AssistantMessage, ThinkingMessage, StreamingMessage, WaitingMessage
- Add ChatHeader component with session selector and action buttons
- Delete MessageContent.css and consolidate styles into App.scss
- Update Tailwind config for component styling
- Improve message rendering with proper TypeScript typing
2025-11-23 20:56:15 +08:00
yiliang114
c4bcd178a4
feat(vscode-ide-companion): implement manual login via /login command
...
BREAKING CHANGE: Login is no longer automatic when opening webview
Changes:
- Remove auto-login on webview open and restore
- Add /login slash command for manual authentication
- Add VSCode progress notification during login process
- Add warning notification when user tries to chat without login
- Implement pending message auto-retry after successful login
- Add NotLoggedInMessage component (for future use)
- Improve InfoBanner close button styling consistency
User flow:
1. Open webview - no automatic login
2. Type /login or select from completion menu to login
3. Show "Logging in to Qwen Code..." progress notification
4. After login, show success message and auto-retry pending messages
5. If user tries to chat without login, show warning with "Login Now" button
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-11-23 19:20:01 +08:00
yiliang114
e5729b0420
Merge branch 'feat/jinjing/implement-ui-from-cc-vscode-extension' of https://github.com/yiliang114/qwen-code into feat/jinjing/implement-ui-from-cc-vscode-extension
2025-11-23 18:37:00 +08:00
yiliang114
aceb857436
refactor(vscode-ide-companion): extract InfoBanner as standalone component
...
Move info banner UI from App.tsx to dedicated component with open settings functionality.
2025-11-23 18:11:47 +08:00
yiliang114
e15dd2f5c9
refactor(vscode-ide-companion): extract InfoBanner as standalone component
...
Move info banner UI from App.tsx to dedicated component with open settings functionality.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-11-23 18:09:43 +08:00
yiliang114
8ac38aad92
chore(vscode-ide-companion): tailwind base
2025-11-23 17:33:10 +08:00
yiliang114
38fd303b07
docs(vscode-ide-companion): add Tailwind CSS integration guides
...
添加 Tailwind CSS 渐进式集成文档,包括:
- 渐进式采用策略文档
- 集成计划文档
- 渐进式集成指南
2025-11-23 16:41:22 +08:00
yiliang114
9899d872a2
feat(vscode-ide-companion): add Tailwind CSS demo components
...
添加 Tailwind CSS 示例组件和重构的 PermissionDrawer:
- TailwindDemo: 展示 Tailwind CSS 基础用法
- PermissionDrawer.tailwind: 使用 Tailwind CSS 重构的权限抽屉组件
2025-11-23 16:41:09 +08:00
yiliang114
36a96a7b5c
feat(vscode-ide-companion): add shadcn/ui components and utilities
...
添加 shadcn/ui 基础组件库和 cn 工具函数,包括:
- Button 按钮组件
- Dialog 对话框组件
- cn 类名合并工具函数
2025-11-23 16:40:55 +08:00
yiliang114
951f6b2829
feat(vscode-ide-companion): add global Tailwind CSS styles
...
添加全局 Tailwind CSS 样式文件,包含基础层、组件层和工具层
2025-11-23 16:40:42 +08:00
yiliang114
eff01819a8
build(vscode-ide-companion): add Tailwind CSS configuration
...
添加 Tailwind CSS、PostCSS 和 Autoprefixer 配置,为渐进式采用 Tailwind CSS 做准备
2025-11-23 16:40:30 +08:00
yiliang114
31f8ca07b6
chore: remove root package-lock.json
...
移除根目录的 package-lock.json 文件,采用各子包独立管理依赖的策略
2025-11-23 16:40:17 +08:00
yiliang114
39adaaff11
refactor(vscode-ide-companion): minor adjustments to SaveSessionDialog and SessionManager components
2025-11-23 15:17:40 +08:00
yiliang114
fd2e5b0933
feat(vscode-ide-companion): improve PermissionDrawer UI with enhanced styling and responsiveness
2025-11-23 15:17:17 +08:00
yiliang114
49a2be195d
chore: add .claude/ to gitignore
2025-11-23 15:17:05 +08:00
yiliang114
ce07fb2b3f
feat(session): 实现会话保存和加载功能
...
- 在 AcpConnection 和 AcpSessionManager 中添加会话保存方法
- 在 QwenAgentManager 中实现通过 ACP 和直接保存会话的功能
- 在前端添加保存会话对话框和相关交互逻辑
- 新增 QwenSessionManager 用于直接操作文件系统保存和加载会话
2025-11-21 23:51:48 +08:00
yiliang114
e2beecb9c4
feat(vscode-ide-companion): 更新核心服务和扩展功能
...
- 增强 extension.ts,集成新增功能
- 优化 ide-server.ts,改进服务端逻辑
- 更新 diff-manager.ts,提升差异管理能力
- 改进 ACP 连接和消息处理
- 更新会话处理器,支持新的交互模式
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-11-21 01:54:24 +08:00
yiliang114
ecc6e22002
feat(vscode-ide-companion): 更新 UI 样式
...
- 重构 PlanDisplay 组件和样式
- 更新 PermissionRequest 组件逻辑
- 增强 PermissionDrawer 样式,提升视觉体验
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-11-21 01:54:03 +08:00
yiliang114
99f93b457c
feat(vscode-ide-companion): 更新主应用界面和消息处理
...
- 重构 App.tsx,集成新增的 UI 组件
- 增强 MessageHandler,支持更多消息类型处理
- 优化 FileOperations,改进文件操作逻辑
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-11-21 01:53:46 +08:00
yiliang114
748ad8f4dd
refactor(vscode-ide-companion): 重构工具调用组件
...
- 重构 ExecuteToolCall、GenericToolCall、ReadToolCall 等组件
- 统一工具调用组件的展示样式和交互逻辑
- 优化代码结构,提高可维护性
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-11-21 01:53:25 +08:00
yiliang114
a33187ed7a
feat(vscode-ide-companion): 新增时间线组件
...
- 新增 Timeline 组件用于显示会话历史
- 支持展示消息、工具调用等事件
- 提供清晰的时间轴视图
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-11-21 01:53:05 +08:00
yiliang114
088c766c22
feat(vscode-ide-companion): 新增自动完成功能
...
- 新增 CompletionMenu 组件支持 @ 和 / 触发补全
- 新增 useCompletionTrigger hook 处理补全触发逻辑
- 支持实时查询和过滤补全项
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-11-21 01:52:47 +08:00
yiliang114
b82ef5b73f
feat(vscode-ide-companion): 新增上下文附件管理功能
...
- 新增 ContextAttachmentManager 管理上下文附件
- 新增 ContextPills 组件用于显示上下文标签
- 支持文件、符号、选区等多种上下文类型
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-11-21 01:52:29 +08:00
yiliang114
328924f578
feat(vscode-ide-companion): 新增 DiffDisplay 组件和 diff 统计工具
...
- 增强 DiffDisplay 组件,支持更丰富的差异展示
- 新增 diffStats.ts 工具,提供差异统计功能
- 新增样式文件 DiffDisplay.css
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-11-21 01:52:10 +08:00
yiliang114
1eedd36542
feat(vscode-ide-companion): 新增共享 UI 组件 FileLink
...
- 新增 FileLink 组件用于显示文件链接
- 更新 LayoutComponents 增加通用布局组件
- 新增 utils.ts 提供工具函数
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-11-21 01:51:50 +08:00
yiliang114
9ba99177b9
refactor(vscode-ide-companion): 重构主动完成和会话管理
...
- 移除了 QwenAgentManager 中的冗余类型导出
- 优化了 App 组件中的会话管理和标题更新逻辑
- 改进了消息输入框的中文输入法支持
- 调整了活动文件指示器的样式
2025-11-20 23:50:41 +08:00
yiliang114
7d2411e72f
feat(vscode-ide-companion): 优化 Qwen Code 聊天窗口创建逻辑
...
- 修改 createPanel 方法返回值类型,使其支持异步操作
- 实现聚焦当前激活编辑器的功能
- 优化多窗口创建逻辑,允许在已有 Qwen Code 窗口旁边创建新窗口
- 移除自动锁定编辑器组的功能,以支持多个 Qwen Code 标签页
- 在 UI 中添加聚焦当前文件的按钮
2025-11-20 23:41:41 +08:00
yiliang114
5a9f5e3432
fix(vscode-ide-companion): 修复新建会话按钮,在同一 view column 创建新 tab
...
问题:
- 之前的实现会复用现有 panel 并清空当前会话
- 期望行为是在同一 view column(不创建分屏)中创建新的 VS Code tab
解决方案:
1. 修改 qwenCode.openNewChatTab 命令
- 总是创建新的 WebviewProvider 和 WebviewPanel
- PanelManager 的 findExistingQwenCodeViewColumn() 确保在同一 column 打开
2. 修改 MessageHandler 中的 openNewChatTab 处理
- 调用 VS Code 命令创建新 panel/tab
3. 移除不再需要的 createNewSession 方法
效果:
- 点击新建会话按钮会在同一 view column 中创建新的 VS Code tab
- 类似 Claude Code 的交互方式
- 不会创建新的分屏
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-11-20 23:14:40 +08:00
yiliang114
95b67bbebd
fix(vscode-ide-companion): 修复新建会话按钮创建新分屏的问题
...
问题:
- 点击新建会话按钮时,会在 VS Code 中创建一个新的 webview panel(分屏)
- 期望行为是在同一个 panel 内创建新会话,类似 Claude Code 的交互方式
解决方案:
1. 修改 extension.ts 中的 openNewChatTab 命令
- 检查是否已有 webview panel 打开
- 如果有,则在现有 panel 中创建新会话
- 如果没有,才创建新 panel
2. 在 WebViewProvider 中添加 createNewSession 方法
- 通过 agentManager 创建新会话
- 清空当前对话 UI
3. 修改 MessageHandler 中的 openNewChatTab 处理
- 直接调用 handleNewQwenSession 创建新会话
- 不再执行 VS Code 命令创建新 panel
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-11-20 23:07:56 +08:00
yiliang114
492c56a780
test(vscode-ide-companion): registerWebviewPanelSerializer 添加 mock 实现
2025-11-20 14:31:20 +08:00
yiliang114
06a8580361
refactor(vscode-ide-companion): 重构 WebViewProvider 组件
2025-11-20 11:37:28 +08:00
yiliang114
dcc10eb0a9
fix(vscode-ide-companion): 重构 useVSCode hook 实现, 解决 webview 中 vscode api 重复声明
2025-11-20 11:07:09 +08:00
yiliang114
805e5f92c1
docs(readme): 添加 VS Code 扩展相关信息
...
- 在主 README 中添加 VS Code 扩展部分,介绍扩展的功能和用途
- 更新 VS Code 扩展的 README,详细说明调试和开发指南
- 优化扩展开发流程说明,提供两种调试选项
2025-11-20 10:41:23 +08:00
yiliang114
8cb7ea0d3d
Merge branch 'main' of https://github.com/QwenLM/qwen-code into feat/jinjing/implement-ui-from-cc-vscode-extension
2025-11-20 10:06:14 +08:00
yiliang114
b534bd2b18
chore: rm wip doc
2025-11-20 10:05:47 +08:00
yiliang114
6286b8b6e8
feat(vscode-ide-companion): 增加代码编辑功能和文件操作支持
...
- 实现了与 Claude Code 类似的代码编辑功能
- 添加了文件打开、保存等操作的支持
- 优化了消息显示,增加了代码高亮和文件路径点击功能
- 改进了用户界面,增加了编辑模式切换和思考模式功能
2025-11-20 01:04:11 +08:00
yiliang114
e81255e589
feat(vscode-ide-companion): 优化权限请求组件并添加错误处理功能
...
- 移动权限请求组件到抽屉中,优化用户体验
- 为权限选项添加编号,提高可识别性
- 实现错误对象的特殊处理,提取更有意义的错误信息
- 优化工具调用错误内容的展示,提高错误信息的可读性
2025-11-20 00:01:18 +08:00
yiliang114
018990b7f6
build(vscode-ide-companion): 添加 SCSS 支持
...
- 在 esbuild.js 中添加 SCSS 文件处理逻辑
- 在 package.json 中添加 sass 依赖
- 新增代码使用 sass 编译 SCSS 文件,并将其注入到页面中
2025-11-19 23:34:05 +08:00
yiliang114
bc2b503e8d
test(vscode-ide-companion): 尝试通过 session/load 旧会话
...
- 修改了 WebViewProvider 中的逻辑,先尝试通过 ACP 加载旧会话
- 如果加载失败,则创建新会话作为回退方案
- 在 AcpConnection 中添加了初始化响应的日志输出
- 在 QwenAgentManager 中添加了新的 loadSessionViaAcp 方法,用于测试 ACP 的 session/load 功能
2025-11-19 17:08:25 +08:00
yiliang114
454cbfdde4
refactor(webview): 重构工具调用显示逻辑
...
- 新增多个工具调用组件,分别处理不同类型的工具调用
- 优化工具调用卡片的样式和布局
- 添加加载状态和随机加载消息
- 重构 App 组件,支持新的工具调用显示逻辑
2025-11-19 15:42:35 +08:00
yiliang114
04dfad7ab5
docs(implementation): 更新实现总结文档
2025-11-19 13:50:52 +08:00
tanzhenxin
97bf48b14c
fix: skip problematic integration test ( #1065 )
v0.2.2
2025-11-19 11:55:19 +08:00
Mingholy
d0e76c76a8
refactor(auth): save authType after successfully authenticated ( #1036 )
2025-11-19 11:21:46 +08:00
yiliang114
e02866d06f
refactor(vscode-ide-companion): 重构代码并更新文件命名
...
- 更新文件命名规则,使用小写字母和下划线
- 修复部分代码导入路径
- 删除未使用的 WEBVIEW_PIN_FEATURE.md 文件
2025-11-19 10:40:16 +08:00
tanzhenxin
3ed93d5b5d
fix: integration tests ( #1062 )
2025-11-19 10:23:16 +08:00