The vsce package was causing ESM module resolution errors when building
locally due to a dependency cycle between ansi-regex (ESM-only in v6)
and strip-ansi (CommonJS) pulled in by @textlint/linter-formatter.
CI already installs vsce globally before packaging, so this change
aligns local builds with CI behavior. Developers should install vsce
globally: npm install -g @vscode/vsce
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
- Update all packages from 0.13.x to 0.14.0
- Update sandbox image URI to 0.14.0
This prepares the 0.14.0 release with updated version numbers
across all workspace packages.
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
Flip the context key logic from negative (`doesNotSupportSecondarySidebar`) to
positive (`supportsSecondarySidebar`) so that the secondary sidebar container is
only declared when the VS Code version is known to support it. This prevents the
"container 'qwen-code-secondary' does not exist" warning on older versions and
avoids accidentally relocating other extensions' views to the Explorer container.
Closes#2432Closes#2416
Made-with: Cursor
Adopt Claude Code's approach for webview view registration:
- Use mutual-exclusive sidebar/secondary sidebar with `when` conditions
- Detect secondary sidebar support via VS Code version >= 1.106
- Share single ChatWebviewViewProvider instance across both view IDs
- Only set context key when secondary sidebar is NOT supported
- Pass supportsSecondarySidebar as closure variable to commands
Additional fixes:
- Fix WebViewContent.generate() to accept both Webview and WebviewPanel
- Fix permission handler leak (cancel old promise before new)
- Fix double diff command execution in resolve callback
- Add initializationPromise dedup for auth-restore races
- Add attachToView() for sidebar/secondary sidebar hosting
- Add missing AskUserQuestionResponseMessage import
Co-authored-by: buaoyezz <buaoyezz@users.noreply.github.com>
- Use consistent kebab-case prefix 'qwen-code.' for all view IDs
- Update package.json views and viewsContainers to match new naming
- Add fine-grained activationEvents for views and commands
- Add test verifying all three view positions are registered correctly
This ensures consistent naming across commands, views, and containers.
- Add extractSessionListItems() utility for robust ACP response parsing
- Refactor getSessionList() and getSessionListPaged() to use the new utility
- Add openNewChatTabCommand to create new session when opening chat tab
- Add comprehensive test coverage for session list extraction
Co-authored-by: ZZAoYe <zzbuaoye@gmail.com>
All chat positions (sidebar, editor tab, panel, secondary sidebar) are now
available simultaneously. Remove the old chat.location configuration and
setChatLocation commands. Add focusChat, newConversation, and showLogs commands.
Refactor ChatWebviewViewProvider to use lazy factory pattern and move webview
files into providers/ subdirectory.
Add JSON Schema generation for settings.json files to provide IntelliSense
and validation support in VS Code. The schema is automatically generated
from the internal SETTINGS_SCHEMA definition during the build process.
- Add generate-settings-schema.ts script to convert TypeScript schema to JSON Schema
- Add jsonValidation contribution to vscode-ide-companion package.json
- Include schemas directory in .vscodeignore for packaging
- Integrate schema generation into build process
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
- Remove duplicate webui build in vscode-ide-companion (fixes double build)
- Fix misleading [watch] log messages in esbuild.js (only show in watch mode)
- Update vite-plugin-dts to ^4.5.4 for TypeScript 5.8+ support
- Update baseline-browser-mapping to ^2.9.19 to silence outdated data warnings
- Fix vitest config to use @qwen-code/qwen-code-core instead of old gemini-cli-core
- Add resolve.alias in cli vitest.config.ts for source-based testing
- Add npm run dev script for running from TypeScript source without build
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>